Introduction
This documentation is divided into 2 parts:
- Part 1 describes the actual update of the containers and comes in two options
- Option 1 in case you use our recommended docker compose setup.
- Option 2 in case you have a custom setup. It describes the relevant changes that come with Simplifier MAKERS CHOICE 24-11 in a generic way.
- Part 2 describes steps which have to be done independently of the container orchestration mode.
Part 1: Upgrading Simplifier
Option 1: Upgrade using default docker compose
Step 1 – Shutdown Simplifier Instance
Go to the directory where you placed the docker-compose file. Switch into that folder:
cd docker-compose
To stop Simplifier, run
docker compose -f simplifier-standalone.yml down
Step 2 – Get Simplifier setup files
Update the content and switch to the new release branch:
git pull git checkout --track origin/release/MC
The filename simplifier-standalone.yml was changed to docker-compose.yml to comply to the docker standards. You now can omit the -f <filename> parameter to execute docker compose commands.
Step 3 Update .env
Make a copy of your .env file
cp .env .env.8.0
Copy the template as new .env
cp .env.template .env
Edit the new .env file
nano .env
It is mandatory that you adjust the first 3 entries to your needs:
# these 3 variables need to be changed SIMPLIFIER_HOSTNAME=example.simplifier.cloud DB_PASSWORD=MySecret123 DB_ROOT_PASSWORD=MySuperSecret
Set these three values to the same ones you used in your previous .env file. DB passwords are not automatically changed if you change it here.
Optional: a list of all env variables with a short description. Change these as needed.
SIMPLIFIER_HOSTNAME
|
Simplifier Hostname, FQDN, without protocoll. To access Simplifer, https://${SIMPLIFIER_HOSTNAME} needs to be used |
DB_PASSWORD
|
MySQL Database Password |
DB_ROOT_PASSWORD
|
Password for the MySQL root user |
DB_NAME
|
Database name for the Simplifier database. Used as prefix for all plugin/module databases. |
SIMPLIFIER_VERSION
|
Version of Simplifier you want to install. You should not change this. If you want to have another Simplifier version, please check out the appropriate branch instead |
HOST_DATA_PATH
|
Path were all data is stored in the host. |
PLUGINLIST
|
List of all plugins which should be started. Technically, the Workflow Engine is not a plugin, so it is not mentioned here |
SIMPLIFIER_JVM_HEAP_GB
|
How much heap space for Simplier App Server in GB |
TZ
|
Timezone. Only used in Workflow Context |
WF_RT_JVM_HEAP_GB
|
How much heap space for Workflow Runtime in GB |
WF_ARCHIVE_ENABLED
|
For archive related settings, please refer to this documentation. |
WF_ARCHIVE_INTERVAL
|
|
WF_ARCHIVE_MAX_AGE_COMPLETED
|
|
WF_ARCHIVE_TIME
|
|
WF_DT_JVM_HEAP_GB
|
How much heap space for Workflow Designtime in GB |
LAUNCHPAD_JVM_HEAP_GB
|
How much heap space for Launchpad in GB |
FEATURE_SSBO_JS_DEBUGGING
|
Should the experimental feature “Debugging of Server Side Business Objects” be enabled? (Read more) |
DEBUG_CHROME_DEV_TOOLS_EXPOSED_PORT
|
Port used to connect to the debugger. This port needs to be open in your firewall setup. (Read more) |
PDFPLUGIN_SECURITY_ALLOW_JAVASCRIPT
|
Should Javascript execution be allowed in PDF templates? (Read more) |
DYNAMIC_TAB_TITLES_ENABLED
|
Should the dynamic tab icons and tab titles be activated? (Read more) |
Step 4 – renaming data folder
Up to release 7, there was only one storage folder called data. With Release 7 EHP 1 und Release 8, new container images were added with their own persistant storage. Out of historic reason, the folder for simplifier was still called data in our default setup, but the other folders were named accoring to the names of the containers. To have a consistent naming, our default setup now uses simplifier as folder name for the simplifier container. To match this, you should rename the existing folder. If you used the recommended folder structure, you need to do:
mv /var/lib/simplifier/data /var/lib/simplifier/simplifier
Step 5 – Creating shared folder
A new folder is necessary, which acts as a shared volume.
mkdir /var/lib/simplifier/shared
Remark
Since release 8 EHP 2, monitoring data is moved to a separate database. In the default setup, the same MySQL server is used and automatically configured.
Option 2: Generic upgrade instructions, if you are not using our default docker compose setup
Step 1 – Configure monitoring database
Since release 8 EHP 2, monitoring data is moved to a separate database. This database must be a MySQL database and it may be on the same MySQL server as the main simplifier database, but also may reside on a different MySQL server. In either case, the connection has to be configured separatly.
To configure this database, the following environtment variables have to be set:
- MONITORING_DBMS=mysql // fixed string - MONITORING_DB_HOST=<hostname> - MONITORING_DB_PORT=<port> // by default MySQL uses 3306 - MONITORING_DB_USER=<dbUserName> - MONITORING_DB_PASS=<password> - MONITORING_DB=<databaseName>
The database has to be present on the configured MySQL server.
Step 2 – update reverse Proxy
Expand header access-control-expose-headers configuration
OData-Version needs to be added to access-control-expose-headers. The complete list is now
access-control-expose-headers: remainingTokenLifetime,OData-Version
Expand header access-control-allow-headers configuration
OData-MaxVersion, OData-Version have to be added to access-control-allow-headers. The complete list is now
access-control-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,SimplifierToken,SimplifierApp,SimplifierModule,SimplifierModuleInterface,SimplifierClientBusinessObject,SimplifierClientBusinessObjectFunction,sap-cancel-on-close,sap-contextid-accept,MaxDataServiceVersion,DataServiceVersion,Content-Length,SimplifierApiKey,OData-MaxVersion,OData-Version,MIME-Version,X-CSRF-Token
Step 3 – create shared folder
A new folder is necessary, which acts as a shared volume. E.g. you can create /var/lib/simplifier/shared:
mkdir /var/lib/simplifier/shared
You have to mount this path to the simplifier container and to the workflow designtime container.
For the Simplifier container:
/var/lib/simplifier/shared:/opt/simplifier/shared
For the workflow designtime container:
/var/lib/simplifier/shared:/home/workflowDesigntime/shared
You can change /var/lib/simplifier/shared to whatever folder you prefer. You must leave the mount targets /opt/simplifier/shared and /home/workflowDesigntime/shared unchanged!
Part 2: Doings after upgrade
Step 1: Recreate keystores (optional)
Recreating keystores is only necessary, if you are using a custom keystore in your current setup. If you did not implement this, you can skip this step.
With Simplifier Release 8 EHP 1, the JVM version changed. Because of this, the keystore format changed, as well as the correct location for the keystore.
To edit the keystore, please always use keytool from within the container. The path to keytool is
/usr/lib/jvm/graalvm-community-openjdk-20.0.1+9.1/bin/keytool
The path of the cacerts file is
/usr/lib/jvm/graalvm-community-openjdk-20.0.1+9.1/lib/security/cacerts
Step 2: Update Simplifier Standard Content
Download the latest Standard Content from Marketplace and import it to your Simplifier Instance. Make sure using import scenarios ‘Overwrite all’ or ‘Skip unchanged’ (recommended).
Step 3: Implement Changes mentioned in Release and Migration Notes
Follow our Release Notes and Migration Notes for all Enhancement Packages since Release 8 and implement the necessary changes described there.
- Release Notes and Migration Notes for Simplifier 8 EHP 1
- Release Notes and Migration Notes for Simplifier 8 EHP 2
- Release Notes and Migration Notes for Simplifier 8 EHP 3
- Release Notes and Migration Notes for Simplifier 8 EHP 4
- Release Notes and Migration Notes for Simplifier MAKERS CHOICE 24-11