Bookmarks
Download: Latest version (Sisense v7.0+), legacy version (Sisense v6)
Introduction
This article explains how to create filter bookmarks using Sisense.
Purpose/Benefits
It is easy for dashboard users to add/update filters on a given dashboard, but an end user may want to save a collection of filters for reuse. This plugin adds in an option for creating these collections of filters as bookmarks.
Steps
The following steps will walk through the process of adding the plugin and creating a custom filter.
Step 1 - Add the Plugin
Download the attachment and unzip the contents into your C:\Program Files\Sisense\PrismWeb\plugins\ folder. If you are using version 7.2 and higher unzip the contents into your C:\Program Files\Sisense\app\plugins\ folder. If the plugins folder doesn't exist, just create it. After those files have been unzipped there, you may also have to restart the web server.
Step 2 - Create the Bookmark
On your dashboard, click on either the FILTER label or on the filter menu icon to access the Bookmarks popup.
Using this popup, end users can create bookmarks based on the current filter selections.
Important
The bookmarks created using this plugin are stored within each dashboard, so if the dashboard owner creates a bookmark and shares/republishes the dashboard, all recipients of the dashboard will have access to these bookmarks. Users that have access to the dashboard (but are not the owner) can also create bookmarks, but these will be private to the user.
Since the bookmarks are saved as part of a dashboard, if a dashboard owner republishes a dashboard it will overwrite any bookmarks that were set by the dashboard viewer. This works the same way as normal dashboard sharing, where end users can change a dashboard but the dashboard owner can override these changes.
Notes
- All formatting/styling is handled through CSS, so if you want to customize it just modify the file bookmarks.css
- The HTML generated for the popup menu is defined in bookmarkTemplate.html
- UPDATED March 29, 2017 - Fixed an issue with placeholder text overlapping
-
This is a great feature. However, the inability to persist user bookmarks as a dashboard is versioned is a show stopper. I found that if I export the dashboard, the local owner's bookmarks are contained in the .dash file. Is there a way to get all users' bookmarks extracted? If so, i can figure out a way to merge the bookmarks into the next version of the dashboard.
-
In principle it is a great feature, but I agree with Jim that the overwriting of user bookmarks on republishing really impacts the usefulness of the plugin. In addition, it would be great if a bookmark could traverse dashboards in order to effectively synchronize multiple dashboards.
-
Hi Oleg,
Would it be possible to add persistence support or provide some kind of workaround for users to somehow be able to recuperate them more easily than having to recreate them?
Our customers like this feature, but one of our very large customers has just filed a complaint on this particular behavior. I'm sure you can see how adding persistence after republish would significantly enhance the value of this plugin.
Thanks!
-
Coincidentally I ran into the persistence issue today as I was releasing new versions of dashboards. I falsely assumed that export would include all bookmarks and I could merge those into the new dashboard .dash file and import. Unfortunately I was reminded by my own comment above that this works only for the owner's bookmarks.
We have 120 customers using 15 dashboards and as things stand I have no way to know how many bookmarks have been created, much less a way to persist them. If export includes the owner's bookmarks, can't it be expanded to extract all user's bookmarks? Or can an API be created to export all bookmarks?
Since republish deletes bookmarks, there is nothing I can do to persist the customer bookmarks. My only choices are a) remove the feature or b) explain to our customers that they can use the feature but their bookmarks will get deleted each time the dashboard is published (editing the dashboard; sharing with a new group or user; etc).
-
Eric, Jim,
Whenever a dashboard bookmark is created it adds a bookmark to the "bookmarks" property in the dashboard document in MongoDB:The temporary solution we may suggest would be to create and run a MongoDB script every time before republishing to save dashboards' bookmarks, then republish the dashboard (this will override or remove user's bookmarks) and then add bookmarks back for each dashboard. -
Hi Oleg,
Thanks for the feedback! Can you help understand what you mean by temporary solution? Do you intend to enhance the persistence at the plugin level and you're suggesting that until that is finished, we write a script to manage this? I'm wondering, would this type of script be better as packaged into the plugin somehow so that multiple customers can use it, even if it is a temporary measure? Thanks!
-
I had no MongoDB experience until late last week. I managed to write a query that extracts all the dashboard bookmark data: dashboard title; user ID; bookmark name; filter criteria. Separately I am able to query the users collection to get userName (I haven't figured out how to do a join yet). This does give me the scope of the bookmarks in use in our application. At a minimum I am now able to predict the impact of republishing a dashboard.
Adding bookmarks back for each dashboard after republishing looks to be a much more complex task. Sisense appears to create images of each dashboard for each user. The user's bookmarks are specific to their instance of the dashboard (or so it seems). It's not just a matter of adding the bookmarks back for each dashboard. You'd have to add them back for the user's instance of the dashboard. Much more testing required to better understand how this works.
-
Hey Jim and Eric,
I've put together an updated version of this plugin that saves the bookmarks separate from the dashboards. Can you try this version and let us know if it works for you? Aside from saving the bookmarks separately, it should be functionally equivalent to the original plugin.
-
Thank your for taking the time to work on this. Unfortunately my first test didn't work too well. i saved a bookmark but when I return to the bookmark list, it is nowhere to be found. I get a popup that encourages me to enter a new bookmark name and does not give me the list of bookmarks I saved. Also, I notice the concept of public vs private. I assume this is by user (public = all users; private = user who created the bookmark). Our implementation of Sisense is multi-tenant. Public implies cross customer in our case which is not something we'd ever want a user to be able to do. Finally, as you work thru this please consider the use case of versioning a dashboard. We develop a dashboard for a release and export the .dash file for installing in production. The old version is deleted (or unshared) and a new version is created via import. Thus a new dashboard with a new OID is created without any reference to the previous version. Would your solution won't persist the bookmarks in this case? Thanks again for taking the time to work on this.
-
Hey Jim,
I should have clarified, the new beta version of this plugin requires Sisense version 6.5+. Let us know how it goes, when testing on version 6.6. Regarding public/private, you are correct that this logic is applied per user but could be modified to work by user-group instead.
thanks!
-
JJ I ended up updating the plugin myself to get the desired look.
In bookmarkTemplate.html
Add this to the top of the file:
<header><linkrel="stylesheet"href="https://use.fontawesome.com/releases/v5.3.1/css/all.css"integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU"crossorigin="anonymous"></header>(you can get a different delete icon from somewhere else if you choose, this is just what I picked)Then replace line 63:<div class="action-icon"></div>with:<i class="far fa-trash-alt"></i>I did some other things to rearrange and get the popup window to look right for me, but if you don't have that problem then the above mentioned changes are all you would need. -
Thanks Kara! I ended up using your solution, but I think some of the spacing was removed when you pasted in the tags. Here's what I ended up using in Sisense V 7.10:
<head>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.1/css/all.css" integrity="sha384-5sAR7xN1Nv6T6+dT2mhtzEpVJvfS3NScPQTrOxhwjIuvcA67KV2R5Jz6kr4abQsz" crossorigin="anonymous">
</head>Replaced other icon reference with:
<i class="fas fa-trash-alt"></i>
-
We decided to remove the option to create public bookmarks by hiding the public/private buttons, which you can do by editing the bookmarktemplate.html file and editing this line to include the additional display setting:
<div class="ux-rbx-list" style="width: 250px;float: left;height: 40px;line-height: 40px;display:none">
-
Hey folks,
When trying to add this plugin in 7.1, I get the following error when trying to create a new bookmark. I don't have to type anything. Similar error to Jim's.
Does anyone know how to resolve this? I replaced the legacy version of the plugin. I'm wondering if the old version of the plugin created artifacts the new version doesn't like?
I tried renaming the plugin to bookmarksNew, and the message went away, but all I get is a save button (no private/public option) and nothing happens when I click it.
-
I'm not sure exactly what the circumstance is, but sometimes when I apply a saved filter it will filter my widgets, but a widget may require that I refresh the widget for me to be able to interact with it. Has anyone else had that issue?
Also, is there a way to conditionally allow only admins to save public filters and everyone else can only do public?
Please sign in to leave a comment.
Comments
34 comments