Die gefürchteten TYPO3-Upgrades – eine Runde Klartext.

TYPO3 hat sich über die Jahre als beliebte Enterprise-Plattform für Webanwendungen etabliert. Wenn Kunden oder Interessenten jedoch eines fürchten, sind das Major-Upgrades, die sich als Kostenfallen entpuppen können. Betonung auf KÖNNEN. Muss aber nicht so sein.

Das Open Souce CMS TYPO3 ist ein insbesondere im europäischen Raum beliebtes System zur Pflege von Websites, webbasierten Apps und zur Datenhaltung. Wie bei jeder Art von moderner Software sind hier Entwicklungszyklen im Spiel, denn TYPO3 wird fortlaufend verbessert, Sicherheitslücken werden gestopft und Fehler behoben.

Aus diesem Grund gibt es auch immer wieder die Notwendigkeit, Aktualisierungen durchzuführen. Es gibt kleinere und größere Updates, und meistens sind es die größeren, die Probleme verursachen können (aber nicht müssen!).

Ein TYPO3-Upgrade ist in der Theorie ganz einfach: Eine neue Major-Version (hier gibt‘s mehr Infos darüber, was Minor, Major etc. bedeutet) erreicht den LTS-Status (Long Term Support, also langfristige Unterstützung durch den Hersteller) und ist damit offiziell einsatzbereit. Klingt gut, oder?

Die Sache mit den Extensions

Wäre da nicht das kleine Problem mit den Extensions. Dabei handelt es sich gewissermaßen um Zusatzprogramme, die TYPO3 um spezielle Funktionen erweitern (z.B. Kalender, Adressdatenbanken, Jobbörsen o.ä.). Diese Extensions werden parallel, aber oft unabhängig, von den TYPO3-Veröffentlichungszyklen entwickelt. Daher sind diese Zusatzprogramme meistens noch nicht kompatibel zu den ganz neuen, frisch veröffentlichten TYPO3-Versionen und brauchen Wochen oder Monate, bis sie dann funktionieren. Wer schon einmal größere Windows- oder macOS-Versionssprünge mitgemacht hat, weiß, was Sache ist - manchmal wartet man lang, bis Software-Hersteller ihre Produkte für neuere Betriebssysteme bereitstellen. Wer nicht warten will, kann manchmal bei den Software- oder Extension-Herstellern mit einem so genannten Early-Access-Programm Zugriff auf noch nicht ganz ausgereifte Vorabveröffentlichungen bekommen, die eventuell etwas kosten. Aber dann hat man kurzfristig wenigstens etwas halbwegs Lauffähiges.

Sobald alle benötigten Erweiterungen bereitstehen, kann das große TYPO3-Upgrade starten. Das Standard-Prozedere sieht dann bei uns folgendermaßen aus:

  • Eine lokale Kopie des Systems wird erstellt.
  • Individuelle Extensions werden so angepasst, dass sie mit der neuen TYPO3-Version harmonieren.
  • Am Stichtag des “Go-Live” wird das auf TYPO3 basierende Produktiv-System (also dasjenige, das für den Publikumsverkehr freigegeben ist) in eine geheime, nicht öffentliche Zwillingsinstallation überführt, dort in aller Ruhe aktualisiert und getestet.
  • Wenn im Geheimen alles passt, wird das Zwillingssystem in den Produktivbetrieb überführt, das alte Produktivsystem wird abgeschaltet – und dann war das Upgrade erfolgreich!

Die Inhalte, also Texte, Bilder oder Videos, bleiben in der Regel erhalten. Falls das TYPO3-Kern-System oder eine Extension drastische Änderungen im Vergleich zur vorherigen Version mitbringt, gibt es oft Hilfsprogramme, genannt „Wizards“, die die alte Datenbasis mindestens teilweise automatisch so anpassen, dass sie mit der neuen TYPO3-Version funktioniert.

Rund läuft es leider nicht immer

