Simplifier Upgrade from 7.0 to 7 EHP 1
This is a generic upgrade guide. If you use docker compose, please use the specific upgrade guide found here.
If you do not use docker compose, and you neither use AWS ECS nor any Kubernetes based solution, you should consider migrating your setup to docker compose. For that, first upgrade your system to Simplifier 7 EHP 1 following this guide, and then analyze the docker compose description found here to plan the migration path of your setup. If you need help, please ask your Simplifier Customer Success Manager for possibilities.
What has changed in Simplifier 7 EHP 1?
There are two changes which require infrastructure changes:
- Two plugins, Key Value Store and JSON Store, changed their backend
- The new feature “Simplifier Launchpad” is distributed as a separate container image
Step 1 – Preperations
Shut down Simplifier. Leave your database server running.
For this guide, ${SIMPLIFIER_DATA_DIR} refers to the path on the host system, where Simplifier data is stored. This is the same path that you mount to /opt/simplifier/data in your docker configuration.
If you do not remember this path, use this command to list all containers and their mounted volumes:
for contId in `docker ps -q`; do echo "Container Name: " `docker ps -f "id=$contId" | awk '{print $NF}' | grep -v NAMES`; echo "Container Volume: " `docker inspect -f '{{.Config.Volumes}}' $contId`; docker inspect -f '{{ json .Mounts }}' $contId | jq '.[]'; printf "\n"; done
Remember the volume path to adjust it before you upgrade to major version.
Step 2 – Setup changes for plugin changes
These changes are covered in detail here.
Both plugins need a database. These databases have to be created and proper access rights must be given to the db user who will access them. The easiest setup is to use the same database server and user as you use for the main Simplifier database. Here a short description on how to do these changes. For more details or a more specific setup, please refer to the dedicated documentation here.
Backup database files
Make a copy of
${SIMPLIFIER_DATA_DIR}/plugins/jsonStore/jsonStore ${SIMPLIFIER_DATA_DIR}/plugins/keyValueStore/kvstore
Create databases and grant access rights
For MySQL, run this in your Simplifier Database Server. ${DB_NAME} refers to the database name you configured for your main Simplifier database. You are already using this value for the MYSQL_DB environment variable or in your config.include setup.
CREATE DATABASE ${DB_NAME}_keyvalue; GRANT ALL PRIVILEGES ON `${DB_NAME}_keyvalue`.* TO `simplifier`@`%`; CREATE DATABASE ${DB_NAME}_jsonstore; GRANT ALL PRIVILEGES ON `${DB_NAME}_jsonstore`.* TO `simplifier`@`%`; FLUSH PRIVILEGES;
Step 3 – Setup changes for Launchpad
Create permanent storage location
Create a folder called launchpad in a place outside ${SIMPLIFIER_DATA_DIR}.
Change owner and group of this folder to 1000:1000.
Add this folder to your backup.
Step 4 – Reverse Proxy changes
Simplifier now provides a Launchpad, which should be the default entry point. Simplifier itself is already configured that way. If you configured any redirects in your reverse proxy configuration for the default route /, e.g. an auto redirect to /UserInterface, you need to remove that rule.
Step 5 – Prepare container
To run Simplifier 7 EHP 1, you need the following components:
- a database server
- a reverse proxy
- Simplifier runtime container
- Simplifier launchpad container
Requirements for database server and reverse proxy didn’t change. They are not covered in this guide but expected to be configured properly to support Simplifier 7.0.
Prepare a configuration with the data explained in the following two sections. The kind of configuration depends on your environment. In a plain docker environment, consider to write the correct docker run commands in a short shell script.
Simplifier
The container image is named:
simplifierag/runtime:7.1
It needs the following environment variables:
VIRTUAL_HOST | FQDN Simplifier will be accessible under via HTTP |
DB | mysql (for Oracle support, contact Customer Success) |
MYSQL_HOST | Hostname of your Database server |
MYSQL_PORT | 3306 for MySQL default |
MYSQL_USER | Database user name |
MYSQL_PASSWORD | Database users password |
MYSQL_DB | (Base) Name for the Simplifier Database |
PLUGINLIST | List of activated plugins. Default: keyValueStorePlugin,pdfPlugin,captcha,contentRepoPlugin,jsonStore |
SECOND_SEED | Hostname of launchpad container in the docker network |
MODULE_HOST | Hostname of Simplifier container in the docker network |
SIMPLIFIER_HOST | Hostname of Simplifier container in the docker network |
Additionally, a storage location needs to be mounted. The path inside the container is /opt/simplifier/data.
Simplifier Launchpad
The container image is named:
simplifierag/launchpad:7.1
It needs the following environment variables:
SIMPLIFIER_HOST | Hostname of Simplifier container in the docker network |
SECOND_SEED | Hostname of launchpad container in the docker network |
MODULE_HOST | Hostname of launchpad container in the docker network |
Additionally, a storage location needs to be mounted. The path inside the container is /home/launchpad.
Step 6 – Run Simplifier
If the database server is not running, start it as the first container in the boot sequence.
In the step before, you prepared a configuration which sets all environment variables and the volume mounts. When the database server is running, start the Simplifier container and the Launchpad container with your configuration. If the reverse proxy is not yet running, start it as well.
Step 7 – Update Standard Content
Download the current standard content here and import it (Documentation).