TYPO3-Upgrade: Häufige Fallstricke mit guter Planung umgehen
Um gleich im Vorfeld mit dem Begriffswirrwarr aufzuräumen, ist ein kurzer Ausflug in die Softwareentwicklung nötig: Um zu unterscheiden, ob es sich bei der Aktualisierung der TYPO3-Version [1] um ein Upgrade oder um ein Update handelt, bezieht man sich auf die Art der neuen Version.
Handelt es sich um einen echten Versionssprung (also den Wechsel des Versionszweigs, siehe Tabelle unten), ist in diesem Artikel von einem Upgrade die Rede. Ist dagegen „nur“ eine aktuellere Version innerhalb des Zweigs gemeint, wird dies hier als Update bezeichnet [2]. Da bei einer gewissenhaften Erstellung der Seiten und der eingebundenen Erweiterungen ein TYPO3-Update ohne Probleme realisierbar ist, wird in diesem Artikel ausschließlich auf TYPO3-Upgrades eingegangen.
Ein solcher Schritt erfordert neben einer konkreten und realistischen Zeitplanung auch gründliche Vorüberlegungen. Zentrale Fragen, die Sie sich im Vorfeld eines TYPO3-Upgrades stellen sollten, sind dabei:
- Sollen im Zuge der Aktualisierung auch Design und Struktur angepasst werden?
- Welche zusätzlichen Funktionen wären wünschenswert, welche können bei einem Upgrade entfallen, weil sie nicht entsprechend genutzt wurden?
- Gibt es Schnittstellen zu anderen Systemen, die bei einem Upgrade beachtet werden müssen?
Aufgrund der Antworten auf diese Fragen sollte sich schnell herausstellen, ob ein Upgrade allein ausreicht oder ob ein Relaunch die bessere Wahl ist. Im Regelfall gilt: Sollen die Inhalte stark umstrukturiert und zusätzlich überarbeitet werden, lohnt sich ein gut konzipierter Relaunch. Stehen die exakte Inhaltsübernahme und ein nahezu nahtloser Übergang im Vordergrund, eignet sich ein TYPO3-Upgrade.
TYPO3-Zweig | Wichtige Neuerungen gegenüber dem Vorgänger |
3.8 | Verbesserung der Indexsuche, Einführung der Cache-Control-Header, Import/Export, GraphicsMagick |
4.0 | Neues Backend-Skin, Workspaces, History, css_styled_content, neuer Standard-HTML-Editor |
4.1 | IRRE, AJAX-Baumansicht, UTF-8 auch für Dateinamen |
4.2 aktuell 4.2.6 | TYPO3 funktioniert nur noch mit PHP 5.2 oder höher, neues Backend, Login wird Systemextension |
4.3 (geplant) | Neues Caching-System, verbessertes Frontend-Editing, Model-View-Controller-Framework für verbesserte Erweiterungsentwicklung |
Vorbereitungen
Ist die Entscheidung für ein Upgrade gefallen, sollte zunächst ein verbindlicher Zeitplan erstellt werden. Hierbei muss genügend Zeit sowohl für die Aktualisierung des Grundsystems und sämtlicher Erweiterungen als auch für einen ausführlichen Test der gesamten Funktionalität eingeplant werden.
Als erstes sollten Sie ein Backup der aktuell im Netz befindlichen TYPO3-Installation erstellen. Obwohl es Erweiterungen gibt, die eine komplette Sicherung des Systems versprechen, ist hier der manuelle Weg die bessere Lösung. Neben dem kompletten Dateisystem muss auch die Datenbank gesichert werden. Das Aufsetzen eines geeigneten internen Systems zum Durchführen der Aktualisierung bildet dann den nächsten Schritt. Von Vorteil ist es, wenn die Serverarchitektur und die installierte Software mit dem vorhandenen System übereinstimmen. So vermeidet man böse Überraschungen beim späteren Relaunch.
Um zu verhindern, dass von nun an Inhalte eingegeben werden, die durch die Aktualisierung verlorengehen würden, sollte das Backend für Redakteure gesperrt werden. Die Einstellung dazu findet sich im Install-Tool unter dem Reiter „All Configuration“ als Option „adminOnly“. Je nach Frequenz der Inhaltseingabe sollten die folgenden Abschnitte in einem möglichst kurzen Zeitraum umgesetzt werden.
Aus alt mach neu
Das Backup dient nun der Spiegelung der aktuellen Seite: Dateien einspielen, Datenbank importieren und notwendige Parameter im Install-Tool anpassen, danach sollte eine exakte Kopie der zu aktualisierenden Seite auf einem Entwicklungsserver laufen. Falls man bei der Anforderungsanalyse bereits Funktionen oder Erweiterungen ausgemacht hat, die in Zukunft nicht mehr benötigt werden, können diese nun deinstalliert werden. Ist das so installierte System lauffähig, kann die eigentliche Arbeit losgehen.
Das Upgrade, in diesem Beispiel von Version 3.8 auf Version 4.1, sollte streng nach der vorgesehenen Methodik vollzogen werden [3]. Hier wird zunächst auf die neueste Version des 4.1-Zweigs und erst im Anschluss auf die Version 4.2.x aktualisiert. Diese stufenweise Vorgehensweise ist notwendig, da sich bereits sehr viele Änderungen in der Version 4.1 befinden und erst im nächsten Schritt die Umstellung auf PHP 5 erfolgt [4]. Die einzelnen Schritte beim Upgrade von TYPO3 3.8 auf 4.1 im Überblick:
- Alle Erweiterungen von „global“ auf „lokal“ umstellen. Dazu müssen Sie die Erweiterungen deinstallieren und anschließend aus dem Verzeichnis „/typo3/ext/“ löschen. Die entfernten globalen Erweiterungen müssen nun neu aus dem Repository geholt und installiert werden.
- Die Verzeichnisse „typo3“, „media“, „tslib“, „t3lib“ und die beiden Dateien „showpic.php“ und „index.php“ löschen.
- Die neue TYPO3-Version (4.1.10) in das Verzeichnis kopieren.
- Änderungen im Install-Tool (www.seite.de/typo3/install/) vornehmen: im „Database Analyser“ nacheinander „Compare“ und „Import“ ausführen; anschließend im Reiter „Update Wizard“ die Version umstellen und die temp_*-Dateien aus dem Verzeichnis „typo3conf“ löschen.
- Einen neuen Encryption-Key vergeben.
Die folgende Aktualisierung erfordert zwingend PHP 5.2 oder höher, sodass hier auch die Konfiguration des Hosters berücksichtigt werden muss. Da mittlerweile nahezu alle Hoster PHP 5 anbieten, können Sie den richtigen Interpreter in der .htaccess-Datei vorgeben oder im Konfigurationsmenü einstellen.
Anpassen der Erweiterungen
Die besondere Herausforderung beim Upgrade besteht jedoch in der Anpassung der Erweiterungen. Nicht nur, dass einzelne Erweiterungen mittlerweile fest zum Kern der TYPO3-Installation gehören, die früher separat installiert waren (z. B. felogin, htmlArea und css_styled_content), auch die restlichen Erweiterungen benötigen unter Umständen eine Anpassung.
Ein erster Schritt sollte die Aktualisierung der Erweiterungen über die neue Funktion des Erweiterungsmanagers sein („Check Extension Updates“). In den meisten Fällen haben die Extensionentwickler eine angepasste Version für die neue TYPO3-Version bereits veröffentlicht. Wurde die Trennung der Templates und zugehörigen TypoScript-Teile von der eigentlichen Erweiterung gut gelöst, ist mit der Aktualisierung bereits ein wichtiger Teil der Arbeit erledigt. Lediglich einige Erweiterungen haben sich zudem in Funktionsumfang und Integrationsweise so stark verändert, dass ihnen separate Beachtung geschenkt werden muss. Zu den wichtigsten und am häufigsten eingesetzten zählen:
- direct_mail: Die gesamte Oberfläche wurde deutlich überarbeitet und die Funktion mittlerweile als eigenes Modul in die Oberfläche integriert.
- tt_news: Die Arbeit mit Kategorien wurde stark überarbeitet und muss an die neuen Gegebenheiten angepasst werden.
Die Dokumentationen der Erweiterungen halten meist ausführliche Beschreibungen des Upgrade-Prozesses bereit, sofern wesentliche Änderungen in der Funktionsweise vorliegen.
Auch selbst entwickelte Erweiterungen müssen auf den Prüfstand. Hierbei gilt: Je sauberer zu Beginn gearbeitet wurde, desto weniger Anpassungsschwierigkeiten gibt es beim Upgrade. Einige der möglichen Komplikationen in Zusammenhang mit PHP 5 oder der aktuellen TYPO3-Version finden Sie im folgenden Kasten.
Fallstricke | Lösungsansatz |
Problem bei Klick-Vergrößern in Zusammenhang mit der Erweiterung „RealUrl“ | Baseurl mit abschließendem Slash definieren: „config.baseurl = http://www.seite.de/“ |
Im Modul „Seite“ wird in der Bearbeitung nur ein Icon zum Erzeugen eines Verweises angezeigt. | Die häufig genutzte Erweiterung „Date2Calendar“ muss aktualisiert oder deaktiviert werden. |
Backend wird nicht richtig dargestellt | Browsercache und Cookies löschen |
Zurück auf Start
Auf dem intern eingerichteten Testsystem sollte nun eine funktionsfähige und neue TYPO3-Installation mit den Inhalten laufen. Mit diesem Stand (Dateien und Datenbank) können Sie nun auf einer Subdomain des Livesystems die neue Seite zum finalen Test bereitstellen. Hierbei sollten Sie nicht nur die Darstellung aller wichtigen Inhalte überprüfen, sondern auch die Funktionen im Backend testen. Durch die neue Version müssen Sie unter Umständen auch Nutzerrechte oder Konfigurationseinstellungen anpassen. Sind alle Korrekturen vorgenommen, kann der Relaunch am einfachsten durch das Umstellen des Zielverzeichnisses beim Hoster abgeschlossen werden.
Nun steht der kontinuierlichen Weiterentwicklung des eigenen Internetangebots – sei es durch zusätzliche Erweiterungen oder inhaltlichen Ausbau – nichts mehr im Wege.
Fazit
Ein Upgrade lohnt sich bei umfangreichen und inhaltsstarken Internetseiten. Wo Inhalte über einen Zeitraum gewachsen und in der vorhandenen Struktur gut abgebildet sind, ist eine Aktualisierung der TYPO3-Version zwar aufwendig, bietet aber den Vorteil, nach einer gewissen Übergangszeit direkt arbeitsfähig zu sein. Zusätzlich eröffnet sich die Chance, neue Erweiterungen zu implementieren, die bereits vorhandene Inhalte wirkungsvoll ergänzen.
Abstand nehmen sollte man von solch einem Vorhaben, wenn eine generelle Überarbeitung oder eine Umstrukturierung der Seite geplant sind. Hier eignet sich eher ein gemeinsamer Workshop, in dem Ziele und Anforderungen an die Internetpräsenz klar definiert werden. Das Resultat kann dann einen wichtigen Meilenstein auf dem Weg zu einem „echten“ Relaunch bilden [5].