Wie immer bestätigen Ausnahmen die Regel. Und solche Ausnahmen haben unterschiedliche Gründe:

  • Gibt es für Extensions etwa keinen „Wizard“, der die Migration auf die neue Version erleichtert, müssen die Programmierer selbst Werkzeuge basteln, um Daten und Strukturen anzupassen. Je nach Komplexität der Extension kann das einige Zeit in Anspruch nehmen.
  • Auch nicht ganz selten kommt es vor, dass Hersteller von Extensions den Support für ein Produkt aufgeben, weil es nicht mehr weiterentwickelt wird. Dann muss eine alternative Extension gesucht oder entwickelt werden, die den gleichen Zweck erfüllt. 
    Beispiel: Die Erweiterung „Gridelements“ war zu Beginn ihres Lebenszyklus enorm beliebt, da sie extrem nützliche Funktionen für die Gestaltung von Webseiten-Layouts bot. Nach und nach verlor aber das Entwicklungsteam den Fokus und die Motivation, die Extension weiter zu entwickeln und an die jeweils aktuellen TYPO3-Versionen anzupassen - mittlerweile fristet sie eine Art Zombie-Dasein. Sehr viele Websites nutzten Gridelements und die Betreiber hatten dann das Bedürfnis, sich nach Alternativen umzusehen. Die gab es dann zwar, z.B. In Form der neuen Erweiterung „Container“, aber es bedeutet dann natürlich Aufwand, die Daten und Strukturen der Website so umzubauen, dass sie zukünftig mit Container statt mit Gridelements funktionieren.
  • Auch bei Extensions, die sehr individuell für eine einzelne Firma entwickelt werden, kann es zu Problemen kommen: Im Kontext von TYPO3 gibt es Konventionen und Best Practices, an die sich Programmierer halten sollten, um dafür zu sorgen, dass die Entwicklungen zukunftssicher sind. Wenn jedoch die Programmierer hier zu faul sind oder das Handwerk nicht verstehen, kann es bei größeren TYPO3-Upgrades zu Problemen kommen, weil die alten Extensions nicht mehr funktionieren.

 

Upgrade-Beispiele aus der Praxis

Kunde A: Deadline verpasst

Wollte eigentlich pünktlich upgraden, hat den Stichtag aber knapp übersehen (November 2024). Der Plan: Upgrade auf TYPO3 v12 vor Weihnachten, direkt nach Neujahr auf v13. Problem: Zwei essenzielle Extensions waren noch nicht kompatibel – die Suchfunktion und ein Download-Modul. Für die Suche gab es eine Alternative, die Downloads sollten bis Ende des Jahres fertig sein. Lösung: Komplettes "Offline-Upgrade" – also alles lokal durchführen und danach auf den Server spielen. Hat am Ende perfekt funktioniert und wurde pünktlich zum Jahreswechsel abgeschlossen.

Kunde B: Notwendige Upgrade-Kaskade von TYPO3 v8 auf v13

Für einen erfahrenen, langjährig involvierten TYPO3-Integrator ist ein solches Projekt ein Leckerbissen und eine Bestätigung für sein Ego - denn solche Mammut-Aufgaben “kann nicht jeder”.

Also: Eine TYPO3-Installation mit der Version 8 war deshalb problematisch, weil diese v8 vom Hersteller schon lange nicht mehr unterstützt wurde: Keine Fehlerbereinigung mehr, keine Sicherheitsupdates, keine Kompatibilität zu neueren Erweiterungen. 

TYPO3 basiert im Wesentlichen auf der Programmiersprache PHP. Und die Version von PHP, die auf dem TYPO3-Server installiert war, hatte ihren Zenit auch schon lange überschritten. Die Website war allerdings nicht sonderlich komplex, sondern bestand hauptsächlich aus News, Terminen und normalen Conent-Seiten. Der Plan war deshalb:

  • Upgrade von 8 auf 9 auf 10 auf 11 auf 12 auf 13, also: immer einen Versionsschritt nach dem anderen durchführen und zwischendrin prüfen, ob alles noch funktioniert. Parallel musste dann auch die PHP-Version erhöht werden, weil neuere TYPO3-Versionen nicht mit älteren PHP-Varianten funktionieren.
  • Ein Pflegestopp von einer Woche wurde vereinbart, in dieser Zeit durfte der Kunde nichts an der öffentlichen Website bearbeiten.
  • Die veraltete Termin-Erweiterung wurde durch eine neue namens "eventnews" ersetzt. Es war ein überschaubares Maß an Datenbank-Anpassungen notwendig, um die Daten der Meldungen von einer Extension zur anderen zu übertragen. Aber es musste nicht alles händisch von einem News-System in ein anderes kopiert werden - für den Kunden eine riesige Zeitersparnis.

