KLXM Studio – Home
Get in touch

Updates & upgrades

A new version, without worries.

Code is replaced, content stays where it is. Schema changes are always additive – which is why a rollback to the previous release works too.

Process

What happens in every update.

  1. Back up

    Websites, media poolShared media library for several websites of one installation: images and files exist once and can be used on all participating websites. and shared tables.

  2. Replace code

    app, vendor, resources, public/assets, bin, kitIn KLXM Studio, the package of design and building blocks for a website: layout, colours, fonts and the matching blocks. A kit can be adapted or switched – the content stays..

  3. Migrate

    Bring the databases up to the code.

  4. Check

    health for all websites – only then live.

Recommended

With the deploy script.

Builds, uploads into a new release folder, backs up, migrates, checks – and only switches when everything is green. One-time setup as in deploy/README.md.

  1. Describe the target once

    Copy from example.env: SSH target, base folder, address for the smoke test. The file does not belong in the repository.

    deploy/targets/production.env
    SSH_TARGET="client@server.example.org"
    BASE="/var/www/vhosts/client.org"
    URL="https://www.client.org"
  2. Staging first

    stagingTest environment that mirrors the live website. New features and content can be checked there before they go online – search engines stay locked out.en.wikipedia.org (opens in a new tab) is a separate installation with a copy of the live content (noindex, e-mails redirected).

    deploy.sh
    deploy/sync-content.sh default     # live content to staging
    deploy/deploy.sh staging
  3. Then live

    Automatically backs up all websites, pools and shared tables first; then migrate, extensions:publish and health.

    deploy.sh
    deploy/deploy.sh production
  4. Back, if needed

    Activates the previous release – just a symlink, the database stays.

    --rollback
    deploy/deploy.sh production --rollback

A template for GitHub Actions is included: deploy/github-actions/deploy.yml.example (push to main → staging, production with approval).

Without releases

By upload.

For installations where the code is uploaded directly.

  1. Back up

    SSH
    php bin/console site:backup --all
    php bin/console pool:backup --all
    php bin/console shared:backup --all
  2. Replace code

    Overwrite app/, vendor/, resources/, public/assets/, bin/, lang/ and the kits. config/, storage/ and the media folders stay untouched.

  3. Migrate and publish files

    Website databases otherwise migrate themselves on the next request – shared, network and support databases only this way.

    SSH
    php bin/console migrate --all
    php bin/console extensions:publish
    php bin/console cache:clear --all
  4. Check

    health
    php bin/console health --all

Upgrades

Kits and extensions.

Do my kits and extensions fit the new version?

Every kit and extension states its minimum version (requires). Incompatible ones show up in health and the system info; php bin/console kit:check --all reports outdated overrides.

Contact

Talk to KLXM Crossmedia.

Installation, migration or hosting for your project – we are happy to help. We reply personally.

KLXM Crossmedia GmbH
Am Schürmannshütt 40g
47441 Moers
Germany