Fehlende Dokumentation der Typoscript-Templates
Auch wenn Typoscript eine relativ einfach zu lesende und zu interpretierende Konfigurationssprache ist, heißt das nicht, dass eine Dokumentation der entsprechenden Codes bedarfsweise oder eher zufällig erfolgen kann. In TYPO3-Systemen ist das aber meistens der Fall. Sie sind durch endlose Aneinanderreihungen von Plugin-Konfigurationen oder Anpassungen der Core-Funktionen charakterisiert, die kaum oder gar nicht dokumentiert im System abgelegt werden.
Die Ursache ist meistens trivial: Die Entwickler sind nicht gleichzeitig auch die späteren Administratoren, deshalb sparen sie sich den Dokumentationsaufwand - zum Leidwesen derer, die anschließend für den Support oder die Weiterentwicklung zuständig sind. Je nach System werden sie mit einem undurchdringlichen Dschungel an Code konfrontiert. Jede Fehlersuche und Änderung erfordert dann deutlich mehr Zeit und produziert höhere Kosten.
Wer sich ein TYPO3-System entwickeln lässt, sollte deshalb unbedingt auf eine vollständige und für Dritte leicht nachvollziehbare Dokumentation des gesamten Typoscript-Codes achten. Konfigurationseinstellungen, die von bestimmten Systemvariablen, User-Interaktionen oder sonstigen Faktoren abhängig sind, sollten eindeutig als solche gekennzeichnet und genau dokumentiert werden. Das schafft Transparenz und reduziert das Risiko, dass versehentlich einzelne Funktionen durch nachträgliche Änderungen nicht mehr korrekt arbeiten.
Keine klare Linie bei der Entwicklung von Extensions
TYPO3 bietet als Open-Source-CMS mit seinem Framework für eigene Erweiterungen die prinzipiell grenzenlose Freiheit, individuelle Anforderungen direkt im System abzubilden. Dieser große Vorteil kann sich jedoch für den Anwender schnell zu einem deutlichen Nachteil entwickeln, wenn die eigenen Erweiterungen vom Standard des CMS abweichen.
Das betrifft etwa die Frage, ob bei der Programmierung bewährte und für TYPO3 optimierte Methoden für Datenbankabfragen, die Manipulation von Inhalten oder die Ausgabe des Content genutzt werden oder ob der Entwickler eher auf kreative Eigenlösungen setzt, die aber weder unbedingt Upgrade-fähig noch effizient sein müssen. Zudem sind Schwierigkeiten vorprogrammiert, wenn bei den Extensions ohne Not die Caching-Mechanismen von TYPO3 ungenutzt bleiben oder sogar deaktiviert wurden.
Wichtig ist zudem, dass sich die extern hinzugenommenen Erweiterungen zumindest grundlegend an den Programmierrichtlinien für TYPO3 orientieren und auf das Funktionsangebot des CMS zurückgreifen. Das ist beispielsweise für die Generierung des Outputs oder den Zugriff auf Variablen relevant, weil es den Pflegeaufwand begrenzt und die vollständige Funktionalität auch nach einem Upgrade des Kernsystems gewährleistet. Auch hier sollte wieder eine ausführliche Dokumentation zum Pflichtprogramm gehören.