Nach drei Tagen war das Upgrade erledigt und der Pflegestopp konnte früher als geplant aufgehoben werden.

Exkurs: Warum Pflegestopp?

Im Kontext von Systemen mit großen Datenbanken werden Updates häufig auf einem nicht öffentlichen Entwicklungssystem durchgeführt, das parallel, aber völlig unabhängig zum Produktiv-System läuft. Wenn nun der Kunde die öffentlich genutzte TYPO3-Instanz weiter pflegt, entsteht eine Diskrepanz zwischen dem internen Entwicklungs-System, das später einmal ins „neue“ Produktivsystem umgewandelt wird, und dem alten Produktiv-System, das irgendwann gelöscht wird. Um diese inhaltliche Diskrepanz zwischen den Systemen zu vermeiden, wird bei Beginn einer Upgrade-Maßnahme in aller Regel ein Pflegestopp verhängt, sodass nicht nach dem Upgrade Inhalte plötzlich verschwunden sind, weil das alte Produktivsystem nicht mehr existiert. Wenn es gar nicht anders geht, weil sehr akute Anpassungen am Produktivsystem notwendig sind, behilft man sich damit, die Inhaltspflege sowohl auf dem Produktivsystem als auch auf dem Entwicklungssystem durchzuführen.

 

Kunde C: Plötzlich offline wegen PHP-Update

Anruf bei uns am Morgen: "Unsere Website geht nicht mehr!". Schnell stellte sich heraus: Der Dienstleister, der den Server für eine TYPO3-Instanz bereitgestellt hatte, musste aus Sicherheitsgründen die Version der Programmiersprache PHP erhöhen. Danach funktionierte allerdings die TYPO3-Installation nicht mehr, weil diese so alt war, dass sie mit der neueren PHP-Version nicht mehr harmonierte. Lösung:

  • Datenbank und Nutzdaten sichern, anschließend ein neues, nicht öffentliches Entwicklungssystem aufsetzen und dort die alte TYPO3-Instanz wieder zum Laufen bringen.
  • Diese alte TYPO3-Installation auf die nächsthöhere (aber nicht unbedingt neueste) TYPO-Version upgraden, die mit der neuen PHP-Version vom Server-Dienstleister funktioniert.
  • Eine defekte, kundenspezifische Extension, die weder mit der neuen TYPO3-Version noch mit der neuen PHP-Version harmonierte, musste erst einmal deaktiviert werden, damit die Website wieder online ging – allerdings temporär natürlich ohne die Funktionalität, die durch die kaputte Individual-Extension zur Verfügung gestellt wurde. Aber wenigstens war das Unternehmen erst einmal wieder online erreichbar.
  • Anschließend konnten wir dann in aller Ruhe sowohl die notdürftig zwischenaktualisierte TYPO3-Installation als auch die defekte Extension analysieren und auf den neuesten Stand bringen, inklusive Long Term Support.
  • Eine andere, aber viel komplizierte, deutlich weniger nachhaltige und langfristig viel teurere Variante wäre gewesen, den Server-Dienstleister zu wechseln und einen Anbieter zu ermitteln, der die alten TYPO3- und PHP-Versionen noch unterstützt hätte.

Fazit

TYPO3-Upgrades sind immer machbar. Komplizierter und somit kostenintensiver werden sie nur dann, wenn entweder die TYPO3-Integratoren bzw. die Extension-Programmierer ihr Handwerk nicht verstehen und sich nicht an die TYPO3-Konventionen halten. Oder wenn sehr beliebte, langjährig von der Community unterstützte Erweiterungen plötzlich unerwartet das Zeitliche segnen und man sich nach neuen Alternativen umsehen und Daten aufwändig migrieren muss.

Wir bei intercorp begleiten TYPO3 seit über 20 Jahren, und haben schon alle möglichen Fehler gesehen (und manche auch selbst gemacht). Wir sind völlig überzeugt von der Qualität und Vielseitigkeit der Plattform, insbesondere im Enterprise-Kontext, deshalb unterstützen wir sie schon so lang - und haben das auch weiterhin vor.

Wir können Ihnen ja das Blaue vom Himmel versprechen – dass wir unser TYPO3-Handwerk verstehen, lassen wir lieber von unseren langjährigen Partnern und Kunden bestätigen.

Haben Sie ein bedürftiges TYPO3, das aktualisiert werden muss?

Dann bitte gern direkt Kontakt aufnehmen!