Wissen / Extensions & individuelle Funktionen / Wie beeinflussen Extensions die Kosten eines TYPO3 Updates

Wie beeinflussen Extensions die Kosten eines TYPO3-Updates?

Extensions können den Aufwand eines TYPO3-Updates deutlich beeinflussen. Je mehr Erweiterungen in einem Projekt stecken, desto mehr muss grundsätzlich geprüft werden. Das bedeutet aber nicht automatisch, dass ein Projekt mit 20 Extensions teuer und eines mit fünf Extensions günstig ist.

Entscheidend ist nicht nur die Anzahl, sondern vor allem, welche Extensions eingesetzt werden, wie gut sie gepflegt sind und wie stark sie im Projekt angepasst wurden.

Eine sauber gepflegte Extension, die offiziell für die Zielversion verfügbar ist, kann beim Update nur wenig zusätzliche Arbeit machen. Eine einzige problematische oder stark angepasste Extension kann dagegen deutlich mehr Aufwand verursachen.

Warum spielen Extensions bei der Kalkulation so eine große Rolle?

Jede Extension erweitert TYPO3 um eigene Funktionen. Damit entstehen zusätzliche Stellen, die beim Update geprüft werden müssen.

Für jede relevante Extension schaue ich unter anderem:

  • Gibt es eine Version für die gewünschte TYPO3-Version?
  • Welche Änderungen nennt der Changelog?
  • Gibt es Breaking Changes?
  • Müssen Einstellungen geändert werden?
  • Müssen Daten migriert werden?
  • Gibt es angepasste Templates?
  • Funktioniert die Extension anschließend im Frontend?
  • Funktioniert sie auch im Backend weiterhin wie vorgesehen?

Je mehr Extensions vorhanden sind, desto mehr solcher Prüfungen fallen potenziell an. Trotzdem kann eine größere Anzahl gut gepflegter Extensions weniger Arbeit verursachen als wenige problematische Erweiterungen.

Eine kompatible Extension verursacht oft wenig Aufwand

Im einfachsten Fall ist die Sache schnell erledigt. Es gibt eine gepflegte Version der Extension für die gewünschte TYPO3-Zielversion, der Changelog enthält keine für das Projekt kritischen Änderungen und die vorhandene Konfiguration funktioniert weiterhin. Dann wird die passende Version installiert, notwendige Migrationen werden ausgeführt und die Funktion wird getestet. In so einem Fall verursacht die Extension zwar Arbeit, aber keinen großen zusätzlichen Kostenblock.

Teuer wird es meistens nicht dadurch, dass eine Extension existiert, sondern dadurch, dass beim Update Probleme oder Anpassungen notwendig werden.

Wann wird eine Extension teuer?

Mehr Aufwand entsteht zum Beispiel dann, wenn:

  • keine kompatible Version vorhanden ist
  • eine eigene Anpassung notwendig wird
  • eine Ersatzextension gesucht und eingebaut werden muss
  • Templates stark überschrieben wurden
  • sich Variablen oder Datenstrukturen geändert haben
  • eigene Migrationen notwendig werden
  • eine alte Extension technisch modernisiert werden muss
  • eigene Funktionen rund um die Extension gebaut wurden

Dann kann aus einer kleinen Prüfung schnell ein deutlich größerer Arbeitsschritt werden. Das ist aber nicht bei jeder Extension der Fall. Gerade bei verbreiteten und gut gepflegten Erweiterungen hält sich der Aufwand häufig in Grenzen.

Sind eigene Extensions automatisch teurer?

Nicht automatisch, aber sie sind kritischer. Bei einer Extension aus dem TYPO3 Extension Repository kann ich prüfen, ob der Autor bereits eine passende Version veröffentlicht hat und welche Änderungen notwendig sind. Bei einer eigenen Extension liegt diese Verantwortung komplett beim Projekt selbst. Wenn der Code sauber ist und nur wenige Anpassungen notwendig sind, kann eine Custom Extension schnell aktualisiert sein. Wenn dort dagegen über viele Jahre viel individuelle Logik entstanden ist, kann der Aufwand entsprechend größer werden.

Custom Code ist nicht automatisch teuer. Man muss ihn nur selbst auf die neue TYPO3-Version bringen.

Angepasste Templates können zusätzlichen Aufwand verursachen

Viele TYPO3-Projekte verwenden nicht einfach die Standardtemplates einer Extension. Templates werden überschrieben, HTML wird an das eigene Design angepasst und manchmal wird zusätzliche Logik eingebaut. Wenn der Extension-Autor in einer neuen Version selbst die Templates verändert hat, muss geprüft werden, ob die eigenen Überschreibungen noch dazu passen.

Dabei schaue ich zum Beispiel:

  • Haben sich Variablennamen geändert?
  • Ist die Datenstruktur noch gleich?
  • Gibt es neue oder entfernte Felder?
  • Funktionieren die eigenen Fluid-Templates weiterhin?
  • Sieht die Ausgabe im Frontend noch genauso aus?
  • Funktioniert die Bearbeitung im Backend weiterhin?

Hier sind die Changelogs wieder besonders wichtig.

