Launchpad plugins

Extending an application launchpad’s shell rather than an individual app: adding header buttons, user-menu entries, frame areas or background behaviour shared across the apps it hosts. A development sandbox for launching an app is a separate concern.

Overview

InUI5assessed

A component with no views that the shell loads once at startup and that works through shell services such as Extension, FrameBoundExtension, AppLifeCycle and UserInfo instead of rendering an app. This extends the SAP Fiori launchpad for all hosted apps, including SAP apps. It differs from a development sandbox such as cds-launchpad-plugin.

SAP SHIPS

SAPUI5's sap.ushell.services.Extension service, since 1.120, creates shell header items and user actions and shows them on the home page or for all apps; before it, a plugin added them through sap.ushell.renderers.fiori2.Renderer.

Not covered: At SAPUI5. sap.ushell is not part of OpenUI5, so a plugin cannot be built against or run on the open-source distribution.

THE COMMUNITY ADDS

Scaffolding for the plugin component: Easy-UI5 generators from UI5 Community, one for TypeScript on the Extension API such as generator-ui5-ts-flp-plugin. SAPUI5 itself ships the services a plugin calls.

InABAPassessed

Here the question is activation: which launchpad catalog and role on premise, or which business catalog in the ABAP environment, makes the shell load the plugin for a given user.

SAP SHIPS

On premise, a plugin deployed as a UI5 application is activated per role through a target mapping with the intent Shell-plugin in a launchpad catalog, assigned to a role in PFCG. In the SAP BTP ABAP environment it is deployed as a Fiori application whose manifest sets sap.flp type plugin, and reached through an IAM app and a business catalog.

Not covered: Role-based activation on premise only works with the launchpad's dynamic page processing on the ICF node /sap/bc/ui2/flp.

The plugin itself is UI5 code. The system ships the activation steps above, and the community adds scaffolding for the plugin, such as generator-ui5-ts-flp-plugin.

THE COMMUNITY ADDS

No community artifact is documented here.

InBTP/BAIPassessed

On BTP the plugin is an HTML5 app in the site's content, assigned to a role in SAP Build Work Zone and loaded when the site starts, with no tile.

SAP SHIPS

SAP Build Work Zone loads shell plugins. In the advanced edition a plugin is an HTML5 app in the MTA whose manifest sets "type": "plugin" and hides its launcher, and the runtime loads and initialises it when the site starts; SAP's BTP documentation points to the standard edition's page for integrating apps and shell plugins.

The plugin itself is UI5 code. SAP Build Work Zone, standard edition loads it into a business site, and the community adds scaffolding for the plugin, such as generator-ui5-ts-flp-plugin. The standard edition's own documentation page did not load as text; its support rests on SAP's BTP documentation linking to it by that title.

THE COMMUNITY ADDS

No community artifact is documented here.

Artifacts3

Group by3 of 3 artifacts
ArtifactSignals
Generators2
generator-ui5-flp-pluginEasy-UI5 generator scaffolding a Fiori Launchpad plugin
Signals
none
generator-ui5-ts-flp-pluginEasy-UI5 generator for a TypeScript Fiori launchpad plugin
Signals
none
Services1
SAP Build Work Zone, standard editionRole-based business site for SAP and third-party apps
Signals
none

Content2

Group by
Piece, what it offers
Understanding and Developing Fiori Plugins with Extension API & TypeScript
kernich.de, Mario Kernich, Blog
Step-by-Step Guide to Display System Details on SAP Fiori Launchpad Shell
SAP Community, RahulManchala, Blog

Seen working1

ArtifactSignals
Samples1
fiori-fullscreen-pluginFiori launchpad plugin adding a fullscreen toggle button
none

Details

Coverage
statecore and community, UI5
assessed
state in ABAPcore and community, assessed
state in BTP/BAIPcore and community, assessed
relationshipunassessed
also inABAP, BTP/BAIP
For your agent
Ref
capability:launchpad-plugins
JSON
/capabilities/launchpad-plugins.json
MCP
Connecting an agent