Skip to Content

Bookmark stuck in loop while we execute it on BI platform.

Aug 02, 2017 at 10:40 AM


avatar image


We are using design studio 1.6 SP03 and BIP 4.2 SP03.

Currently we are migrating WAD reports functionalities to design studio application.

In design studio application we have used booking functionality to Create, Delete, Share and Open the bookmarks.

Create, Delete and Share bookmark functionality is working fine but when we open existing bookmark, design studio application stuck in loop.

This happen when we execute design studio application on BI platform however the same thing is working fine with local mode.

I am attaching script written for open bookmark functionality.

Script written for bookmarking functionality.

Script written on open button from menu list

var Open_favorite = Bookmark.getBookmarkFolders();

Open_favorite.forEach(function(element, index) {

if(element.title == "Favorites"){

Favorite_id =;




LISTBOX_OPEN_BOOKMARK.addItem("Please select bookmark", "Please select bookmark");

var Open_Favotite_BK = Bookmark.FragmentBookmark.getAllBookmarksByFolder(Favorite_id);

Open_Favotite_BK.forEach(function(element, index) {

LISTBOX_OPEN_BOOKMARK.addItem(, element.title);


Script after selecting bookmark that we want to open.

var Open_bk_id = LISTBOX_OPEN_BOOKMARK.getSelectedValue();



Script to save bookmark.

var bookmarkname = INPUTFIELD_3.getValue();

var Save_bk_id = "";


var Save_id = Bookmark.FragmentBookmark.getAllBookmarkInfos();

Save_id.forEach(function(element, index) {

if(element.title == bookmarkname){

Save_bk_id =;




10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Mustafa Bensan Aug 03, 2017 at 03:56 AM

Hi Darshil,

A couple of comments and questions:

1) Can you provide a screenshot of your application showing what is included in the LAYOUT_CONTAINER and what is not?

2) Have you confirmed that the BIP User has all the necessary privileges for the Favourites bookmark folder?

3) Have you confirmed that LISTBOX_OPEN_BOOKMARK.getSelectedValue() is returning the expected BookmarkID by say displaying the value in a text field after selection?

4) When saving a bookmark, there is no need to retrieve the saved bookmark ID by looping through a list of bookmark infos and checking the title. The ID is returned when you save the bookmark so you can simplify your code with a single line as follows:

var Save_bk_id = Bookmark.FragmentBookmark.saveBookmark(LAYOUT_CONTAINER,bookmarkname).id;



Show 4 Share
10 |10000 characters needed characters left characters exceeded

Hi Mustafa,

Thank you for your quick reply.

Please find following comments on your points,

1) LAYOUT_CONTAINER contains the entire application. Please find following screen,

2) BIP user has admin rights.

Even if I save it in root folder I am facing same issue.

3) Yes, LISTBOX_OPEN_BOOKMARK.getSelectedValue()is returning correct information.

Issue is bookmark refreshing itself again and again.

4) Thanks for the information. it is really helpful. Will update it in my script and check it again.

It is difficult to understand that how the same functionality is working fine with the local mode but not with BI platform.

Please let me know if you need further information.

cdjrs.png (50.3 kB)

Hi Darshil,

Thanks for the additional information. In particular, your statement that the "LAYOUT_CONTAINER contains the entire application" has shed a lot of light. I recommend that you rationalise the content of the LAYOUT_CONTAINER / bookmark because:

1) There is absolutely no need to include the entire application UI in the fragment bookmark. You should only include visual components whose content/state needs to be saved (which then also preserves the state of assigned data sources). For example, as a minimum, there should be no need to include the Open Bookmark, Save Bookmark, Share Bookmark and Delete Bookmark panels in the fragment bookmark;

2) Scripts are also saved in bookmarks. This means that if you maintain the application and update scripts, when a bookmark is loaded, the scripts in place at the time the bookmark was saved will be reinstated and therefore the current/latest scripts will not apply. This will obviously impact the behaviour of the application and likely cause undesired results, which might explain why loading a bookmark hangs your application. To mitigate such risk, for any components with associated scripts in bookmarks, the events should reference centrally maintained global script functions instead of the direct script code.

If you can provide a screenshot of the fully expanded LAYOUT_CONTAINER and the application UI, I can try to provide further guidance about how to rationalise the content of your bookmarks. At first glance, I would say you will probably only need to include the BODY panel in the bookmarks.




Hi Mustafa,

Thank you for your valuable input.

As per your suggestion, I removed all the components from the "LAYOUT_CONTAINER" except body panel which contain navigation panel and crosstab.

Now, I am able to load already save bookmark without looping issue.

But still I have a doubt, how the things were working fine with the local mode but not with the BI platform.


Darshil Shah


Hi Darshil,

It's a little difficult to compare local mode to platform mode in this scenario for the purposes of determining the exact cause of the issue. Clearly it was due to one or more of the conflicting components being moved outside the LAYOUT_CONTAINER. If you really wanted to, you could revert to your original app and move components outside of the container one by one to isolate which one has caused the issue. I guess it's up to you if you want to go down that track.