Technical Articles
Develop your first SAP Fiori launchpad site with portal service on SAP Cloud Platform Multi Cloud – part 2
The first blog post of this series, provides a step by step guide to create all assets that are required to develop your first Fiori launchpad site. In this blog post, we continue where we left, and create a Fiori launchpad site, based on the assets you should already have.
We will start by creating a Fiori launchpad site from SAP Web IDE Full Stack, configure the site, deploy it to SAP Cloud Platform and access it.
Read the bottom section of this blog for some answers to FAQ.
Add SAP Fiori Launchpad Site Module to your development project
A. Enable the SAP Fiori Launcpad Site feature, from the settings.
Navigate to the settings of Web IDE Full Stack settings, select Features, locate the SAP Fiori Launchpad Site feature, and turn it to On. Click Save to save your settings.
Enabling the SAP Fiori launchpad Site feature, will allow you to create Fiori Launchpad (FLP) modules from Web IDE Full Stack.
B. Add SAP Fiori launchpad site module to your development project
Navigate to the development section.
Right click on the project to open the menu, and add a new SAP Fiori Launchpad Site Module to our project. Note: this is available only for projects of type Multi Target Application (MTA)
We provide the module a name (in this demo we use flp) and click Finish.
Configure the content and settings of your Fiori launchpad site
A. Add apps to your FLP site
Open the CommonDataModel.json file under the flp\portal-site folder
Click on the Add Group to add two groups: Group1 and Group2
Click on the + icon to add apps to a group. Add app1 to Group1 and App2 to Group2. After you click the + icon to add an app, check the relevant app and click Select
Your CommonDataModel.json launchpad editor should look like this
Note that you can also select the Code Editor tab, to edit the json representation of your portal site
Edit your site setting
Click on the Site Settings tab, view and edit the available settings
Click the save all icon, to save your changes or click ctrl+s.
Build and Deploy your project
A. Right click on your project and select Build
An mta archive file is generated. The file is located under the mta_archives folder in your workspace.
Right click on your project mtar file and select to Deploy to SAP Cloud Platform
If required, select your end point organization and space and click Deploy. (you will be asked to enter your Cloud Foundry environment credentials)
Look on your console pane, to see a log of the successful deployment. After a successful deployment, a URL address of the deployed project is listed in the console pane.
You can access your SAP Fiori luanchpad site by navigating to this link and adding the extension /cp.portal to the URL address
View your site in the SAP Cloud Platform cockpit
Let’s navigate to our Cloud Foundry subaccount
We can see that under our space, our application is now available. Note that the name of your app can have a prefix and that it has the appRouter name as postfix.
Click on the app on the Cloud Foundry environment to see it’s information. You can see the project URL. Click on it. Add to the URL the extension /cp.portal to view the SAP Fiori luanchpad site
End users can now access the Fiori launchpad to access their apps. They can also personalize their home page from the me area.
Answers to frequently asked questions
A. What Cloud Providers are supported?
You can view the supported Cloud Providers from the SAP Cloud Platform Regions and Service Portfolio page
B. What features are supported?
Visit SAP Cloud Platform Portal – Cloud Foundry page to learn more about the supported features
C. I have a license for SAP Cloud Platform portal, can I use the license also for SAP Cloud Platform Portal on the Cloud Foundry environment?
Yes. The quota you licensed (portal site visits or portal users) can be used across Neo and Cloud Foundry – it is not limited to any specific cloud. However, using SAP Cloud Platform services on the Cloud Foundry environment, may require additional licenses.
Hi,
thanks a lot for the blog post.
I tried to follow the steps, but when deploying the build mtar file I get the following error:
Error creating services: Error creating service "portal_resources_PortalDemo" from offering "portal" and plan "standard": Controller operation failed: 404 Not Found: Could not create service instance "portal_resources_PortalDemo". Service plan "standard" from service offering "portal" was not found.
Where my Portal demo is the name of the MulitTarget project in WebIDE Full-Stack.
Any idea what I am missing?
Best Regards,
Steffen
Hi Steffen
There is currently an issue with the portal quota for existing portal customers.
Please open a BCP ticket with the component BC-NEO-CIS-OPS and request the quota for the portal. (type 'Portal' with plan 'Standard')
Iris
Hi Iris,
Thanks for creating this post!
I received a similar error to Steffen when deploying the mtar file:
Error creating services: Error creating service "dt_portaldemo_ui_deployer" from offering "html5-apps-repo" and plan "app-host": Controller operation failed: 404 Not Found: Could not create service instance "dt_portaldemo_ui_deployer". Service plan "app-host" from service offering "html5-apps-repo" was not found.
Should I create a similar BCP ticket for this as well? Or is this a different issue?
Thanks!
JJ
Hi John,
Yes, please create a BCP ticket. Please attach the error you receive to the ticket
Regards,
Iris
Hi
I wanted to update that the below mentioned issue is fixed. You can now create portal sites without opening the above mentioned BCP
Cheers
Iris.
Hi Iris Sasson,
Thank you very much for this blog. We are recently migrating from Neo to Cloud Foundry and it's really hard to find good information as this.
I followed the steps but I got a similar issue to John Juan. So we still need to open BCP tickets?
Best regards,
André
Hi Andre Fernandes ,
How did you resolve this issue ? I am also facing same issue.
Thanks,
Manu
Hi
I followed all steps but getting following error when i try to build -
"Invalid mta.yaml. Make sure that the required module or resource dt_CFPOCHANA_appRouter is defined"
Please help me.
Hi,
Please attach your mta.yaml
Hi Iris Sasson ,
I followed your steps and everything worked fine with a dummy UI5 app. I did the same for a List Report (Fiori Elements template) and it also worked. However, when I tried to use Overview Pages or Analytical Pages (the other two FE templates), there were errors.
The FLP could open the ALP, but nothing loaded as somehow the app couldn't read the odata's metadata (the exactly same endpoint that worked fine with the List Report).
The OVP didn't even open from the FLP, as the Component and manifest couldn't be reached.
Those were all created directly with the Web IDE's wizard, without any additional code. Are you aware if extra steps are required for OVPs or ALPs to work with the FLP module?
Best regards,
André
Hi Iris,
thanks for the blog.
The portal service seems to be fixed, which is great news.
However I'm still facing issues with the FLP part. The build part is running fine - however the deployment is failing.
I have checked my logs and there is an error with the buildpack saying: "ERR None of the buildpacks detected a compatible application"
Thanks,
Cara
In case someone is having the same problem as me, here is how I was able to solve it:
Regards,
Cara
Hi Iris Sasson , great blog. I learned a lot from it.
I tried the same using a Fiori template fetching metadata from WebIDE/Neo destination.
Can you explain what to do in order to adopt to a CF destination, please?
In my case there is a subaccount level CF destination that targets the same on-prem system as the Neo destination that was used to create the app, but it does not have the same name.
Thank you!!
Best regards,
Alej
Hi Steffen Schmidt,
how did you fix your issue in the end? I have the same one now and apparently the issue was not fixed..
I’m using the trial version of cloud foundry. Now I recognized, that in the first blog post it's mentioned:
But the tile is available and I can add a module to my mta and so on, even building works. But not deploying.
Can I open a BCP Ticket as well then? And how can I do this?
Best regards,
Paige
@paigeola I ran into the same isssue. Seems that you need an running app-host service instance on your subaccount.
Unfortunately the app-host service is only available with a paid plan and not with the free trial account.
Find more details in this helpful blogpost: https://blogs.sap.com/2018/12/11/programming-applications-in-sap-cloud-platform/
Cheers,
Thomas
Hi All/ Thomas Jung
We are in the process of developing oData v4 and UI5 apps in Hana (Cloud Foundry) and exposed them via the Fiori Launchpad as defined in this bog. It looks like UAA.USER scope is needed for the users to get to the Fiori Launchpad and we are not able to bind our custom UAA scopes to the UI apps nor to the FLP. It means, anyone with the link to our FLP can access it as long as they have a valid SAP ID, which we dont want. It would be great if you can point me to the right direction.
We even tried the same in the Portal Service using the below link, I was able to create the groups and catalogs, but no was to bind the apps and roles to these groups and catalogs.
https://help.sap.com/viewer/ad4b9f0b14b0458cad9bd27bf435637d/Cloud/en-US/b824e1a682c044d6a7a0d836a364f13d.html
Thanks
Sasi
Hi Sasi Reddy
Are you able to restrict the user to access the app in FLP?
Thanks
-Trim
Hi Trim
Yes, we got this issue resolved. We are able to restrict the users at the app level. We need to add the scope for the app in the manifest.json and use this scope to build the role mapping in the CF. Once you assign this role in the CF at the space level, then the apps will be isolated.
Did you work for Mindset before?
Thanks
Sasi
Hi,
Does anybody know how to add an external application to the launchpad? For example an existing application in the same CF space, but not included in the same project?
Regards,
Simmaco
Hi SIMMACO FERRIERO ,
Did you find a solution for this scenario?
Regards,
Raja
Not yet, unfortunately!
Hi
Visit this blog post (https://blogs.sap.com/2019/08/05/deliver-sap-fiori-user-experience-on-sap-cloud-platform-on-the-cloud-foundry-environment/) and its document, and see how you should do that. If you want to do this using SAP Web IDE, this is not yet officially supported, but there is internal document about it.
You can try to do that using the Portal service. i.e. deploy two MTAs with apps to the SAP Cloud Platform. Create a Portal site using the Portal service (admin experience). Create a destination to each of the launchpad modules that were deploy and add the apps to your Portal site using the Admin tool. This is well documented and we plan to issue a document further explaining how to do that soon. I must say I did not yet try to connect applications from different projects, so there may be issues but it should work as far as I know. I will try to find the time next week to verify. Let me know how it goes for you
Follow this blog post: https://blogs.sap.com/2019/08/05/deliver-sap-fiori-user-experience-on-sap-cloud-platform-on-the-cloud-foundry-environment/ for a more comprehensive guide for delivering Portal sites on SAP Cloud Platform on the Cloud Foundry environment
Hi Iris,
Does the portal service support custom tiles, like some tiles including microcharts?
Hi,
Currently this is only supported for launchpad module - read this https://blogs.sap.com/2019/08/05/deliver-sap-fiori-user-experience-on-sap-cloud-platform-on-the-cloud-foundry-environment/ . However, adding it to the Portal service is on our roadmap.
Best
Iris.
Hi,
Can someone help with this issue?
We created a launchpad module and one dummy sapui5 as is described in this blog.
We don't have any issues building the mta, also the deployment goes well.
But the fiori launchpad instance doesn't want to start on cf. Approuter and ui_deployer run fine, but this is not the case with the fiori launchpad module.
We don't get much helpful info in the log, only:
Can anybody assist?
thanks
This issue was resolved after creating a sap ticket.
regards
Hi Peter,
How could you create the so-called sap ticket,my app FLP_Site_Module crashed all the time.
regards
Good Explanation, Thank you Iris Sasson
I have created portal site same way you explained, with two application, now I'm trying to connect both application with services, so mentioned destination name in xs-app.json and declare datasources in manifest file of both applications and also binded destination service and connectivity service to deployed application (XXXXX_appRouter).
While accessing deployed portal site and accessing specific application from the launchpad throwing 404 for all my metadata loading datasources.
Can anyone please help me here, what exactly I missed?
Hi,
I want to implement a Plugin as described in SAP Help
https://help.sap.com/viewer/ad4b9f0b14b0458cad9bd27bf435637d/Cloud/en-US/84046a7a21604dbea882bcc6fa742bf6.html
But I have much trouble with step 4. Here is mentioned, that I should add the app to a catalog and not to a group. With plugin nothing worked so I tried to insert a hello world application. But this also will not work.
This is my CommonDataModel.json for the catalog section
"payload": {
"catalogs": [{
"_version": "3.0.0",
"identification": {
"id": "defaultCatalogId",
"title": "{{title}}",
"entityType": "catalog",
"i18n": "i18n/defaultCatalogId.properties"
},
"payload": {
"viz": [{
"id": "com.test.cai.plugin.cai-1-1575556482289",
"vizId": "cai-display"
}]
}
}],
and now the following error will be thrown during the deployment
Error: Failed to search all appHostIds, missing apps: com.test.cai.plugin.cai-1-1575556482289
But if I added the App-ID in this section the following error in the webide will be displayed
And the same error will be thrown...
Error: Failed to search all appHostIds, missing apps: com.test.cai.plugin.cai-1-1575556482289
Do someone know what I made wrong? Any help is welcome 😉
Any clue on what went wrong?
Hi Iris,
Thank you for the detailed blog.
I have followed the steps but the build of MTA project itself is failing with below error(s),
ERROR the “mta.yaml” file is not valid:
line 121: the “dt_MTA-DEMO_appRouter” property set required by the “FLP” module is not defined
line 122: the “MTA-DEMODui_deployer” property set required by the “FLP” module is not defined
make: *** [Makefile_20191220043847.mta:26: pre_validate] Error 1
Error: could not build the MTA project: could not execute the “make -f Makefile_20191220043847.mta p=cf mtar= strict=true mode=” command: exit status 2
When the SAP Fiori Launchpad Site Module(named FLP) is added to MTA the mta.yaml has changed by adding below code,
Below module is added to the modules section:
– name: FLP
type: com.sap.portal.content
path: FLP
parameters:
stack: cflinuxfs3
memory: 128M
buildpack: https://github.com/cloudfoundry/nodejs-buildpack/releases/download/v1.6.39/nodejs-buildpack-cflinuxfs3-v1.6.39.zip
requires:
– name: portal_resources_MTA-DEMO
– name: uaa_MTA-DEMO
– name: dt_MTA-DEMO_appRouter
– name: MTA-DEMOui_deployer
Below resource is added to resources section:
– name: portal_resources_MTA-DEMO
parameters:
service-plan: standard
service: portal
type: org.cloudfoundry.managed-service
I am also referring documentation: https://help.sap.com/viewer/ad4b9f0b14b0458cad9bd27bf435637d/Cloud/en-US/b55594e28a7d47a2ab4bf1f03ebfd56b.html
what are these two resources – dt_MTA-DEMO_appRouter and MTA-DEMOui_deployer? In the above referred documentation also nothing is explained about it.
Should i create a SAP ticket as mentioned in the above few comments?
Thanks
Ravindra