TYPO3-Update von v7 auf v10 - Die Krux mit dem großen Versionssprung

Vor Kurzem standen wir vor der Herausforderung, eine TYPO3-Instanz, die noch auf Version 7 lief, auf die aktuelle LTS-Version 10 zu aktualisieren. Was sich für Außenstehende nach ein paar Handgriffen und wenigen Klicks anhört, ist in Wirklichkeit ein extrem aufwendiges Unterfangen. Wie auch bei anderen CMS-Systemen (z. B. Magnolia) bedeuten Sprünge in der Versionsnummer vor dem Punkt meist große Veränderungen im System. Und in diesem Fall mussten sogar gleich drei Stufen genommen werden, was mit einigem Aufwand verbunden war.

TYPO3-Update von v7 auf v10 - Die Krux mit dem großen Versionssprung
Foto: 
Tim Gouw auf Pexels

Das Update wurde in drei Schritten durchgeführt: Version 7 auf Version 8, Version 8 auf Version 9 und schließlich Version 9 auf Version 10. Jeder dieser Schritte dauerte in etwa eine Woche. Insgesamt haben wir 20 Arbeitstage in das Update investiert - viel mehr als wir selbst erwartet hatten.

TYPO3-Erweiterungen

Dabei wurden viele Erweiterungen aktualisiert, von denen einige auch inzwischen obsolet geworden waren. Andere Funktionalitäten werden inzwischen vom TYPO3-Core abgedeckt - vor allem rund um die Suchmaschinenoptimierung über SEO-Extensions (robots, realurl, seo_basics) .

Patches für Extensions und den TYPO3-Core hatten wir größtenteils beim Setup des Build-Prozesses bereits in den Upstream gegeben, sodass diese mit dem Update auf die neueren Versionen schon direkt mit enthalten waren und nicht manuell nachgezogen werden mussten. Einzig ein Powermail-Feature zum Löschen von Daten nach Ablauf einer Aktion musste neu gebaut werden, da der Patch für Powermail 4  nicht mehr mit Powermail 7 zusammenspielte.

Bei der Umstellung von realurl auf die in Version 9 eingebauten nativen sprechenden URLs musste die Extension "masi" installiert werden, weil die Funktion "Exclude from speaking URL" benötigt wurde. Das Handling der 404-Seiten übernimmt jetzt eigentlich TYPO3, macht bei Fehlern aber einen HTTP-Request an die 404-Seite. Das ist ineffizient, und deshalb wollten wir pxa_lpeh nutzen. Beim Update auf TYPO3v10 stellte sich aber heraus, dass die Extension damit nicht funktioniert, und wir mussten erstmal auf eine statische Seite ausweichen.

TCA

In den drei TYPO3-Versionen haben sich viele Interna geändert, und auch Datenbankfelder - vor allem Wizards und Komfortfunktionen - werden jetzt anders deklariert. Zum Glück hat TYPO3 v8+ eine TCA-Prüfung, die einen darauf hinweist, wenn man alte Syntax verwendet.

Fluidcontent

Eigene Inhaltselemente bauen wir mit fluidcontent, fluidpages und flux. Die letzten beiden sind mit TYPO3 10 obsolet; es wird nur noch flux benötigt. Leider mussten mehrere Stufen von Anpassungen durchgeführt werden: beim Update von Version 7 auf Version 8 musste flux von 7 auf 8 angehoben werden, beim Update von Version 8 auf Version 9 benötigte flux ein Update von 8 auf 9.1 und schließlich auf 9.4. Bei jedem Update haben sich Parameter verändert, ViewHelper waren obsolet und bekamen - auch durch das TYPO3 - neue oder veränderte Parameter. Selbst in flux 9 noch vorhandene ViewHelper funktionieren teilweise nicht mehr mit TYPO3 v10, sodass hier auf neue Feldtypen umgestellt werden musste.

Insgesamt haben wir wohl fast die Hälfte der Entwicklungszeit für Anpassungen der Inhaltselemente aufgewendet.

Versionskonflikte

Mit der Einführung von Composer-basierter Installation bei TYPO3 gibt es immer mehr Extensions, die bis Version x mit TYPO3 v9 funktionieren (aber nicht mit 10), und mit Version x+1 dann mit v10, aber nicht mehr mit der v9.

Das macht das Update schwieriger, weil das neue TYPO3 zunächst einmal gar nichts tut, wenn man nicht vorher alle Extensions deaktiviert hat. Das ist ziemlich mühselig.

PHP-Versionen

Ursprünglich war bei dem betroffenen Projekt noch PHP 7.0 im Einsatz, das aber mit TYPO3v9 nicht mehr unterstützt wird. Parallel zu den TYPO3-Updates musste deshalb auch die PHP-Version mehrfach aktualisiert werden. flux 8 für TYPO3 v8 hatte Fehler mit PHP 7.2, flux 9 läuft aber nur noch unter PHP 7.3+ und TYPO3 v9. Alles Dinge, die man leider erst nach und nach im Updateprozess herausfindet.

Sentry

Für Monitoring und Überwachung haben wir den sentry_client installiert, der uns auftretende Fehler direkt meldet. Leider ist die Extension noch nicht ganz ausgereift, und wir mussten mehrfach patchen (1, 2).

TypoScript

Mit TYPO3 9 wurde der TypoScript-Parser teilweise durch den "Symfony expression language"-Parser ersetzt, womit auch das ganze TypoScript angefasst werden musste.

Zusammenfassung

Insgesamt musste die komplette Funktionalität des betroffenen Projekts dreimal durchgetestet werden. Das TYPO3-Update war viel komplexer, als wir es uns vorgestellt hatten - in den drei Major-Versionen haben sich einmal alle Interna geändert.

Grundsätzlich ist es also sehr empfehlenswert, die TYPO3-Versionen stets aktuell zu halten und auch die großen Versionssprünge nicht lange aufzuschieben. Auch wenn das immer mit einer kleinen Investition verbunden ist, so ist das Budget in aktuellen Features, gesteigerter Sicherheit und einfacher Wartbarkeit doch immer gut investiert. Ein Kraftakt wie dieses Update über drei Major-Versionen hinweg ist anstrengend, zeitintensiv und vervielfacht am Ende Aufwand und Kosten.

Wir sind MOGIC,

eine Digitalagentur mit rund 30 Mitarbeiter*innen aus Leipzig. Wir lösen digitale Herausforderungen, seit über 20 Jahren - für Ihr Unternehmen, Startup oder Institution. Wir entwickeln und betreiben Websites, Online-Portale, Online-Shops, webbasierte Softwarelösungen und mobile Apps. Wir sind MOGIC - wir gestalten digital.

MOGIC Geschäftsleitung

Geschäftsleitung: Matthias Hennig, Stefan Berger und Gunter Schwarz

Bereit für eine kostenlose Erstberatung oder einfach einen ersten Kaffee?

Nehmen Sie ganz unverbindlich Kontakt zu uns auf.

Vielen Dank für Ihre E-Mail. In der Regel erhalten Sie innerhalb von 24 Stunden Rückantwort von uns.
Die E-Mail wurde nicht versendet. Bitte versuchen Sie es erneut.

Rufen Sie uns gern an unter +49 341 656797-0 oder vereinbaren Sie einen Termin direkt in unserem Kalender.

Wir verwenden Ihre persönlichen Daten ausschließlich zur Bearbeitung Ihrer Anfrage. Weitere Informationen finden Sie in der Datenschutzerklärung.
BVMW
TYPO3 Gold Member

Deutscher Mittelstands-Bund (DMB)