Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
Showing results for 
Search instead for 
Did you mean: 
Product and Topic Expert
Product and Topic Expert

After release of Design Studio 1.4, as a first blog I want to pick up the scenario "online composition" and link it to the functions which are used for this scenario.

Online Composition - Scenario

The scenario describes new end user workflows which can be achieved in this release. The scenario allows saving of fragments (see definition below) of the application and construct new views (compose) in different application (using the Fragment Gallery component).

Fragment - what is it?

A fragment is a bit more than a visible area of an application. A fragment can be defined by selection of one container - and this containers, including all children are part of the fragment. In addition, all linked data sources which are used by those components, are also part of the fragment.

In short a fragment contains,

  • the selected container
  • all children components of this container
  • all linked data sources used in the components

View on a fragment (including Data Source)

What is Saved in above Scenario?

The fragment bookmark does not differ to a normal bookmark from the content perspective, it contains all properties of the included objects like size, position, scripts in events. For data source the complete metadata are saved - including variables and filter values, of course also the drill down state. you can refer to the bookmark blog on detailed content - Insides on Bookmarking.

Important: if you select a panel for saving as fragment, I recommend you to assure that this panel is placed in a parent container with following size settings: width/height on "auto", all margins on "0". This assures that you can move the position of the container later on.

Portable Fragment Bookmarks

Some words on the portable fragment bookmarks - same infrastructure content wise, but those can be assigned to a key - which is unique per system. By this key it is possible to load such bookmarks in different application. Keep in mind it is unique per system, so better either use application name in it or control the namespaces in detail.

Other components for Online Composition

Besides the fragment bookmarks, which are saving the content - for the online composition you should have a look also on 2 components which are new:

  • Fragment Gallery - a component which is prepared for work with portable fragment bookmarks
  • Split Cell Container - a component which can be used in an application for composing of user defined portable fragment bookmarks

Both components are designed to work together in one application - and are supporting drag & drop between them. Using those components, the user can place bookmarks into the split container, which extends itself depending of the drop position.

Example Application

you can download the example application and try it out. See the Aplication DEMO_EMB_BOOKMARK_SENDER in GitHub (ZIP contains this app):

Release DEMO_EMB_BOOKMARK_SENDER · KarolKalisz/DesignStudioBiAppRepository · GitHub 

In this application you can check following areas:

  • onStartup script - this is how the content will be loaded
  • Button "Save Area D" - saving and refreshing of drop down / fragment gallery
  • Drag & Drop between Fragment Gallery and Slit Cell Container

Possible Scenarios

The online composition opens a lot of scenarios which allow more flexibility in the application definition, here is a short list as an overview:

  • create visualizations / views with data source including drill down and filter values
  • create a story flow of OLAP navigations in which the user can prepare a presentation of the data evaluation
  • save some settings which are not related to data (eg some filter values selected by user) and recover them automatically when opening the application
  • prepare one application where visualization components are prepared (including parametrization) and use the fragment gallery/split container to build up own view in second application

Current Scope

  • Fragment Bookmarks are working only in one application, ideally when saving only one fragment area. This is good if you sure, this application will not have any other areas which should be saved as fragments.
  • Fragment Bookmarks cannot be used in the Fragment Gallery (only portable fragment bookmarks can be)
  • Portable Fragment Bookmarks are user dependent. There is no special authorization concept behind, only the same user can load them)
  • Fragment Gallery is generating the images based on the content (when saving a fragment with a chart you see a thumbnail per chart type, other "generic" panels will be visualized by generic image)

Last Words

I would recommend you to use portable fragment bookmarks as those have keys which allow you differentiation on loading (as the Script API requires key when loading a list).

Scripting API to look at

Refer to the documentation, the script API is located in the object "Bookmark", eg. "Bookmark.PortableFragmentBookmark...".

In next days I will post an example of an application using portable fragment bookmarks to visualize how this behaves.

for more details, see Design Studio 1.4: Portable Fragment Bookmarks & Reuse in Applications.

I have placed a blog on NON-BASICS ;-_)

Community SDK: First Functional Application with SDK Components (Online Composition)

Have fun in trying out!