Customizing Guide - Launchpad - 7.4 (5.19.0) - en
Customizing Guide - Launchpad - 7.4 (5.19.0) - en
1. You may not use the SAP Material for a purpose competitive with SAP or its products unless otherwise
clearly permitted by applicable law.
2. You may not use the SAP corporate logo.
3. No use of other SAP trademarks is granted under this section. For information regarding use of SAP
trademarks, see http://www.sap.com/corporate/en/legal/trademark.html.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or
registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product
and service names mentioned are the trademarks of their respective companies.
Customizing Guide – Launchpad III
Table of contents
1 Introduction .......................................................................................................................................................... 1
2 Configuration ....................................................................................................................................................... 1
2.1 Functionality ....................................................................................................................................................... 1
2.1.1 Functions in menu.xml ................................................................................................................................ 1
2.1.2 Order of Functions in menu.xml .................................................................................................................. 1
2.1.3 Automatic Logout ........................................................................................................................................ 2
2.2 Security ............................................................................................................................................................... 2
2.2.1 Authentication using LDAP ......................................................................................................................... 2
2.2.1.1 Preconditions ...................................................................................................................................... 2
2.2.1.2 The Authentication Service LDAP Credentials Verifier ....................................................................... 2
3 Configuration of Launchpad Apps .................................................................................................................... 3
3.1 Customization ..................................................................................................................................................... 3
3.1.1 MediaPanel App.......................................................................................................................................... 3
3.1.1.1 Enable Listener on Omnichannel Point-of-Sale .................................................................................. 3
3.1.1.2 Content Upload Function for Uploading Images for the MediaPanel App .......................................... 3
4 Configuration of Launchpad Translation Service ............................................................................................ 5
4.1 Introduction ......................................................................................................................................................... 5
4.2 Translation Package ........................................................................................................................................... 5
4.2.1 Translation Package Location .................................................................................................................... 6
4.3 Launchpad Configuration ................................................................................................................................... 7
5 Launchpad Remote App ..................................................................................................................................... 8
5.1 Introduction ......................................................................................................................................................... 8
5.2 Usage ................................................................................................................................................................. 8
5.3 Portal Applications in Launchpad ....................................................................................................................... 8
Customizing Guide – Launchpad 1
1 Introduction
This document describes the configuration of the Launchpad.
2 Configuration
2.1 Functionality
2.1.1 Functions in menu.xml
It is configurable where the function call of an App will be located in the Launchpad menu.
Example
<menu
caption="${customization}"
id="customisation_menu_id">
<node
caption="${customization.editors}"
id="editors_node"
type="title">
<function
id="dsg-content-upload"
caption="${upload_images_media_panel.caption}"...
frontend-configuration.properties:
2.2 Security
2.2.1 Authentication using LDAP
In addition to the standard option where user credentials are stored in the database, User Management 2 also
supports LDAP authentication. This means that the application connects to the configured LDAP server and
validates whether the user with the specified user name and password exists. The authentication method (LDAP,
DB) can be changed in the configuration. Please note that Search and Bind are currently the only supported LDAP
protocol operations. The LDAP access can be limited to read-only.
2.2.1.1 Preconditions
• The worker/operator is stored in the SES database and the login name in the database must match the
login name in LDAP (there is no import from LDAP)
• The operator to workgroup and operator to store mapping is managed in the SES database (no
workgroups/user roles are imported from LDAP)
• The password stored in the SES database is not used for authentication (just the user name)
• Optional: If LDAP anonymous access is not allowed, a manager account can be configured
security.properties:
Customizing Guide – Launchpad 3
Afterwards, there is the LDAP Credentials Verifier configuration in the same file.
#####################################
# LDAP Credentials Verifier Config #
#####################################
# REQUIRED: The url used to connect to main LDAP server. It is composed of the LDAP host addresss, port and a
domain identification (domain component - e.g. company web domain)
core.common.security.server.credentials-verifier-ldap.server.url=
# fallback url is used to connect to backup LDAP server. Use the same format as for main server url
core.common.security.server.credentials-verifier-ldap.server.fallbackUrl=
# userSearchBase is a LDAP Context name to search in, relative to the base of the configured url, example
ou=ES-Users,OU=Benutzer
core.common.security.server.credentials-verifier-ldap.server.userSearchBase=
# The filter expression used in the user search. This is an LDAP search filter with optional argument that
will be substitued by a user login name
# Example: (uid={0}) - this would search for a username match on the uid attribute.
core.common.security.server.credentials-verifier-ldap.server.userSearchFilter=
# manager login name and password setting will not execute the bind operation anonymously, leave the following
properties empty when anonymous access is required, example cn=manager,dc=springframework,dc=org
core.common.security.server.credentials-verifier-ldap.server.managerDn=
core.common.security.server.credentials-verifier-ldap.server.managerPassword=
The following configuration is necessary so that the images configured in the MediaPanel Editor can also be
updated on the customer display during cash register operation.
clientSystem.properties:
SystemConfig.configChangeListenerEnabled=true
3.1.1.2 Content Upload Function for Uploading Images for the MediaPanel App
To use the Content Upload App specifically to upload images required by the MediaPanel App, the function
configuration must be adjusted in the menu.xml.
Example:
4 Customizing Guide – Launchpad
<urls>
<url id="dsg-application-context" value="dsg" />
<url id="dsg-api-context" value="services/rest/media/v1" />
<url id="dsg-resources-path" value="image" />
<url id="dsg-sub-path" value="customer/panels" />
<url id="dsg-default-folders"
value="welcomeMediaPanel,breakMediaPanel,posclosedMediaPanel,registrationMediaPanel1,paymentMediaPanel1" />
<url id="dsg-extensions" value="png,jpg,jpeg" />
</urls>
<menu
caption="${customization}"
id="customisation_menu_id">
<node
caption="${customization.editors}"
id="editors_node"
type="title">
<function
id="dsg-content-upload"
caption="${upload_images_media_panel.caption}"
applicationUrl="${server}/${sdc-application-
context}/tenants/${tenantId}/stores/${storeId}/ui5-functions/content_upload/"
applicationId="com.gk_software.gkr.editor.content_upload"
icon="${server}/${sdc-application-context}/tenants/${tenantId}/stores/${storeId}/ui5-
functions/content_upload/icon/content_upload.svg">
<parameters>
<parameter name="dsgUrl" value="${server}/${dsg-application-context}"/>
<parameter name="apiPath" value="${dsg-api-context}"/>
<parameter name="resourcesPath" value="${dsg-resources-path}"/>
<parameter name="subPath" value="${dsg-sub-path}"/>
<parameter name="createDefaultFolders" value="${dsg-default-folders}"/>
<parameter name="extensions" value="${dsg-extensions}"/>
<parameter name="maxFileSize" value="2"/>
<parameter name="maxFileNameLength" value="64"/>
<parameter name="showThumbnail" value="true"/>
<parameter name="allowFolderMaintenance" value="false"/>
<parameter name="pagingLimit" value="200"/>
</parameters>
</function>
</node>
</menu>
For the MediaPanel Editor, there must be a separate directory for each panel on the DSG in which the
corresponding images are stored. After selecting the desired panel, the MediaPanel Editor only shows the content
of the folder with the same name on the DSG for image selection.
Enter the name of the folder to be created automatically here. The folder names must correspond to the names of
the panels in mediaPanel.properties.
In addition, set <parameter name="allowFolderMaintenance" value="false"/> to ensure that the user cannot create
their own folders or edit or delete the automatically generated folders. This would result in the MediaPanel Editor
no longer being able to display images for selection.
So that the Content Upload App uses the same directories and file extensions to upload the images for the
MediaPanel Editor as those used by the MediaPanel Editor to select the images, the following parameters must
have the same value. For this reason, variables have been defined that you should use as parameter values.
Customizing Guide – Launchpad 5
dsg-content-upload dsg-content-selection
The variables themselves are defined by the element <url> in the menu.xml, see the example in the chapter
Content Upload Function for Uploading Images for the MediaPanel App.
It is possible to prepare packages with custom translations to be used by Launchpad. A prepared ZIP archive with
the translations will be uploaded to web storage (for example: DSG repository) and the URL for this package is
provided to Launchpad in the configuration. Launchpad downloads the package to its file system and provides the
new custom translations to the front-end client (web browser) via API.
The translation package must be a .ZIP archive with a specific structure. The default product translation package is
part of the Launchpad Apps build and is used as an example of what the translation package should look like.
6 Customizing Guide – Launchpad
translation-pack.zip
translation-pack.zip/accounting
translation-pack.zip/accounting/automatic_day_end_closing
translation-pack.zip/accounting/automatic_day_end_closing/i18n
translation-pack.zip/accounting/automatic_day_end_closing/i18n/resources.properties
translation-pack.zip/accounting/automatic_day_end_closing/i18n/resources_ar.properties
translation-pack.zip/accounting/automatic_day_end_closing/i18n/resources_ar_AE.properties
translation-pack.zip/accounting/automatic_day_end_closing/i18n/resources_ar_SA.properties
translation-pack.zip/accounting/automatic_day_end_closing/i18n/resources_bg.properties
translation-pack.zip/accounting/automatic_day_end_closing/i18n/resources_bg_BG.properties
translation-pack.zip/accounting/automatic_day_end_closing/i18n/resources_bs.properties
translation-pack.zip/accounting/automatic_day_end_closing/i18n/resources_bs_BA.properties
translation-pack.zip/accounting/automatic_day_end_closing/i18n/...
translation-pack.zip/accounting/bank_payment
translation-pack.zip/accounting/bank_payment/i18n
translation-pack.zip/accounting/bank_payment/i18n/resources.properties
translation-pack.zip/accounting/bank_payment/i18n/resources_ar.properties
translation-pack.zip/accounting/bank_payment/i18n/resources_ar_AE.properties
translation-pack.zip/accounting/bank_payment/i18n/resources_ar_SA.properties
translation-pack.zip/accounting/bank_payment/i18n/resources_bg.properties
translation-pack.zip/accounting/bank_payment/i18n/resources_bg_BG.properties
translation-pack.zip/accounting/bank_payment/i18n/resources_bs.properties
translation-pack.zip/accounting/bank_payment/i18n/resources_bs_BA.properties
translation-pack.zip/accounting/bank_payment/i18n/...
translation-pack.zip/accounting/change
translation-pack.zip/accounting/change/i18n
translation-pack.zip/accounting/change/i18n/resources.properties
translation-pack.zip/accounting/change/i18n/resources_ar.properties
translation-pack.zip/accounting/change/i18n/resources_ar_AE.properties
translation-pack.zip/accounting/change/i18n/resources_ar_SA.properties
translation-pack.zip/accounting/change/i18n/resources_bg.properties
translation-pack.zip/accounting/change/i18n/resources_bg_BG.properties
translation-pack.zip/accounting/change/i18n/resources_bs.properties
translation-pack.zip/accounting/change/i18n/resources_bs_BA.properties
To upload the packages to the DSG repository, the user can use the Launchpad function Software Packages in
the Installation & Update section.
Customizing Guide – Launchpad 7
The location of the translation package must be provided to Launchpad as part of the configuration. The user can
find the URL to the location of the translation package in the DSG repository from the hostname of the DSG server
and the location in the DSG structure.
The path needs to refer to the folder in the DSG structure that the translation package was uploaded to. It is
highlighted in red in the screenshot above.
https://<hostname>:<port>/app-dsg/content/cep/<path>
https://test01.gk-software.com:8443/app-dsg/content/cep/SoftwarePackage/translations/launchpad
Launchpad checks for and downloads new packages at one hour intervals.
5.2 Usage
We can simply add it into menu.xml in the same way as any other application node. We can add multiple remote
application components to the menu but we need a working resourceID for each component to be used.
Based on the configuration, the applicationUrl parameter sometimes needs the tenant/store
specification applicationUrl="/gkr-launchpad/tenants/${tenantId}/stores/${storeId}/app/remoteApp/".
Email: [email protected]
www.gk-software.com