Ein Template kann optisch fast identisch aussehen und technisch trotzdem nicht mehr zur neuen Extension-Version passen.

Deshalb reicht es nicht, nur zu prüfen, ob die Seite ohne Fehlermeldung lädt.

Datenmigrationen sind zusätzlicher Aufwand

Wenn sich mit einer neuen Extension-Version die Datenstruktur ändert, müssen bestehende Daten übernommen werden. TYPO3 und viele Extensions liefern dafür Upgrade Wizards mit. Das macht solche Migrationen meistens gut beherrschbar. Trotzdem müssen sie ausgeführt, geprüft und getestet werden. Wenn keine passende Migration vorhanden ist, muss sie selbst gebaut werden. Diesen Aufwand erfasse ich bei der Kalkulation natürlich separat. Es ist normalerweise kein eigenes Projekt, aber ein zusätzlicher Teil des Updates.

Auch große Datenmengen sind dabei nicht automatisch problematisch. Entscheidend ist eher, wie stark sich die alte und neue Datenstruktur unterscheiden.

Lizenzkosten sind nicht dasselbe wie Entwicklungskosten

Manche Extensions bieten Unterstützung für eine neue TYPO3-Version zunächst kostenpflichtig an. Dann entstehen neben meinem Entwicklungsaufwand zusätzliche Lizenzkosten.

Diese beiden Dinge würde ich klar voneinander trennen. Zum Beispiel:

  • Aufwand für das TYPO3-Update und die Integration der Extension
  • zusätzliche Lizenzkosten des Extension-Anbieters

Über solche externen Kosten entscheidet immer der Kunde. Ich würde erklären, welche Möglichkeiten es gibt und welche Variante ich technisch empfehlen würde. Ob eine kostenpflichtige Version gekauft wird, ist eine wirtschaftliche Entscheidung des Kunden.

Auch ungenutzte Extensions müssen erstmal geprüft werden

Eine alte Extension einfach zu entfernen ist technisch oft schnell erledigt. Vorher muss aber geklärt werden, ob sie wirklich nicht mehr verwendet wird. Bei kleinen Extensions ist das meistens leicht zu prüfen. Bei größeren Erweiterungen mit vielen Funktionen kann die Analyse mehr Zeit kosten. Es kommt durchaus vor, dass eine Extension noch installiert ist, obwohl ihre eigentliche Funktion seit Jahren nicht mehr genutzt wird. Wenn sich das bestätigt, lohnt sich das Entfernen trotzdem.

Jede unnötige Extension, die aus dem Projekt verschwindet, reduziert auch zukünftige Abhängigkeiten und Updateaufwand.

Problematische Extensions versuche ich schon vor dem Angebot zu erkennen

Die Extension-Liste gehört deshalb zur ersten technischen Analyse eines TYPO3-Projekts. Ich prüfe vor einer Kostenschätzung, welche Erweiterungen vorhanden sind und ob bei der gewünschten Zielversion offensichtliche Probleme zu erwarten sind. Das hilft, den Aufwand möglichst realistisch einzuschätzen. Trotzdem lässt sich nicht jedes Problem im Voraus erkennen. Eine Extension kann offiziell kompatibel sein und beim konkreten Projekt trotzdem Besonderheiten mitbringen, die erst während des Updates sichtbar werden.

Wenn so etwas passiert, kommuniziere ich das offen und erkläre auch, warum dieser zusätzliche Aufwand vorher nicht erkennbar war.

Warum sind Extensions bei Festpreisen wichtig?

Je unbekannter die Extension-Landschaft eines Projekts ist, desto schwieriger wird ein seriöser Festpreis. Wenn ich vorab weiß, welche Extensions eingesetzt werden, welche Versionen verfügbar sind und wo individuelle Anpassungen vorhanden sind, lässt sich der Aufwand deutlich besser einschätzen.

Wenn dagegen niemand genau weiß, was im System steckt, wäre ein fester Preis schnell geraten. Deshalb ist eine technische Analyse vor größeren Updates so wichtig.

Ein seriöser Preis entsteht nicht aus der Anzahl der Seiten, sondern aus dem tatsächlichen technischen Zustand des Projekts. Extensions sind dabei ein wichtiger Teil.

Wie stark beeinflussen Extensions also die Kosten?

Sehr unterschiedlich. Eine gepflegte und kompatible Extension kann beim Update nur wenig zusätzlichen Aufwand verursachen. Eine veraltete, stark angepasste oder nicht mehr unterstützte Extension kann dagegen mehrere zusätzliche Arbeitsschritte auslösen: Analyse, Anpassung, Migration, neue Templates oder sogar einen kompletten Ersatz.

Nicht die Anzahl der Extensions macht ein TYPO3-Update teuer. Entscheidend ist, wie gut die eingesetzten Erweiterungen gepflegt sind, wie stark sie angepasst wurden und ob sie für die Zielversion überhaupt verfügbar sind.

Genau deshalb schaue ich mir die Extensions möglichst früh an. Je besser dieser Teil des Projekts vor dem Update verstanden ist, desto zuverlässiger lässt sich auch der Aufwand einschätzen.