Stolpersteine vermeiden: Update auf TYPO3 4.2
Der erste Schritt beim Update einer Software von der Komplexität eines TYPO3 sollte zur eigenen Sicherheit immer ein Blick in das Changelog sein. Ausgehend von TYPO3 3.5 sollte die Reihenfolge der Versionssprünge bis zum nagelneuen 4.2.1 (oder 4.1.7, falls kein PHP 5.2.x zur Verfügung steht) wie folgt aussehen, um Probleme beim Update so gering wie möglich zu halten: Bis 3.8.1 sollte keine Version ausgelassen werden. Danach ist der Sprung auf 4.1.7 bedenkenlos möglich und von dort aus, falls PHP 5.2.x vorhanden, auf 4.2.1. Es ist ratsam, PHP 5.2.x einzusetzen, denn im Vergleich zu den Vorgängern ist es wesentlich sicherer und performanter.
Wie komplex das Update im Einzelfall ist, hängt davon ab, welche Erweiterungen eingesetzt werden und ob diese lokal, global oder systemweit installiert sind. Nichtsdestotrotz gelten für alle TYPO3-Updates auch gleiche Regeln.
TYPO3-Update in wenigen Schritten
Zuerst muss der neue Quelltext (typo3_src-4.x) auf den Server kopiert werden. Wer einen eigenen Webserver zur Verfügung hat, kann das Archiv mit Tools wie wget oder subversion direkt in das richtige Verzeichnis laden und entpacken. Ansonsten tut es auch ein beliebiger FTP-Client. Als nächstes werden die symbolischen Links auf die verwendete TYPO3-Version angepasst. Abhängig von der neuen Version ändern sich die SymLinks entweder grundlegend oder „typo3_src“ muss lediglich auf den neuen Quelltext zeigen. Welche SymLinks benötigt werden, steht in der Datei „install.txt“, die TYPO3 mitliefert.
Als nächstes müssen zwei Schritte im TYPO3-Install-Tool durchgeführt werden: TYPO3 läuft nach dem Setzen der SymLinks mit dem aktuellen Quelltext. Allerdings heißt das nicht, dass es sich auch schon wie das neue TYPO3 verhält. Um die Website durch ein Update nicht zu zerstören, etwa weil Erweiterungen mit dem neuen Quelltext nicht kompatibel sind, kann sich TYPO3 zu einer bestimmten Version kompatibel verhalten. Im Notfall kann man dadurch wieder auf den alten Quelltext umschalten. Bevor es weitergeht, sollten also alle Funktionen auf fehlerfreie Nutzbarkeit überprüft werden. Nur wenn der Kalender, das Blog, die Galerie etc. einwandfrei funktionieren, kann die Kompatibilität von TYPO3 auf den neuen Quelltext abgestimmt werden. Falls nicht, müssen zuerst die Erweiterungen auf den neuesten Stand gebracht werden.
Mit dem Update-Wizard wird die Kompatibilität von TYPO3 aktualisiert. Der Wizard informiert zuerst über alle Operationen, die durchgeführt werden. Diese müssen bestätigt und dann mit einem Klick auf den entsprechenden Button angestoßen werden.
Die Struktur der Datenbank von TYPO3 ändert sich von Zeit zu Zeit. TYPO3 erkennt diese Änderungen und kann sie auf die bestehende Datenbank anwenden. Die Aufgabe übernimmt der Database Analyser mit Hilfe der Funktion „compare“. TYPO3 zeigt daraufhin an, welche Änderungen durchführbar sind und überlässt dem Anwender die Wahl, diese auszuwählen oder zu ignorieren. Die zweite Option ist nur in Ausnahmefällen anzuwenden. TYPO3 schlägt beispielsweise vor, alle fremden Tabellen umzubenennen, indem das Präfix „zzz_“ vorangestellt wird. Wer in der Datenbank Tabellen verschiedener Systeme vorhält, sollte diese Operationen also auf keinen Fall aktivieren.
Wenn nach dem Update der Datenbank im Frontend keine Ausgabe erscheint, sollten im Backend die Caches gelöscht werden.
Mehr Sicherheit
Mit TYPO3 4.1 wurde ein Encryption-Key in Form eines MD5-Hashs eingeführt, der systemweit zum Einsatz kommt, unter anderem zur Verschlüsselung von Passwörtern. Deshalb ist es wichtig, dass jede TYPO3-Installation einen individuellen Encryption-Key hat. Der Key wird über „Basic Configuration“ per Mausklick gesetzt, anschließend muss die TYPO3-Konfiguration abgespeichert werden. Eventuell ist nun ein erneutes Einloggen und das Löschen der TYPO3-Chaches nötig.
Stolpersteine vermeiden
Durch den Versionssprung ändert sich unter Umständen die Verwendung von Erweiterungen. TemplaVoilà ist eine Erweiterung, die unverhofft Probleme bereitet, obwohl es eigentlich keine geben sollte. Wer zum Beispiel TemplaVoilà global installiert hat, wird feststellen, dass nach der Änderung der SymLinks im Frontend keine Ausgabe erscheint. TYPO3 zeigt auch keine Fehlermeldung. Der Grund: Globale Erweiterungen werden innerhalb von „typo3_src“ abgelegt und stehen mit dem neuen Quelltext nicht mehr zur Verfügung, auch wenn in der Datei „localconf.php“ das Gegenteil steht. TemplaVoilà muss also in diesem Fall über den Erweiterungsmanager neu installiert werden. Danach läuft alles wie gewohnt. Das Gleiche trifft unter Umständen auch auf „css_styled_content“ zu.
Mit TYPO3 4.2 wurde der Rich-Text-Editor „htmlArea“ als Systemerweiterung in den Quelltext aufgenommen. Wer diesen bereits einsetzt, hat ihn vermutlich lokal oder global installiert. Nach dem Update kommt es daher zu einem unerfreulichen Effekt: Das Seitenmodul zum Schreiben oder Bearbeiten von Inhalten zeigt an, dass der Editor geladen wird – die Meldung verschwindet aber nicht. Der Grund: In der Konfiguration ist der RTE weiterhin lokal/global installiert. Um die Funktion wiederherzustellen, muss der RTE zunächst deinstalliert werden. Der Erweiterungsmanager wird automatisch die lokale/globale Version zum Löschen anbieten. Danach ist der RTE nur noch systemweit verfügbar und muss lediglich wieder aktiviert werden. Nach dem Löschen der Caches ist der RTE wieder einsetzbar.