Vorab aber ein paar Begriffe: TYPO3 unterscheidet zwischen Major Releases und Minor Releases. Bei Majorversionen handelt es sich um die erste, namengebende Zahl einer Version. So ist TYPO3 11 LTS eigentlich die Version 11.5, TYPO3 10 ist die Version 10.4. Eine Major Version enthält große Veränderungen im Vergleich zur vorhergehenden Major Version.
Die zweite Zahl kennzeichnet die Nebenversion. Bis die stabile LTS Version veröffentlicht wird, durchläuft die neue Majorversion mehrere Stufen, in den neue Funktionalitäten hinzugefügt werden und bestehende Fehler in den Neuerungen korrigiert werden. Die LTS Version ist dabei die erste stabile Nebenversion und beinhaltet alle neuen Funktionen und Neuerungen. Deswegen sind die Nebenversionen bei einem Update/Upgrade zu vernachlässigen. Denn solange die LTS Version noch nicht veröffentlicht wurde, lohnt sich ein Upgrade nicht, da die Version noch nicht fertig entwickelt worden ist.
Nach dem Release der LTS Version, folgen nur noch Minorversionen. Sie stehen an dritter Stelle der Versionszahl und beinhalten Bugfixes und Sicherheitsupdates. Das aktuelle TYPO3 ist die Version 11.5.18 (Stand: November 2022). Das bedeutet, dass TYPO3 11 LTS bereits 18 Patches erhalten hat. Deshalb ist es im Allgemeinen ratsam, mehrere Monate nach der Veröffentlichung einer LTS-Version abzuwarten, bevor man seine Instanz aktualisiert, da in dieser Zeit besonders viele Patches veröffentlicht werden. Beim Aktualisieren von einer Minorversion auf eine andere spricht man oft von einem Update. Der Umstieg auf eine andere Majorversion wird dagegen als Upgrade bezeichnet. Ein Upgrade, bei dem ein oder mehrere Majorversionen dazwischen liegen, wird auch Versionssprung genannt, z. B. bei einem Upgrade von TYPO3 8 LTS auf TYPO3 11 LTS. – Wir möchten uns vor allem den Ablauf eines Upgrades anschauen. Je nach TYPO3 Version gibt es unterschiedliche Dinge zu beachten. Allerdings sind die grundsätzlichen Schritte bei einem Upgrade immer ähnlich.
Vorbereitungen
Wenn Sie sich bereits mit Upgrades beschäftigt haben, werden Sie wahrscheinlich gelesen und gehört haben, dass Upgrades niemals auf einer Live-Instanz durchgeführt werden sollten. Das ist nicht ohne Grund so: Jedes Upgrade/Update kann schiefgehen und nicht alle Komplikationen, die auftreten, sind vorhersehbar. Zur Not können Sie weiterhin Ihre alte Instanz nutzen, sollte etwas nicht funktionieren. Deswegen sollte die vorhandene Instanz zunächst kopiert werden, um auf dieser Kopie das Upgrade durchführen zu können. Weiterhin empfiehlt es sich ein Backup bereitzuhalten, für den Fall, dass während des Upgrades Strukturen kaputt gehen, die wiederhergestellt werden müssen. Für das Backup bzw. die Kopie einer TYPO3 Instanz muss man zwei Dinge tun: alle Dateien kopieren und die Datenbank kopieren. Während des ganzen Upgrade-Vorganges sollte außerdem ein Content-Freese herrschen, damit Inhalte nicht doppelt (vor und nach dem Upgrade) eingepflegt werden müssen. Alle folgend beschriebenen Schritte finden Sie auch unter auf der offiziellen TYPO3 Website.
Systemanforderungen
Bevor das eigentliche Upgrade beginnt, muss zudem geprüft werden, ob die Systemanforderungen für die neue Version erfüllt sind. So ist es ratsam, eine möglichst aktuelle PHP Version zu nutzen, die mit der gewünschten TYPO3 Version kompatibel ist. Im Fall von TYPO3 11 ist das PHP 8.1.
Extensions
Bevor man beginnt, mit der Kopie zu arbeiten, sollte man prüfen, ob die Kopie genauso funktioniert, wie die Live-Instanz. Im Zuge dessen sollten auch die Erweiterungen nach Deprecations durch das Deprecations-Log im Install Tool geprüft werden, dieser sollte einige Tage laufen. Alternativ oder zusätzlich sollte der Extension-Scan genutzt werden. Die Deprecations sollten vor dem Upgrade gelöst werden.
Nicht mehr benötigte Erweiterungen müssen nicht geupdatet und können direkt gelöscht werden, sodass der Aufwand an dieser Stelle reduziert werden kann. Denn Erweiterungen zu aktualisieren, ist oftmals der aufwändigere Teil eines Upgrades, im Gegensatz zum eigentlichen TYPO3 Core Update.
Es kann sein, dass Extensions zwar mit der gewünschten TYPO3 Version kompatibel sind, aber nicht mit der verwendeten PHP Version der neuen TYPO3 Version. Dann muss eine ältere PHP Version genutzt werden oder man verzichtet auf den Einsatz solcher Extensions, da sie in vielen Fällen früher oder später sowieso wegfallen werden und sucht nach Alternativen. Weiterhin kann es Extensions geben, die als nicht kompatibel angezeigt werden, aber trotzdem auf der neuen TYPO3-Instanz funktionieren, hier muss man ein wenig testen. Viele Extensions lassen sich einfach auf die neueste Version updaten und nach dem Upgrade der Instanz weiter nutzen. Manchmal ist die neueste Version aber nicht für die TYPO3-Instanz verfügbar, hier kann es sich lohnen, die Extension auf die höchstmögliche Version zu aktualisieren und nach dem Upgrade auf die neueste Version zu bringen. Manche Erweiterungen müssen vor dem Upgrade deaktiviert werden, sie werden danach aktualisiert. Dann gibt es noch individuelle Extensions, die eventuell eigens an die neue Version angepasst werden müssen. Das würde wahrscheinlich den größten Aufwand bedeuten, sodass für die Zukunft im besten Fall auf andere Lösungen gesetzt werden sollte.
Referenz-Index aktualisieren
Im globalen Referenz-Index werden Verknüpfungen zwischen Inhaltselementen und Dateien verwaltet. Überprüfen und Aktualisieren des globalen Referenz-Indexes kann über zwei verschiedene Wege passieren: entweder über die Kommandozeile (CLI) oder über das Modul DB-Überprüfung (in den System Module). Da der Vorgang sehr lange dauern kann, vor allem bei großen Websites mit vielen Seiten und Dateien und wenn es nicht regelmäßig gemacht wird, wird die Methode über CLI empfohlen. Der DB-Check ist vor allem für kleine Websites mit wenigen Unterseiten und Dateien eine Alternative.
Changelog prüfen
Dieser Schritt ist optional, es ist jedoch von Vorteil ein Upgrade gut vorzubereiten, auch indem man sich gründlich informiert. Jeder Changelog einer Version beinhaltet die Punkte 'Breaking Changes', 'Important' ‚Features’, und ‚Deprecations'. Es wird empfohlen, sich mindestens die 'Breaking Changes' und die Punkte unter 'Important' anzuschauen. Es gibt verschiedene Möglichkeiten, die Changelogs zu lesen: im Extension Scanner, im Backend im Upgrade-Modul in den System-Modulen oder online. Auf der offiziellen TYPO3 Website finden Sie auch den Changelog für TYPO3 11. Das Upgrade-Modul hat den Vorteil, dass man nach Tags filtern kann und Changelogs wie eine To-do-Liste abhaken kann.
TYPO3-Core Upgrade
Die notwendigen TYPO3-Sources können per Composer oder wget (oder cURL) von der typo3.org Website geholt werden. Mit dem Befehl composer info typo3/*
werden alle aktuell genutzten TYPO3 Pakete in der Installation aufgelistet. Jedes Paket muss beim Upgrade aktualisiert werden. Mit dem Composer Helper Tool lässt sich ein Upgrade-Kommando bequem generieren. Typischerweise kommt es in Zuge dessen zu Dependency Fehlern. Auf typo3.org finden Sie alle Infos zum TYPO3-Core Update und eine Beschreibung, wie Sie mit diesen Errors umgehen.
Nachbereitungen
Alle Schritte, die nach dem TYPO3-Core Update gemacht werden müssen, können Sie auch auf der offiziellen TYPO3 Seite nachlesen.
Upgrade Wizard
Danach muss der Upgrade Wizards durchgeführt werden. Dieser befindet sich im Installationstool, das über beispiel-website.de/typo3/install.php
geöffnet werden kann. Im Upgrade Wizard finden Sie mehrere Schritte, die Sie nacheinander durchführen sollten. Es beginnt dabei fehlende Datenbank-Tabellen und -Felder zu erzeugen. Sie können alle Aktualisierungen aber auch in der Kommandozeile durchführen.
Manche Schritte im Upgrade Wizards beinhalten Funktionen, die Sie eventuell nicht brauchen, achten Sie darauf diese nicht auszuführen.
Datenbank analysieren
Gehen Sie im Anschluss in das Modul Wartung und nutzen Sie die Option zum Analysieren der Datenbank. Im Ergebnis wird eine Liste mit Änderungen angezeigt, die fast alle ausgeführt werden können. Aufpassen sollte man beim Löschen von vermeintlich nicht mehr benötigten Tabellen, stellen Sie sicher, dass diese tatsächlich gelöscht werden können, bevor Sie die Änderung ausführen.
Letzte Schritte
Ebenfalls im Wartungsmodul sollten Sie die Sprachpakete updaten. Unter Umständen sollten Sie die Benutzereinstellungen in demselben Modul zurücksetzen. In jedem Fall leeren Sie außerdem den Cache unter Wartung und entfernen im Install Tool temporäre Assets mit 'Clean Up'.
Kommentare