Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bookmarks in Qlik SaaS allow to store object Layout with the bookmark.
If user manipulates a object (i.e. changes column witdh or sorting) and then creates a bookmark, later the user can recall the bookmark and reapply the modifications. When a developer changes the sheet - edits some object properties and republishes the sheet, the user can activate the bookmark and the object definition set by the developer will be lost in some cases. The user gets outdated version of the object configuration - the version from the time of the bookomark creation,
As we found out, this works by preserving the SoftPatches applied to the application objects and reapplying them after the bookmark is activated.
Our objects is doing granular changes using ApplyPatches with SoftPatches flag enabled (i.e. changing column width or sort order by the user). However the bookmark stores much larger part of the property tree, not only the small patches. This causes various problems, as the user can recall a historical version of the object and the developer has no way of preventing this.
The Bookmark should only apply the exact SoftPatches that were created by the object, not some random property tree chunk.
This can be demonstrated on native Qlik objects as well - i.e create a Table object with some dimensions and mesaures, then exit the edit mode and change column width and sorting order. Now create a bookmark. Revert the changes (click Discard in property panel), then change the table column definition. Now activate the bookmark. The table column definition will revert to the one from bookmark creation time.
What can we do about this behavior?
Hello @tomas_janco ,
I discussed similar behavior with R&D developer and received the following explanation.
------------
This is WAD (working as designed).
When you store layout state you create a patch on the table that restores the appearance of the table to the way it was when the bookmark was saved, this means that changes coming in later will not be visible when the bookmark is used.
The patch is cleared when the session ends, or if you apply a bookmark with another layout state (but not if you apply a bookmark without layout state or change the selections).
If the user needs the new columns the best (or only) way is to recreate the bookmark with the new content visible.
--------------
You can use "Qlik ideation" to submit a feature request https://community.qlik.com/t5/About-Ideation/ct-p/qlik-aboutideation
Regards,
/joseph
Hi Joseph,
thank you for your explanation but I do not think it is correct. The observed behavior does not match your description.
In the following scenario:
1. Developer creates table
2. User resizes column by dragging the column border
3. User changes sort order by clicking on the header
4. User creates a bookmark with layout option enabled
5. Developer adds a column to the table and changes table background color
6. User applies the bookmark
What is the expected outcome? Based on your description, the background color as well as the last column should disappear as they were not there at the time of bookmark creation. On the other hand I would expect none of them disappear and only the column resize and sorting change is applied.
In reality, the column disappears, the background color stays and the resize and sorting is applied as per bookmark.
This can be also demonstrated with different set of changed properties.
The bookmark does not fully preserve the appearance of the table at the time of creating the bookmark, not it preserves the soft-patch applied to the table at the time of creation. It preserves some random subset of properties of the table.
Please confirm if this is still working as designed. If so, please explain which properties are preserved in the bookmark and which aren't so we can better understand how bookmarks should work with our extensions.