sap-tutorials / Tutorials

Tutorials on sap.com
https://developers.sap.com/tutorial-navigator.html
Creative Commons Attribution 4.0 International
727 stars 774 forks source link

Integrate an SAP Fiori App into Your Portal Site – Standalone App Router (Cloud Foundry) #7176

Closed git-ashish closed 2 years ago

git-ashish commented 2 years ago

Hello @IObert,

We have an advance use case of multi-tenancy. Is there a tutorial or demonstration on how to add a Fiori SAPUI5 app to Launchpad Service portal when using the Standalone app router in a multi module MTA app?

I have tried following the Manual Integration Approach as well as the tutorial but it doesn't seem to work.

The error that is seen is "Not Found". Strangely, the URL that is being triggered by the Launchpad Service appears to make use of the standalone FLP module in the target MTA app. Or this is what it is assuming. Is that true? The URL format looks like below:

https://xxxx-trial-dev-fioridemostandloneapprouter-router.cfapps.ap21.hana.ondemand.com/cp.portal/ui5appruntime.html?sap-ui-app-id=nsapp.businesspartners&scenario=LAUNCHPAD&sap-startup-params=&sap-shell=FLP&sap-touch=0&sap-ui-versionedLibCss=true&sap-plugins=RTAPluginAgent&sap-theme=sap_fiori_3&sap-locale=en&sap-iframe-hint=UI5

Please note this path in the above URL:

/cp.portal/ui5appruntime.html?

image

The configuration of the App in the Fiori Launchpad looks like this, making use of the destination: image

While the deployed app is accessible without making use of an FLP module like below:

https://xxxx-trial-dev-fioridemostandloneapprouter-router.cfapps.ap21.hana.ondemand.com/nsappbusinesspartners/index.html

Thanks for any pointers!

IObert commented 2 years ago

Hi @git-ashish,

I am afraid this is the wrong place for that kind of questions as we only use this org for tutorial-related problem. Your question is probably better suited in the SAP Community .

I still want to comment your answers (I'm afraid I don't have a real answer): The approach you used in general is right, for MTX apps, you need to leverage standalone approuters and embed the tenant URLs in the Launchpad manually. BUT what confuses me is that you have cp.portal in your URL. Does that mean you use the portal service instance in the mta.yaml as well? If so, that shouldn't be the case.

git-ashish commented 2 years ago

Thanks for a quick response and sharing your thoughts about the issue, @IObert. Sure, I'll post this as a question on the SAP community forum next.

The strange part is that the mta.yaml does not have a portal service instance. Here is the mta.yaml for your perusal. I created an MTA app with standalone router and added a Freestyle UI5 module.

Any thoughts?

Also, is there a tutorial to add a UI5 app which uses standalone router to the Launchpad Service site?

Thanks!

_schema-version: "3.2" ID: FioriDemoStandloneAppRouter description: FioriDemo with Standalone App Router version: 0.0.1 modules:

  • name: FioriDemoStandloneAppRouter-router type: approuter.nodejs path: router requires:
    • name: FioriDemoStandloneAppRouter-html5-repo-runtime
    • name: FioriDemoStandloneAppRouter-uaa
    • name: FioriDemoStandloneAppRouter-dest-srv group: destinations properties: forwardAuthToken: false name: ui5 url: https://ui5.sap.com
    • name: FioriDemoStandloneAppRouter-connectivity parameters: disk-quota: 256M memory: 256M
  • name: FioriDemoStandloneAppRouter-app-content type: com.sap.application.content path: . requires:
    • name: FioriDemoStandloneAppRouter-repo-host parameters: content-target: true build-parameters: build-result: resources requires:
    • artifacts:
      • nsappbusinesspartners.zip name: nsappbusinesspartners target-path: resources/
  • name: nsappbusinesspartners type: html5 path: businesspartners build-parameters: build-result: dist builder: custom commands:
    • npm install
    • npm run build:cf supported-platforms: []

resources:

  • name: FioriDemoStandloneAppRouter-uaa type: org.cloudfoundry.managed-service parameters: config: tenant-mode: dedicated xsappname: FioriDemoStandloneAppRouter-${space-guid} service: xsuaa service-plan: application
  • name: FioriDemoStandloneAppRouter-html5-repo-runtime type: org.cloudfoundry.managed-service parameters: service: html5-apps-repo service-plan: app-runtime
  • name: FioriDemoStandloneAppRouter-dest-srv type: org.cloudfoundry.managed-service parameters: config: HTML5Runtime_enabled: false init_data: instance: destinations:
    • Authentication: NoAuthentication Name: ui5 ProxyType: Internet Type: HTTP URL: https://ui5.sap.com existing_destinations_policy: update version: 1.0.0 service: destination service-name: FioriDemoStandloneAppRouter-dest-srv service-plan: lite
  • name: FioriDemoStandloneAppRouter-connectivity type: org.cloudfoundry.managed-service parameters: service: connectivity service-plan: lite
  • name: FioriDemoStandloneAppRouter-repo-host type: org.cloudfoundry.managed-service parameters: service: html5-apps-repo service-name: FioriDemoStandloneAppRouter-html5-srv service-plan: app-host parameters: deploy_mode: html5-repo enable-parallel-deployments: true build-parameters: before-all:
    • builder: custom commands:
      • npm install