Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member193885
Contributor

Design Studio 1.3 has a new features for creating application Bookmarks and Personalization.  Bookmarks are a saved navigation state of a Design Studio Application, similar to "Scenarios" in Dashboards Designer (Scenarios are local to the user PC, bookmark information is stored on the BI Platform).  Bookmark and Personalization functionality has been available in SAP BW BEx Web users since BW 3.X days.

Bookmarks can be used in the following scenarios:

  1. Save the Design Studio Application with the Current Filter settings for future access. You can save the Bookmark to the BI Platform and also to the browser favorites.
  2. Share the current Design Studio Application state with other users via URL

Saving Bookmarks:

You can use the command Bookmark.saveBookmark();  to save a Bookmark for the application, this command accepts a title as input.  You can use a text box for users to input text for saving it with some meaningful names for the bookmarks, default Bookmark title is the application name.

You could do Bookmark.saveBookmark(BOOKMARKTXT.getValue());  BOOKMARKTXT is the Input field in DS.


When a Bookmark gets created locally it stores the bookmark information in the folder C:\Users\<userid>\Analysis-workspace\com.sap.ip.bi.zen\repository\__TECHNICAL_CONTENT\BOOKMARK

There are 3 types of files which gets created while creating a Bookmark:

  1. Relations file:  One per DS Application, this file has all the Bookmark ID stored in it.
  2. Properties file: One per Bookmark with Bookmark ID as the file name
  3. BIBOK File: One per Bookmark with Bookmark ID as the file name, this is the file which has all the navigation state information.  The file is in XML format and is very similar to the Bookmark Information stored in RSWRDATA tables in BW system for BW BEx web bookmarks.  Sample XML file below with the bookmark information.

Accessing Bookmarks:

You can view all the Bookmarks available for an Application by using Bookmark.getAllBookmarks(); Command.

Using the new Array function you could load all the Bookmarks to a dropdown box on the start up event of the application. In the example below BOOKMARK_DD is the Dropdown box with the list of Bookmarks.

Bookmark.loadBookmark(BOOKMARK_DD.getSelectedValue());

var array = Bookmark.getAllBookmarks();

array.forEach(function(element, index)

{ BOOKMARK_DD.addItem(element.name, element.text);

});

This will add all the bookmarks for the existing application to the Dropdown box, you can add a command to the On Change Event of the dropdown to load the selected the Bookmark.

Bookmark.loadBookmark(BOOKMARK_DD.getSelectedValue());

To Populate the newly created Bookmark ID to the Dropdown box after saving we need to add the same code above to the On Background Processing event also. If you don't add it then the Dropdown box will be empty after loading the Bookmark.


If DS supported full JavaScript functionality we could enhance the Bookmark functionality more (I guess their could be other benefits too if there was full JS support... topic for another conversation).  Examples: Share Bookmark URL via mail client using HTML mailto command, Validate user title while saving Bookmark URL.

You could also look at possibly extending Bookmark functionality by leveraging the BI Platform SDK to add the Bookmark URL to user favorites on the BI Platform. I have not explored this option yet.

See screenshot below how the bookmark solution in a real Design Studio Application, users have the option to Save the bookmark with a title and also load the Bookmark by selecting from the Dropdown.



Personalization:


Personalization provides the option for users to Personalize the application with a default view. For example if you want to hide certain components, select certain filter values etc. as the default view everytime you run the application you could do this using the Personalize command.  Users should be trained well on how to use Personalization functionality or they could end up with the wrong or impartial data set views if they personalize with certain filter criteria.

The following methods can be used to Set and Delete Personalization:

State.setPersonalization().

State.deletePersonalization().

Happy Bookmarking!

10 Comments
Labels in this area