Vor inzwischen über einem Jahr erschien Joomla! 4, die aktuellste Major-Version im Joomla!-Universum. Für Agenturinhaber*innen und Freelancer ist ein solches Major-Update auch immer verbunden mit einem “Migrationsmarathon” um alle Kundenprojekte und die eigenen Spielwiesen auf die neueste Version zu updaten. Grund genug unsere Erfahrungen aus dem Agenturalltag in einem kleinen Leitfaden zusammenzufassen.

Anders als bei einem Update innerhalb der Versionsnummer, also einem Patch- oder Minor-Update, sind bei einem Major-Update im Sinne des Semantic Versioning (https://semver.org/lang/de/) Backward-Breaking-Changes erlaubt. Für uns bedeutet das, dass ein Kundenprojekt in einer geschützten Testumgebung migriert und anschließend getestet werden sollte, bevor dieses wieder in das Live-System eingespielt wird. So kann das System in Ruhe auf Herzen und Nieren getestet und etwaige Inkompatibilitäten ausgemerzt werden.

Für alle, die den Text überspringen wollen, haben wir den Migrationsprozess als Schaubild zusammengefasst. Hier geht’ zu unserem Quickguide.

Doch langsam, schauen wir uns die Schritte in Ruhe an:

  1. Backup der Seite anfertigen
  2. Ein Testsystem aufsetzen
  3. Extensions updaten
    1. Sind alle eingesetzten Extensions mit der neuen Version kompatibel?
    2. Sofern kompatibel: Update einspielen
    3. Sofern nicht kompatibel: Alternative finden und Daten migrieren
    4. Nicht kompatible Erweiterungen vor dem Update deaktivieren!
  4. Joomla! Update
    1. Ein neues Backup anlegen
    2. Update-Server auf “Joomla Next” umstellen und Update durchführen
    3. Bei Fehlern:
      1. Screenshot der Fehlermeldung
      2. Joomla!-Update-Log im Logs-Ordner sichern
      3. Fehlermeldung lesen und versuchen zu verstehen
      4. Saubere Installation mit gemachtem Backup aufsetzen
      5. Notwendige Anpassungen an der Seite vornehmen
      6. Ein neues Backup anlegen

Schritt 1: Kein Backup - kein Mitleid!

Wie bei allen größeren Änderungen an einer Joomla-Instanz empfiehlt es sich, vorab ein Backup der Seite anzufertigen und extern abzulegen. Das Backup dient zum einen als Fallback, sollte im Prozess doch etwas schief laufen. Zum anderen erlaubt uns ein Akeeba-Backup-Archiv den einfachen Transfer der Website von einer Serverumgebung auf eine andere und erleichtert somit auch die Arbeit und spart uns kostbare Zeit.

Schritt 2: Ein Testsystem aufsetzen

Im zweiten Schritt empfiehlt es sich, wie bereits beschrieben, ein Testsystem auf einem externen Server aufzusetzen. Nach Möglichkeit sollte dabei das Error-Reporting in der globalen Joomla!-Konfiguration aktiviert sein und auf “Maximum” stehen. Zudem empfiehlt sich ein großzügiges Memory Limit(192+ MB) und eine ausreichende Max-Execution-Time (180+ Sekunden).

joomla migration 1

Schritt 3: Extensions auf Kompatibilität prüfen und updaten

Nachdem wir unser Testsystem eingerichtet haben, können wir im nächsten Schritt mit den eigentlichen Update-Vorbereitungen beginnen. Da eine reine Migration des Core-Systems kein Problem wäre und an dieser Stelle keine Inkompatibilitäten entstehen können wir uns an dieser Stelle zunächst komplett auf etwaige Dritt-Erweiterungen konzentrieren, die auf der Seite installiert sind.

Im ersten Schritt gilt es zu prüfen, ob alle verwendeten Erweiterungen mit der neuen Major-Version kompatibel sind. Aus dieser Prüfung resultieren nun die folgenden Möglichkeiten:

  • Die verwendete Erweiterung ist kompatibel: Das bedeutet für uns, dass wir einfach die aktuellste Version einspielen können und unser Soll an dieser Stelle getan ist.
  • Die verwendete Erweiterung ist nicht kompatibel: Nun stehen wir vor einem Problem, da die bestehenden Inhalte so nicht einfach übernommen werden können. Um die Seite nun doch updaten zu können, bedarf es also einer alternativen Lösung. Diese Lösung kann entweder die Verwendung einer alternativen Erweiterung mit ähnlichem oder identischen Funktionsumfang sein. Alternativ (und sowieso) gilt es zu überprüfen, ob der Funktionsumfang der verwendeten Extension mittlerweile nicht auch einfach mit Joomla!-Corefunktionalitäten abgebildet werden kann. Eine Reduktion von verwendeten Dritterweiterungen reduziert Migrationsaufwände in der Zukunft und verschlankt die Joomla-Installation nachhaltig.

In beiden Fällen gilt es zu beachten, dass selbstverständlich alle Daten, die über inkompatible Erweiterungen verwaltet werden, migriert werden müssen. Ob dies automatisiert oder per Hand geschieht, gilt es von Fall zu Fall zu prüfen.

Vor dem eigentlichen Update gilt es zudem, alle nicht kompatiblen Dritterweiterungen (insbesondere Plugins) zu deaktivieren, sodass diese den Update-Prozess nicht stören.

Schritt 4: Joomla! updaten

Die Vorbereitungen sind gemacht, sodass wir uns dem eigentlichen Joomla!-Update zuwenden können. Hierzu müssen wir zunächst den Joomla!-Update Server auf “Joomla Next” setzen. Die Umstellung können wir in der globalen Konfiguration vornehmen (s. Screenshot).

joomla migration 2

Im Anschluss empfiehlt es sich, ein weiteres Backup der Seite zu erstellen. Hintergrund ist, dass wir so einen Fallback für den Fall haben, dass das Update nicht wie gewünscht durchlaufen sollte. Ohne dieses Update wären alle unsere vorangegangenen Anpassungen an der Seite verloren, sofern diese beim Update irreparabel geschädigt wird.

Ist das Backup erstellt, kann die Seite auf die nächste Major-Version upgedatet werden.

Im Optimalfall ist die Arbeit für uns an dieser Stelle beendet. Das Update lief problemlos durch und die Webseite ist nach wie vor voll funktionsfähig. Leider läuft im Alltag jedoch nicht immer alles wie gewünscht und ohne Probleme. Entsprechend brauchen wir Lösungen, wie wir vorgehen, sofern das Update fehlschlägt. Grundsätzlich gilt Ruhe bewahren und ganz wichtig: Fehlermeldungen ausführlich lesen und versuchen zu verstehen. Dadurch, dass wir das Update auf einem Testsystem durchgeführt haben und die Live-Instanz nach wie vor erreichbar ist, gibt es keinen Grund zur Panik.

Hier unsere Tipps für den richtigen Umgang mit Fehlermeldungen:

  • Screenshot der Fehlermeldung anfertigen
  • Joomla!-Update-Log im Logs-Ordner sichern
  • Fehlermeldung lesen und versuchen zu verstehen

Haben wir die Fehlermeldungen verstanden, gilt es im nächsten Schritt ein neues sauberes Testsystem aufzusetzen (hierzu nutzen wir unser vorab erstelltes Backup) und die notwendigen Schritte durchzuführen, um die Fehler im nächsten Durchlauf zu vermeiden. Haben wir die nötigen Änderungen durchgeführt, erstellen wir im Anschluss ein neues Backup, um auch diese Arbeitsschritte für die Zukunft zu sichern. Diese Arbeitsschritte wiederholen wir solange, bis das Update erfolgreich durchgeführt werden kann.

Der Quickguide:

quickguide migration de