Launchpad Plugin for demo / development / testing SAP Cloud Application Programming Model-based projects
In your project, run following command:
npm install --save-dev cds-launchpad-plugin
The cds-launchpad-plugin is using the SAP Cloud Application Programming Model plugin technique. Installing the plugin as a dev dependency (see installation) is sufficient to enable the plugin automatically.
Optionally you can configure the cds-launchpad-plugin by adding following configuration to your package.json file.
"cds": {
"launchpad": {
"theme":"sap_horizon", // SAPUI5 Theme
"version": "1.120.1", // SAPUI5 Version
"basePath": "", // Path under which you want the sandbox to be served
"appConfigPath": "", // External sandbox appconfig json file to be merged with generated appconfig
"locale": "", // Language to be used for the sandbox environment
"template": "" ,// 'legacy' (non-async launchpad, default) or 'async' (async launchpad),
"modulePaths": "" // object with module paths to be used in the launchpad.html file for "sap-ushell-config"
}
}
The sandbox launchpad will be served on /$launchpad
, like http://localhost:4004/$launchpad
Have this in your server.js
:
const cds = require ('@sap/cds');
/* For releases before cds 7:
replace:
cds.env.production === false
with:
process.env.NODE_ENV !== 'production'
*/
if (cds.env.production === false){
const {cds_launchpad_plugin} = require('cds-launchpad-plugin');
// Enable launchpad plugin
cds.once('bootstrap',(app)=>{
const handler = new cds_launchpad_plugin();
app.use(handler.setup({theme:'sap_horizon', version: '1.120.1'}));
});
}
The sandbox launchpad will be served on /$launchpad
, like http://localhost:4004/$launchpad
Call setup({...})
method with the following object (configuration object can be omitted):
{
theme:'sap_horizon', // SAPUI5 Theme
version: '1.99.0', // SAPUI5 Version
basePath: '', // Path under which you want the sandbox to be served
appConfigPath: '', // External sandbox appconfig json file to be merged with generated appconfig
locale: '', // Language to be used for the sandbox environment
template: '', // 'legacy' (non-async launchpad) or 'async' (async launchpad)
modulePaths: '' // object with module paths to be used in the launchpad.html file for "sap-ushell-config"
}
Solution overview: https://blogs.sap.com/2022/03/14/a-fiori-launchpad-sandbox-for-all-your-cap-based-projects-overview/
Sample project setup: https://blogs.sap.com/2022/03/14/a-fiori-launchpad-sandbox-for-all-your-cap-based-projects-sample-project-setup/
- node 18
- pnpm
git clone https://github.com/geert-janklaps/cds-launchpad-plugin
cd cds-launchpad-plugin
pnpm install
pnpm watch
# run cds server
pnpm dev:sapux
# go to http://localhost:4004/$launchpad