Product Information
SAP Analytics Cloud Highlight: Composite
Update:
Composite examples (Story Header, Navigation Menu, Collapse_Lane_Chart, Collapse_Lane_Table and Collapse_Lane which i am demonstrating in my below demo ) are now published in SAP Analytics Cloud Community Github. You can download them here.
I am happy to share that Composite as reusable widget now is available with QRC4/2023 release in SAP Analytics Cloud!
What is a composite?
A composite is a combination of widgets with configured data and scripting elements, which can be reused across optimized stories. It can be a corporate header or footer, page navigation menu, some customized dialogs or even a pre-defined chart. These composites are saved as artefacts in SAP Analytics Cloud file repository and can be transported through different tenants.
To be more concisely, composites are modular, reusable building blocks that can be plugged into any optimized story. When the story is run by the end user, it is dynamically assembled by leveraging the newest version of composites in it. With that, SAP Analytics Cloud is opening a brand new option to enable parallel and modular development, efficiently improve the development efficiency and reduce maintenance effort.
What are the benefits?
Re-usability
There are certain elements of your stories that you need to create over and over. Like a story header which contains text and a company logo, or a dialog which you can select the time period and organization unit. In the past, you need to copy and paste these header and dialogs into different stories. Or you created a template which contains header and dialogs. But if the company logo changes or another icon needs to be added to story header, then you need to manually apply these changes one by one to each story because the change of template does not automatically take effect to the existing stories.
Example: Story header defined as composite
Standardization
Imagine, if you leverage the composite in your story, then all your stories have the same header, dialog, navigation menu, collapse lane etc. This extremely helps you ensure that the stories in your company have the same look/feel and the same workflow for story consumers. They no longer need to learn how to use different dialogs, different navigation menu etc. because all the dialogs across different stories have the same function, the same UX workflow based on composites.
Through standardization you can provide the corporate identity, consistency and easy-to-use aspect for story consumers. It can reduce the learning curve for story consumers to improve the working efficiency.
Example: Collapse Lane with Charts defined as composite to ensure the standardization
Modular/Collaborative Development
With the composite concept, now you have the possibility to break down the story to different parts and assign them to different story designers/developers. They can work parallel on their own composites. All the updates made in the composites, can automatically take effect in the main story. Composites opens the possibility that multiple people can work collaboratively in parallel on the same project.
QRC4/2023 Release Feature Scope
With QRC4/2023 release you are receiving the below features for composite:
Creating a composite:
- via story module in tab composite
- Define Interface Functions and Events to be able to communicate between composites and stories
- Save composite as artefact in SAP Analytics Cloud file repository
Consuming a composite in Story:
- Import composite into design time
- communicating with composites via interface functions and events
Composite in general
- Composite has its own privilege. If custom role is leveraged in your company, don’t forget to assign the composite privilege to these custom roles.
- Story features like filter, bookmark, theme etc can be applied to the widgets inside composites
Current Limitation:
please refer to the restriction document here
Demo
This video demonstrates the feature highlights of composite:
What’s the next?
With the above blog, i hope you understand the benefits and feature overview about Composite. With the next blog, i am going to dig into more details and guide you to build a composite 🙂 Please stay turned!
Thanks Jie,
Great demo!
Would you mind sharing a copy of the composites used in your demo please?
Regards
Gaby
Hi Gaby,
We are going to publish the examples in Github. Once it is published, i will add this information into my blog!
thank you
Jie
Now the composite samples are published: https://github.com/SAP-samples/analytics-cloud-datasphere-community-content/tree/main/Sample_Composite
thank you
Jie
Hi Jie,
Can you tell us where the custom widgets used in your demo are located on Github?
Thanks
Paul
hi Jie,
Thank you, we like this addition.
Can you please share me the link to where we can find information on how to create this "collapse" Lane you are writing about, as I cannot find it.
And yes a demo file would be nice to have.
Thank you.
Regards,
Ronald
Hi Ronald,
thanks for the input! With the next blog i am going to guide you to create a collapse lane as composite.
stay tuned!
tahnks
Jie
Hi Jie,
is it possible to bind different models to different instances of the same composite? E.g. create a kind of tiles for different models? Or any way we have to use a fixed model inside the composite?
BR
Mike
Hi Mike,
Binding different model in different stories is not supported with this QRC 4 release. But it is possible in QRC4 release to bind different measure/dimensions/filter etc. based on the same model in different stories (by leverage script APIs).
We are planning to provide the model repointing for composite (binding different models in different stories) with QRC2/2024 release.
thank you
Jie
Hi Jie,
Great addition! Still quite some limitations but for an MVP it's quite nice, congrats! One question though: what permissions do I need to set to be able to consume the composite on a folder level? And what would be best practices to keep track of all composites that will be created? Some kind of catalog function? Any ideas about this?
Kind regards,
Martijn van Foeken | Interdobs
Hi Martijn,
This is the first phase of delivery for composite. We will further work on composite topics and remove the current limitations in the next couple of quarters.
On the user level, you need to first assign the composite privilege to users/teams (read, write, delete etc).
On the folder level, you just need to assign the folder permission to users, then the composites inside the folder also apply the permission.
You can e.g.
Currently the Composite is not yet supported in Analytics Catalog. Please submit an influence request for this topic and describe your desired workflow.
Thank you
Jie
Hi Jie,
Can you supply the URL for your GitHub site?
Thanks,
Paul
Now the composite samples are published: https://github.com/SAP-samples/analytics-cloud-datasphere-community-content/tree/main/Sample_Composite
thanks
Jie
Hi Jie,
could you please give me an advice for the following problem:
I would like to encapsulate logic into composites. Is it possible to manipulate a table (e.g. set the number of decimal places) which is not part of the composite (but in the story) with logic within the composite?
I have tried this by giving the composite a function with a parameter with the type table and then call this function from the story. But it seems like this is not working.
Thanks for your advice,
Marius
Hi Jie,
if I see it right not all APIs for the composite is available now? I don't get "setTitle" for example.
Regards,
Maren
Hi Maren, you have to add these functions (yourself) in the composite first. I see in your screenshot that you added a 'function1' already.
Hi Maren,
Now you can download the composite samples that i used in my demo: https://github.com/SAP-samples/analytics-cloud-datasphere-community-content/tree/main/Sample_Composite.
thank you
Jie
Hi Jie,
Firstly, I want to thank you for sharing this content.
We first saw the new composites 1-2 weeks ago in a video on the new release features and immediately started creating our own composites with a corporate header, lanes and especially the collapsible sidebar composite.
If came to be a little challenging with all the code and styling but we managed to create these objects however not as nice as yours.
We were super ecstatic to find that the package containing this content has been released but I personally am having trouble installing the package from Content Network and File System.
As an Admin, I'm unable to upload any this package file from Content Network. No option available however, I am able to select the file for import using the File System option.
I get an error: Illegal File
Would appreciate any assistance.
Best,
Diego Curci
Hi Diego,
It's a confusing process, but you first have to go to Transport > Export and stay in the 'Content Network Storage' tab. There you should see an upload&download icon. First upload the .package file in there.
Only then navigate to Transport > Import screen to find your package and import it in your system.
Kind regards,
Jef
Hi Jef,
I can't thank you enough for pointing me in the right direction. I tried countless ways and couldn't find how to get this running. That absolutely did the trick.
Note: You first have to go to Transport > Export and stay in the 'Content Network Storage' tab but the upload&download options will only appear once you have clicked the My Content folder.
Thanks again. I was going nuts. You're a lifesaver.
Best,
Diego
Hi Jie, hi Jef,
thanks for sharing and explanation.
Regards,
Maren
Hie Jie,
Thank you to the whole team for this magnificent early Christmas gift! I have already started to integrate it into my projects! I'm already looking forward to being able to generate composites during run-time and especially being able to do data repointing! Bravo for the work!
Hi Jie Deng
I have created a header composite as shown in the figure below.
At first, I am able to insert this composite to the optimized canvas story for a few times. But, recently I am not able to insert it into the story, I tried to insert the composite by drag and drop and also from the insert panel. Unfortunately, both ways did not work, as the composite still not inserted. Is this a technical issues related to the composite?
I would appreciate a lot if you could help out on this issue. Thanks.
Regards,
Zhi Yan
Hi Zhi,
Are you following the steps below?
3. Drag and drop from the asset on the left
Hi Diego,
Thanks for the reply. Yes, I have followed the steps you mentioned. I have created a few more composites (consists of charts and table) and tested them out in the story, all of them are working fine (as they can be imported and inserted to the story), except the one I mentioned as per my last comment (the header composite).
In that case, the header composite I created can be imported to the story, but when I tried to drag it (insert) to the story, it just couldn't be inserted as it doesn't show the inserted composite in the story. (eg: I tried to insert it to a blank story, the story remains blank after inserting the composite) As per my last comment, I was able to insert the header composite to some pages the story, but in the recent few days, I was not able to do this so.
So, I was wondering is it a technical problem behind this, or is there some restrictions which I accidentally applied to the composite which lead to this problem?
Regards,
Zhi Yan
Hi Zhi Yan,
I assume that you are adding composite into a canvas page, correct?
On canvas there are no limitations of importing composite into story or adding composite to story canvas.
On responsive page you will not be able to import composite at all because composite in responsive page is not yet supported.
You can add composites to canvas either via drag&drop, or via "+" button:
If these 2 options are not working for you, please open an OSS ticket that we can investigate it.
thank you
Jie