Managed Dashboards Panel
Download: Managed Dashboards Panel
Introduction:
Customers create dashboards and sharing them with other. Sometimes, there are a lot of dashboards in the dashboard panel which can cause a mess and confuse them.
For that, we created the plugin called 'managed Dashboards' which divides the dashboards panel into 2 tabs - All and Offical.
The 'All' tab shows all the user's dashboards including - shared dashboards, own dashboards, own folders, etc.
The Official tab is showing pre-defined dashboards/folders which already exists in the All tab and categorise them by also pre-defined titles.
This is meant to separate the user's private dashboards/folders from the shared ones and basically, lets the Administrators share dashboards and order them for all users in the same way.
Implementation:
- Extract the .rar file into "C:\[Sisense path]\PrismWeb\Plugins". If you are using version 7.2 and higher unzip the contents into your C:\Program Files\Sisense\app\plugins\ folder.
- Configure the 'factory.js' file according to the 'Configuration' section
- Refresh Sisense Web Page
- Enjoy your new dashboard panel.
Configuration:
Navigate to the manage Dashboards plugin folder into the Plugins folder and open the 'factory.js' file.
This file is responsible for what folders or dashboards are going to be shown in the 'Official' tab.
There are 2 configuration objects you need to set:
- window.nvFactory.nvTabberData
2.window.nvFactory.nvTabberDefaults
The first object is where you need to set the dashboards/folders/Headers/separators ordered as you want.
You have 4 options:
1. Header - plain header text.
2. Separator - separating line.
3. Folder - Existing folder, matched by name and owner.
- The *owner is optional, and when is not provided, the first folder to match the name will be supplied.
- Text matching is case-insensitive.
4. Dashboard - ** Root folder dashboard, matched by name and owner.
- The *owner is optional, and when is not provided, the first dashboard to match the name will be supplied.
- Text matching is case-insensitive.
* Each folder/dashboard has its owner, and while there can be several dashboards/folders with the same name - if you want a specific folder/dashboard you have to provide the owner so it'll know what to take. if no owner is provided, then, the first match will be taken
** Root folder dashboards refer to dashboards outside of a folder - all folders/dashboards are under the root folder.
For example:
window.nvFactory.nvTabberData = [
{ type: 'header', caption: 'sales dept.' },
{ type: 'separator'},
{ type: 'folder', name: 'Mobiles', owner: 'admin@sisense.com'},
{ type: 'dashboard', name: 'sample - ecommerce', owner: 'admin@sisense.com' }
];
When you decide to show a specific folder in the official tab, notice that all dashboards under that folder will be shown.
The second object is where you need to set the default tab and aliasing the tab names.
you have 2 objects to set:
- defaultTab - accept the words 'official' or 'all' (lower case) and determine what tab to open on load by default.
- names - contains 2 properties called 'all' and 'official'. Each of them accepts any text you want to be displayed in the tab
For example:
window.nvFactory.nvTabberDefaults = {
defaultTab: 'official',
names: {
all: 'all my dash',
official: 'else'
}
};
Note that all users should see the same folders/dashboards that are set in the configuration BUT in case something is set in the configuration and the dashboard/folder is not shared with him, he won't see it (only headers and separators are visible to all)
Examples:
For the following configuration:
The Dashboards panel will look as followed:
All panel:
Official panel:
**Updates:
18/05/17 - folder icons has been added to the official tab.
Enjoy!
-
Hi Lidor,
trying to set this up and I can't make it work. Edited factory.js as per instructions and I can't still see tabs at all. Interesting thing is that there are no errors in browser console, so I can't really troubleshoot this properly. Should I setup ALL dashboards there are, even the ones that are not shared with me, or can I skip some in factory.js config? Thanks in advance!
Regards,
Michał
-
This is great. Much easier to managed user view to important dashboards from an admin level.
2 Feature Requests:
1. Would be great if the Header could be collapsed/expanded. This would make viewing even easier.
2. Allowing addition of dashboards within a folder without exposing the whole folder would also allow for more detailed organisation.
Thanks!
John.
-
Good morning,
I am having the same issues as Shashank and Michael. I have loaded it, enabled, reset IIS, refreshed but nothing has changed. My file is super simple, just trying to get it to work.
window.nvFactory = {};
window.nvFactory.nvTabberData = [
{ type: 'header', caption: 'Executive' },
{ type: 'separator'},
{ type: 'dashboard', name: 'Executive Dashboard' },
{ type: 'header', caption: 'Sales' },
{ type: 'separator'},
{ type: 'dashboard', name: 'Pipe' },
{ type: 'dashboard', name: 'Pipe by AE' },
{ type: 'dashboard', name: 'Close Won' },
{ type: 'dashboard', name: 'Close Lost' },{ type: 'header', caption: 'Marketing' },
{ type: 'separator'},
{ type: 'dashboard', name: 'Marketing Dashboard' },{ type: 'separator'}
];window.nvFactory.nvTabberDefaults = {
defaultTab: 'official', // value can be: 'official' or 'all'
names: {
all: 'all', // name the 'all' tab to something else.
official: 'official' // name the 'official tab to something else.
}
};Thoughts?
-
Has anyone been able to figure out the issue Jason Mckibbin?
I have the same issue and it's really frustrating that there is no way to get good answers to these issues.
I have boiled it down to just a header and separator and can't even see the tabs at the top labeled "ALL" or "OFFICIAL" and there are no errors in the console.
-
I talked to Sisense about this plugin. They quoted me an absurd price to make it an officially supported plugin, so we opted not to pay a gazillion dollars to do that (plus thousands for each release to update), but during the process they reached out to the guy that built it and it became an interesting story.
Apparently this plugin was developed for an internal project and it was never supposed to have been put on the plugins list. The developer's e-mail was forwarded to me and he commented that he was surprised to see it on the list. It is not supported (of course) and is no longer compatible with Sisense as of 8.???.
They did send me a code snippet that they said would patch it, but my problem with this approach is that it will eventually break, and in an organization like mine with a majority of non-technically savvy users, they will have to re-learn how to navigate the application when it does. This is just a bad experience and a recipe for a negative opinion all around.My recommendation, develop a willingness to spend the equivalent of a new car annually for a single plugin, or abandon all hope that use of this plugin is an option. We've chosen to do the latter.
If you're feeling adventurous, you can follow their instructions, which are to comment out (or delete) lines 10-12 in the logic.js file. I haven't tried it, but feel free to give it a go.
-
Hi All,
We at QBeeQ, official Sisense partner, have vast experience with Sisense plugins such as this one, as well as a variety of our own.
We will be able to resolve the issue on this plugin, or reconstruct it so it accommodates V8 and above.
Feel free to reach out to further discuss, our prices are substantially less than the "equivalent of a new car annually" :)
-
Hi Everyone,
(Adam Bender , Rathinakumar Ponnusamy , Danilo Soto , Sam Nicholls )
This is an urgent plugin for many members of the community. We've decided to help.
We've reviewed the plugin and you can download a revised version of it that would be more stable then the original one and that was tested on Sisense 7.4.4-8.2
NOTE: Linux versions will not work at all, this plugin needs to be re-developed to be working in the Linux distribution.
Here are our notes on the code:
- The plugin's overrall state is fairly stable. It might break in the future but its core functionality would probable stay intact so fixes won't require too much effort (this not true to MANY plugins that are offered in the community)
- The code that was suggested to Adam was sufficient to get it back to work
- Other then that, we've found another bug: nested dashboards & folders didn't work. We've fixed that bug
- In out personal opinion, it is also lacking some styling options that should come out of the box but its fairly safe (and easy) to change the css styling in the code itself.
Our Suggested Approach
- We've seen this happens many times with community plugins in the past so to set things clear - any customization that you apply in your instance will require some level of support in future versions.
- Plugin that are "properly" written by JS developers (preferably with Angular exprience) can be easilly be written to be stable enough and to properly work between different Sisense versions. Starting from V7.4, Sisense had started to take backword comaptabilty of customizations much more seriously and plugins that were properly using hte JS API should not break. To this day, none of the plugins that we've developed starting from Sisense 7.4 did not require any changes when upgrading (including v8.0, v8.1 v8.2)
- If you are using Sisense for internal purposes, then I believe that using this e free community is your best alternative as even if this plugin would break, somebody would eventaully fix it.
- If you are an OEM so your dashboards are a commercial product that you delegate to your users then we would receommend to get a quote from a Sisense partner to develop the specific requirement that you need and to quote a yearly fee to officially support it. That way, your desired plugin will be optimized to match your specific use case.
- For example, we had an inquery in the past for a similar requirement and we were presetned with this plugin as an example of what they wish to achieve.
After exploring their business needs(an up-sale tool to increase their other dashboard's expusre) we've eventually decided to utlize a custom home page that acts as their main navigation where users can see all of the avaiable dashboards in a secure way (even though they don't have permissions to do so). When a user clicks on a dashboard that he doesn't have access to - a massage is shown to the user asking him if he would like to get access to that dashboard and if he does then it autoamtically sends and email to the dashboard owner (this project costs were $10k and yearly support was $4,000 starting the second year)
Feel free to reach out if you need any further assistance
-
Appreciate the help Ravid Paldi !
Please sign in to leave a comment.
Comments
20 comments