Ich persönlich habe ja Apple immer für das Abschneiden alter Zöpfe bewundert und Microsoft geschmäht - so kommt es, dass die Geräte auf der OSX-Plattform in aller Regel mit relativ moderner Software laufen, während auf der anderen Seite noch eine Menge PCs mit dem Betriebssystem-Zombie Windows XP unterwegs sind. Auch Content-Management-Systeme haben eine begrenzte Lebensdauer. Jetzt läuft die 2er-Serie von Contao aus, die mich seit 2006 begleitet hat. Was bedeutet das?
Zunächst einmal die Fakten: die Contao-Versionen mit der Nummer 2 vor dem Punkt (oder früher TYPOlight) sind im Kern seit 2006 verfügbar, und damit hat dieses CMS eine vergleichsweise lange Zeit ohne harte Versionssprünge hinter sich. Die Entwicklung erfolgte stetig, es gab viele Verbesserungen, die vom Extension-Repository über den Themes-Manager bis hin zur Ausgabe in modernem HTML5 reichten. Die Updates waren - wenn man sich nicht gerade schusselig anstellte oder das Grundprinzip nicht verstanden hatte - durchaus schaffbar, weil Änderungen meist gut dokumentiert waren und dabei wo immer möglich auf die Updatefähigkeit geachtet wurde.
In dieser Zeit entwickelte sich ein gut strukturiertes Ökosystem mit vielen Extensions, die den Core sinnvoll ergänzten. Eine Stärke von Contao war dabei immer die templatebasierte Ausgabe, die Anforderungen robust umsetzbar machten. Die grundlegende Systemarchitektur hat sich dabei modernen Anforderungen angepasst, aber gleichzeitig vermieden, zu große Schritte zu machen. Immer noch ist Contao 2 ein flexibles System mit vielen Vorteilen.
Mittlerweile hat sich das Medium Internet jedoch gewandelt - nicht nur im Frontend mit Interaktivität und neuen Möglichkeiten durch HTML5, Javascript-Bibliotheken, CSS3 und vielen anderen Dingen. Interoperabilität erfordert saubere Systemarchitekturen, Rapid Development den Einsatz von Bibliotheken und Template Engines. Alles Dinge, die man Contao 2 zwar beibringen konnte, in denen man aber an Grenzen stieß, an denen man sich abarbeiten konnte.
Contao 3 hat vor 2 Jahren sehr grundlegende Änderungen mit sich gebracht. Augenscheinlich war die Umstrukturierung im Core-System mit erhöhter Modularisierung, neu war das datenbankgestütze Dateimanagement. Auch ich habe diese Neuerungen mit Skepsis gesehen, und ich bin der Meinung, dass in den beiden ersten Versionen der 3er-Serie vieles nur unzureichend umgesetzt war. Kein Problem, die Version 2.11 hatte ja Long-Term-Support, war also weiter eine gute Basis.
Mit Contao 3.2 wird noch in diesem Monat eine neue LTS-Version veröffentlicht werden. Ich nutze die Entwicklerversion bereits wann immer ich kann - und auch wenn noch nicht alles fertig ist denke ich, dass das neue C3-Release mich und meine Kunden sehr gut in den nächsten Jahren begleiten wird. Wenn nur nicht die Sache mit den Erweiterungen wäre. Denn die sind bei weitem noch nicht alle Kompatibel.
Theme+ (erweitertes Theming mit Unterstützung für LESS, SASS oder CoffeeScript), das Newslettersystem Avisota, MetaModels (die individuelle Datenbank-Applikationen möglich machen) oder das Shopsystem Isotope: an allen wird intensiv gearbeitet, aber stabile Versionen für Contao 3.2 sind noch nicht da.
Für alle, die intensiv mit Contao arbeiten, ist das ein Problem - denn Contao reicht zwar aus, um eine Webseite mit Basisfunktionen zu bauen, doch umfangreiche Applikationen sind damit erst einmal nicht ohne Programmierungen möglich. Setzt man deshalb Contao 2 weiter ein? Oder arbeitet man robust um Problembereiche herum? Fragen über Fragen.
Meine These ist, dass man achtsam mit dem Übergang zur neuen Version umgehen sollte - manche Funktionen, bei denen es bisher verlockend war, mal eben eine Extension zu installieren, sollten verstärkt mit einer sauberen Lösung und durch Erweiterung von Corefunktionen gelöst werden können. Felder hinzufügen war auch bisher eine Stärke von Contao, und ich muss nicht fünfzehn kleine Erweiterungen für Events einstöpseln, wenn es ein sauberes DCA und ein paar ergänzende Datenbankfelder auch tun.
Wie bisher gilt, dass man sich sehr genau anschauen sollte, wessen Extensions man ins System einbaut - wer vor zwei Jahren mal einen Slider mit seltsamen Templates gebaut hat, der wird davon vermutlich keine neue Version für Contao 3.2 programmieren. Qualitätsmerkmal für Extensions ist, dass sie guten Support und eine hohe Updatefrequenz haben. Dann werden sie nämlich vom Entwickler oder der Entwicklerin selbst benötigt und gut gepflegt.
Auch ein Blick in die Quelltext kann ein Indiz sein - werden Contao-eigene Mechanismen genutzt? Gut! oder werden mal eben quick & dirty im Template Datenbankverbindungen geöffnet, anstatt mittels Hooks mit dem System zu kommunizieren? Das wäre schlecht.
Wer sauber arbeitet, oder wer mit sauber aufgebauten Extensions arbeitet, der wird vergleichsweise geringe Probleme haben, sanft von Version 2 zu Version 3 zu migrieren. Wem Standards egal sind, der wird spätestens dann bestraft, wenn ohne Vorarbeit der Updateknopf gedrückt wird.
Fazit: wenn man um Grenzen und Rahmenbedingungen weiß, dann kann man durchaus noch bis zum nächsten Frühjahr mit Contao 2.11 arbeiten, um dann auf Version 3.2 LTS zu migrieren. Extensions wie MetaModels werden unter beiden Systemen arbeiten, und damit sicherstellen, dass alle Daten im System bleiben. So ist ein nachhaltiges Arbeiten möglich.
Schließlich möchte ich an dieser Stelle um Unterstützung für Fundraising bitten: Die 'großen', wichtigen Extensions brauchen Ressourcen, um zukunftsfähig zu bleiben. Wer von der Sicherheit fortlaufend aktualisierter Software profitiert sollte dies auch finanziell ermöglichen. Bei Avisota, MetaModels oder Isotope gibt es die Möglichkeit, Entwicklungszeit zu sponsern. Und alle, die mit Contao arbeiten, werden davon profitieren.
Einen Kommentar schreiben
Hast Du Fragen oder Anregungen? Dann nutze die Kommentarfunktion.