Technical Articles
Adding Tile in Fiori Launchpad to Start Workflow in Cloud Foundry
In previous blog of my series, I explained how to create a fiori application to start the workflow in SAP Cloud Platform Cloud Foundry environment.
Once you have designed and deployed your Fiori application, you might have the need to expose this application as a tile in your existing or new Portal Fiori Launchpad. In this blog, I will explain how you can achieve that.
For this I have added Fiori Launchpad module in my existing MTA. You can also choose to create a separate MTA project with Fiori Launchpad module.
Step 1: Enabling Cross-App Navigation in your Fiori Application
In order to add your application as a tile in Portal Fiori Launchpad, you need to enable cross-app navigation in your application by assigning intents. You can do that in manifest.json to add crossNavigation element with following details.
semanticObject | Any unique name that you would want for the intent |
action | Any unique name that you would want for the intent |
icon | Any icon from SAP Icon Library |
Title | It appears as title in the tile |
subTitle | It appears below the title as short sub-title text |
For more information read the documentation.
,
"crossNavigation": {
"context": {},
"inbounds": {
"newtile": {
"semanticObject": "capex",
"action": "startworkflow",
"icon": "sap-icon://begin",
"title": "Capital Expenditure Request",
"subTitle": "Start Workflow"
}
}
}
Step 2: Update MTA Project Descriptor
As your custom application makes a call to the workflow API for starting the workflow and now we are routing the access of this application via the portal launchpad tile so the workflow service instance dependency have to be added to the Fiori Launchpad Module in mta.yaml
Note: If you are creating a separate multitarget application, then you also need to add the workflow service instance in the resources section of mta.yaml (see line 61 – 65 in the screenshot below)
Step 3: Add tile to the Launchpad
The final step is to add a new tile in the launchpad module. This is done by updating CommonDataModel.json file.
When you add the new tile in CommonDataModel.json, you will get a pop-up where you can choose from existing applications (that have cross-navigation enabled) or manually add the new ones.
In my example, as the launchpad and custom UI5 applications are in the same MTA project (multitarget application) so the popup already discovers it. But if you are creating a separate MTA project then you need to add it manually using the + icon (as seen in the screenshot below) and then manually enter App ID and Intent Navigation.
note: App ID you can get from the manifest.json file of your start application and Intent Navigation is combination of semanticObject and action like semanticObject-action
Finally build and deploy the MTA and access the deployed launchpad application from cockpit.
Yet again, in 3 simple steps you can add your custom application as a tile in FLP. I have updated the sample workflow start application project from my last blog to also include the Fiori Launchpad module. All you need is to import:
- Download the project.
- extract the zip and import the tar file in your business application studio.
- open mta.yaml file and adjust the workflow and portal instance name and the plan based on the cloud tenant you are going to deploy the application
- build & deploy the application.
Related Resources
Hi Archana.
Nice blog. I have an error when I try to open My Inbox app on CF.
The application could not be opened because the SAP UI5 component of the application could not be loaded. Error loading UI5 component for navigation intent "#WorkflowTask-DisplayMyInbox?sap-ui-app-id-hint=cross.fnd.fiori.inbox"
Do I need to create like you StartWorkflow app? Thanks in advance.
Hello Jimmy,
No you do not have to create any application. MyInbox app is already available. I tested is by adding for myself in the content shared in this blog and it works for me.
I think that Jimmy is trying to add the My Inbox application (standard one from workflow subscription on SCP) to the portal site - but not the portal module of MTA application but portal site as a service - in a site manager, content manager etc.
Could you please guide us how to achieve that?
For that you have to create an app-router with the needed bpmworkflowruntime route, then create a destination of the app-router, and then in portal SaaS application you can create the tile with the given destination and My Inbox intent. Hope that helps. Thats pretty much standard for all the applications - nothing special to workflow based application.
Thank you Archana - I was missing that part with bpmwrkflowruntime - or better - destination with that app router. I was constantly adding that tile with destination from other app router without that routing.
In fact I wrote a blog about the topic - so I wouldnt forget it in future 🙂
For this purpose I have created a dedicated mta project with default workflow tiles: https://github.com/korayyersel/scp-workflow-tiles
But I didn't need the bpmworkflowruntime route.
Hi Archana.
Me again. How can I hide this tiles for user not authorized? And where can I configure this?
Thanks in advance.
Hiding the tiles based on user permissions is not yet available. Its planned in roadmap.
A possible solution it's create another launchpad with this workflow management tiles, right?
.... possible yes, but not a feasible & clean solution. Even if you have workflow management FLP you will be able to see all the tiles that you added in the FLP. If you donot have needed permissions to work with any workflow app then it will through error.
Hi Archana, Thanks a lot for putting this blog and answering all the questions.
Can you plz help to clarify if there is a solution currently in place to hide some tiles that are default display on workflow dashboard?
Thank you,
Arun
Hi Archana Shukla , Nice blog post... I have seen a few on how to access a workflow start form or fiori app from a portal launchpad module.
What about the newer Launchpad Service. How would I get a workflow start form as a Tile in the Launchpad Service?
It is currently also possible. You can integrate the workflow tiles in your Launchpad (or Portal) site using the app-router as system and workflow application IDs. We are however coming up with an easier way to integrate or pin the workflow applications directly from content providers.
Excellent. Are you able to point me to some documentation on how to do this with an approuter and the workflow id’s or is the new method imminent (maybe something coming out of teched??). 😉
you can follow the standard tutorial and pick the workflow application IDs from here (Step6)
Thankyou Archana Shukla – I had a look at those links but I think they are about how to add the standard workflow applications to your launchpad.
What I have done is create a new workflow. I hav created a start form for this workflow. So I would like to launch the start form from the Launchpad Service.
Also - the portal service has been removed from Trial accounts as of September this year so developers can no longer follow along with the tutorials.
To expose my application as a tile on the Fiori Launchpad Portal do I always need to create a project by importing the Fiori Launchpad module?
Or can I create a tile on the default Fiori Launchpad Portal when I access Workflow Management?
Hello Tiago,
To add your application as tile in Launchpad, you have to create a Fiori project with SAP Managed App router type. Then you can directly add them from your launchpad site. (read here for more).
In Workflow Management Subscription FLP you cannot add any additional custom tiles. If you want to add workflow tiles in your custom launchpad you can refer this documentation.
Dear Archana Shukla
Thanks a lot for your blog series! It helps a lot.
I am currently trying to start my workflow from a SAP Fiori Elements Application in BAS ( for example via an event handler). Do you know if that is possible?
Best Regards
Max
Hello Archana!
In this launchpad module that we created in the project, is it possible to use role to control access to tile? Do you know if this is possible?
Thanks in advance
You can add roles from Launchpad site. Workflow tiles are now available in Launchpad. You can follow the guide.
Thanks!
This guide explains how to create a tile using a workflow form. In my project, a UI5 interface was developed to give start workflow.
How do I get to create a tile in the Launchpad service to call my UI5 interface?
follow the link here
OK! my project was created using Standalone Approuter. Will I have to change my UI application to based on SAP Managed app-router?
Hello everybody!
How to add online data tile to Marketing Cloud?
I add a simple tile with a title, an icon and a link to the project. But how do you show extra short data on the tile?
BR,
Andrey
How to rename Title and subtitle of tiles ?
Are you looking for custom tile or standard tiles?
Hi there!
I am not able to find the @sapflp/launchpad-module and not able to find a suitable generator to install to run this. Could you please guide me on this?
Apologies if you have mentioned in the previous posts of this tutorial as I was specially focussed on this part...I might have missed it from the earlier posts.
Thank you in advance!