Wissen / Extensions & individuelle Funktionen / Muss eine alte Extension ersetzt werden
Muss eine alte Extension ersetzt werden?
Nein. Nur weil eine TYPO3-Extension alt ist, muss sie nicht automatisch ersetzt werden. Entscheidend ist, ob sie noch sauber funktioniert, für die gewünschte TYPO3-Version geeignet ist und sich mit vertretbarem Aufwand weiterpflegen lässt. Manche alten Extensions laufen auch nach vielen Jahren noch problemlos und brauchen nur ein paar Anpassungen. Bei anderen ist der Punkt erreicht, an dem eine Modernisierung, ein Ersatz oder sogar das Entfernen langfristig sinnvoller ist.
Die Frage ist nicht: Wie alt ist die Extension? Sondern: Ist sie technisch noch sinnvoll und passt sie noch zum Projekt?
Wann kann eine alte Extension einfach weiterverwendet werden?
Wenn eine Extension noch gepflegt wird, für die gewünschte TYPO3-Version verfügbar ist und ihre Aufgabe zuverlässig erfüllt, gibt es keinen Grund, sie nur wegen ihres Alters auszutauschen. Auch eine ältere eigene Extension kann weiterverwendet werden, wenn sich der Code ohne größeren Aufwand auf die neue TYPO3-Version bringen lässt. Es kommt also weniger auf das Alter an als auf den tatsächlichen Zustand. Eine kleine Extension, die nur eine einfache Aufgabe erfüllt, kann technisch völlig unproblematisch sein. Eine deutlich jüngere Extension mit schlechter Struktur oder vielen Abhängigkeiten kann dagegen wesentlich mehr Aufwand verursachen.
Was ist, wenn die Extension zwar läuft, aber nicht mehr wirklich gepflegt wird?
Auch dann muss sie nicht automatisch sofort raus. Wenn sie auf der neuen TYPO3-Version weiterhin funktioniert, würde ich dem Kunden offen sagen, wie ich die Situation einschätze.
Zum Beispiel: Die Extension funktioniert noch, könnte technisch aber etwas aufgefrischt werden.
Wenn sich der dafür notwendige Aufwand abschätzen lässt, kann ich sagen, wie viele Stunden ungefähr dafür nötig wären. Dann entscheidet der Kunde. Wenn das Budget vorhanden ist und die Extension noch länger eingesetzt werden soll, kann eine Modernisierung sinnvoll sein. Wenn die Extension aktuell zuverlässig läuft und andere Dinge wichtiger sind, kann man sie auch erstmal so lassen. Nicht jede technische Verbesserung muss automatisch Teil eines TYPO3-Updates werden.
Wann würde ich eine Extension wirklich ersetzen?
Ein Ersatz wird vor allem dann interessant, wenn die bisherige Lösung langfristig keinen vernünftigen Weg mehr nach vorne bietet.
Zum Beispiel wenn:
- die Extension für neue TYPO3-Versionen nicht mehr gepflegt wird
- die technische Anpassung unverhältnismäßig teuer wäre
- eine andere Extension die benötigte Funktion besser und nachhaltiger abdeckt
- TYPO3 die Funktion mittlerweile selbst im Core anbietet
- große Teile der Extension gar nicht mehr benötigt werden
- externe Bibliotheken oder Schnittstellen nicht mehr verfügbar sind
- zukünftige TYPO3-Updates mit der bisherigen Lösung immer schwieriger werden
Dann vergleiche ich die möglichen Wege und den jeweiligen Aufwand.
Ersetzen ist kein Selbstzweck. Es sollte einen technischen oder wirtschaftlichen Grund dafür geben.
Was ist, wenn TYPO3 die Funktion inzwischen selbst kann?
Das ist ein sehr guter Grund, eine alte Extension zu hinterfragen. TYPO3 hat über die Jahre viele Funktionen direkt in den Core übernommen, für die früher zusätzliche Erweiterungen notwendig waren. Wenn die Core-Lösung den tatsächlichen Bedarf des Projekts abdeckt, würde ich diese normalerweise bevorzugen. Dadurch fällt eine zusätzliche Abhängigkeit weg und zukünftige Updates werden einfacher. Ganz automatisch funktioniert der Wechsel aber nicht. Alte Konfigurationen müssen angepasst, Templates eventuell geändert und vorhandene Daten möglicherweise migriert werden.
Auch der Wechsel von einer Extension auf eine TYPO3-Core-Funktion ist eine technische Migration und nicht einfach nur das Entfernen eines Pakets.
Braucht eine Ersatzextension exakt die gleichen Funktionen?
Meistens nicht – und das ist auch gar nicht notwendig. Bevor ich nach einem Ersatz suche, würde ich zuerst prüfen, welche Funktionen der alten Extension tatsächlich genutzt werden. Viele Extensions bringen sehr viele Möglichkeiten mit, von denen ein konkretes Projekt nur einen kleinen Teil verwendet. Dass im Hintergrund Funktionen vorhanden sind, die niemand nutzt, ist völlig normal. Deshalb sollte die Frage nicht lauten:
„Welche Extension kann exakt alles, was die alte konnte?“
Sondern:
„Welche Funktionen braucht die Website heute wirklich?“
Eine Ersatzlösung muss diesen Bedarf sauber abdecken. Sie muss nicht jede Funktion kopieren, die in der alten Extension theoretisch vorhanden war.
Was passiert mit den vorhandenen Daten?
Wenn eine Extension ersetzt wird und bestehende Daten weiterhin benötigt werden, müssen diese normalerweise in die neue Struktur übernommen werden. Das kann zum Beispiel Beiträge, Kategorien, Einstellungen oder andere Datensätze betreffen. Dafür lassen sich in TYPO3 eigene Migrationen beziehungsweise Upgrade Wizards schreiben. Auch große Datenmengen sind dabei nicht automatisch ein Problem. Tausende oder hunderttausende Datensätze lassen sich mit einem sauber gebauten Migrationsprozess zuverlässig verarbeiten.
Der Aufwand hängt weniger von der reinen Anzahl der Datensätze ab als davon, wie unterschiedlich die alte und die neue Datenstruktur sind.
Wenn ein Feld aus der alten Extension in der neuen Lösung kein direktes Gegenstück hat, muss entschieden werden, wie diese Information künftig gespeichert oder abgebildet wird.
Eigene Templates und Anpassungen machen einen Wechsel aufwendiger
Eine Extension besteht in einem Kundenprojekt oft nicht nur aus dem ursprünglichen Paket. Templates wurden überschrieben, TypoScript wurde angepasst und manchmal gibt es zusätzlich eigenen PHP-Code rund um die Extension. Je stärker eine Extension individualisiert wurde, desto mehr muss bei einem Austausch berücksichtigt werden. Die neue Extension hat möglicherweise andere Templates, andere Variablen, eine andere Konfiguration oder eine komplett andere Datenstruktur. Dann kann der Austausch deutlich mehr Arbeit verursachen als das eigentliche Installieren der neuen Extension.
Deshalb muss immer verglichen werden, ob ein Ersatz wirklich günstiger und sinnvoller ist als die bestehende Extension weiterzuentwickeln.
Was ist, wenn die neue Extension im Backend anders funktioniert?
Das ist ebenfalls Teil der Entscheidung. Eine technisch moderne Ersatzlösung kann für Redakteure völlig anders aussehen als die bisherige Extension. Das muss nicht schlecht sein. Die Bedienung kann sogar besser sein. Aber die Entscheidung darüber treffe ich nicht für den Kunden. Ich kann zeigen, welche Lösung technisch sinnvoll wäre, welche Unterschiede es gibt und welcher Aufwand entsteht. Der Kunde entscheidet dann, ob die neue Bedienung zum eigenen Arbeitsablauf passt.
Bei größeren Änderungen kann es sinnvoll sein, Redakteure kurz in die neue Lösung einzuweisen.
Ist eine komplette Neuentwicklung auch eine Möglichkeit?
Ja, aber meistens ist das die letzte Option. Wenn keine bestehende Extension die benötigten Funktionen sinnvoll abdeckt und die alte Lösung technisch nicht mehr vernünftig weiterentwickelt werden kann, kann eine neue eigene Extension die beste Lösung sein.
Das bedeutet natürlich mehr Entwicklungsaufwand. Dafür bekommt man anschließend aber eine Lösung, die genau auf die tatsächlich benötigten Funktionen zugeschnitten ist und technisch auf einem aktuellen Stand basiert.
Ob sich das lohnt, hängt stark vom Umfang der Funktion ab. Für eine kleine Spezialfunktion kann eine eigene Lösung sehr sinnvoll sein. Eine riesige etablierte Extension komplett nachzubauen, nur weil ein Update unangenehm ist, wäre dagegen meistens wirtschaftlich unsinnig.
Kann man den Austausch auch auf das nächste Update verschieben?
Ja. Manchmal ist klar, dass eine Extension langfristig ersetzt werden sollte, aber der aktuelle Auftrag soll zunächst nur das notwendige TYPO3-Update abdecken. Dann kann man die bestehende Extension noch einmal kompatibel machen und den größeren Umbau für später einplanen. Das ist meistens eine Kostenfrage. Wenn die bestehende Lösung für die aktuelle Zielversion noch zuverlässig betrieben werden kann, muss nicht jede technische Baustelle sofort gleichzeitig gelöst werden. Wichtig ist nur, dass das Thema dokumentiert und beim nächsten Update nicht wieder überrascht festgestellt wird.
Wer entscheidet, ob die Extension ersetzt wird?
Ich liefere die technische Grundlage für die Entscheidung. Ich prüfe, welche Möglichkeiten es gibt und wie groß der jeweilige Aufwand ungefähr ist. Daraus kann zum Beispiel entstehen:
- bestehende Extension weiterverwenden
- bestehende Extension modernisieren
- auf eine Core-Funktion wechseln
- eine andere Extension einsetzen
- eine eigene Lösung entwickeln
- die Funktion komplett entfernen
Die wirtschaftliche und fachliche Entscheidung trifft der Kunde.
Meine Aufgabe ist es, die Optionen verständlich zu erklären und zu sagen, welche Lösung ich technisch empfehlen würde.
Muss eine alte Extension also ersetzt werden?
Nein. Eine alte Extension kann vollkommen in Ordnung sein, wenn sie weiterhin gepflegt werden kann und die benötigte Funktion zuverlässig erfüllt. Ein Ersatz wird interessant, wenn die technische Basis nicht mehr sinnvoll weitergeführt werden kann, TYPO3 die Funktion inzwischen selbst anbietet oder eine andere Lösung langfristig deutlich besser passt.
Eine alte Extension muss nicht automatisch ersetzt werden. Entscheidend ist, ob sie noch gepflegt werden kann, für die Zielversion geeignet ist und ob es langfristig sinnvoller ist, sie zu modernisieren, zu ersetzen oder ganz zu entfernen.
Und manchmal ist die beste Entscheidung auch einfach: Jetzt noch einmal sauber aktualisieren und den größeren Umbau für später einplanen.