Ich hoffe, dass dieser Blogbeitrag keinen Flamewar auslöst. Auch TYPO3-Anhänger scheinen ein wenig religiös zu sein, wenn man ihr CMS angreift.
Ein klassischer Angriff soll das aber eigentlich gar nicht werden. Ich muss nur einfach meinem Unmut mal Luft machen über ein CMS, das gerade in der deutschsprachigen Hemisphäre hochgelobt wird. Aber wieso ist das so? Wieso ausgerechnet TYPO3?
Nun, TYPO3 wird nachgesagt, ein System zu sein, das sich einfach für jeden Anwendungsfall einsetzen lässt. Begründet liegt dies in seiner modularen Architektur und in TypoScript, einer Konfigurationssprache für TYPO3. Und da geht meine Kritik eigentlich schon los. Wieso bitte muss ich für die Konfiguration eines CMS eine zusätzliche Sprache erlernen? Wieso wird hier nicht einfach PHP verwendet, in der das CMS auch programmiert wurde/wird?
Nachdem der Schock überwunden ist, die Anwendung solcher Sprachelemente ist in jedem Falle flexibler als irgendwelche grafischen Einstellungsdialoge, kommt auch schon der nächste: Das System ist schnarchlangsam. Das Backend bedient sich, als würde man einen fünf Jahre alten Rechner bedienen. Es ist träge, zäh und hässlich. Gegen die Hässlichkeit scheint mittlerweile was unternommen zu werden, viel geholfen hat es aber noch nicht. Das Frontend ist aufgrund des guten, vorkonfigurierten Cachings hingegen recht zügig unterwegs, zügiger als die meisten anderen CMS, die ich bisher kennen gelernt hab.
In dem langsamen Backend sucht man dann die Option für „Nice URLs”, also schöne URLs, die nicht auf index.php?id=42 enden. Nein, sprechende URLs sind angesagt. Tja, nicht in der Welt von TYPO3. TYPO3 bringt zwar ein System namens Simulate Static Documents mit, man sieht den dadurch generierten URLs blöderweise auf den ersten Blick an, dass das verwendete CMS TYPO3 ist. Sicherheitstechnisch nicht klug und hübsch sind die URLs auch nicht unbedingt, da sie idiotischerweise auf .html enden und davor noch eine Zahl im Namen tragen. Jetzt könnte man denken, dass man das, bspw. über das ach-so-mächtige TypoScript umbiegen kann. Vielleicht geht das auch, aber Google weiß nichts davon. Man benötigt also seine erste Erweiterung. Die Wahl hat der geneigte Webentwickler hier zwischen RealURL und CoolURI. Beide Erweiterungen haben ihre Tücken und Macken. RealURL soll angeblich stabiler und kompatibler sein, mit CoolURI hatte ich persönlich aber weniger Schwierigkeiten. Außerdem hat RealURL in der Voreinstellung wieder ein vollständig überflüssiges .html an die generierten URLs gehängt. Uncool. Nein, überflüssig.
Dann geht das Gemappe los. Dieser Prozess ist noch durchaus im Rahmen. Man lädt sein erstelles Layout in seine TYPO3-Installation und weist den verschiedenen Bereichen (divs) verschiedene Funktionen zu, also bspw. Navigation, Subnavigation, Inhalt, Fußleiste, etc. Gewöhnungsbedürftig, aber eigentlich gar nicht mal so blöd von der Grundidee her.
Prima, denkt man sich, die Anfangsprobleme sind überstanden, jetzt geht der Spaß los. Leider ist dem nicht so. Macht man sich nämlich jetzt auf die Suche nach brauchbaren Erweiterungen, wie man sie für andere beliebte CMS zuhauf findet, wird man leider all zu oft bitter enttäuscht. Eine Art Blog für die Startseite kann man bspw. mit tt_news (andere Erweiterungen für diesen Zweck scheinen auch gar nicht zu existieren, wenn man Google fragt) realisieren. Über den Erweiterungsmanager ist das Ding auch binnen kürzester Zeit installiert. Wenn man Glück hat, läuft dann auch gleich alles. Im Regelfall, CoolURI und RealURL sei Dank aber wird das nix. Um tt_news mit einer dieser Erweiterungen zur Zusammenarbeit zu bewegen, ist häufig Handarbeit gefragt. Und selbst wenn nicht, geht das spätestens dann los, wenn man den Aufbau der URIs verändern möchte. Dafür gibt es keine Hilfsmittel, oder ich hab sie übersehen, man muss alles per TypoScript einstellen. Und scheinbar gibt es keine Lösung, um das Postdatum in die URL zu integrieren, außer, man setzt irgendwelche wilden SQL-Hacks über das TypoScript ab. brrrr Ohne mich.
Möchte man jetzt auch noch so was irres wie automatische Tweets beim Erstellen eines tt_news-Beitrags erreichen, ist es endgültig aus. Es gibt zwar eine Erweiterung dafür, diese scheint aber mit aktuellen TYPO3-Versionen nicht zu wollen. Davon abgesehen, dass die Konfiguration ein Graus ist, funktioniert die Erweiterung einfach nicht. Fehlermeldungen scheint sie aber auch keine ausgeben zu wollen. Der Autor schien leider auch keine wirkliche Lust zu verspüren einem zu sagen, woran es denn liegen könnte und ob man vielleicht bei der Fehlersuche aushelfen könne.
Wenn die automatischen Tweets fehlschlagen, möchte man wenigstens die Inhalte einiger Flickr-Alben in seine Seite integrieren. Möchte… können ist nämlich nicht, da quasi alle Erweiterungen in dieser Richtung entweder Fehlermeldungen werfen (deprecated Funktionen, da auf meiner Maschine PHP 5.3 verwendet wird) oder schlicht und ergreifend nicht funktionieren (kein Output oder gleich Error 500). Aber gut, dann ist das scheinbar auch zu modern…
Zu guter letzt noch das Thema Updates: nicht machen! Also doch, natürlich, Updates sollte man immer einspielen, da diese im Allgemeinen Sicherheitslücken stopfen. Aber wenn man mal eine TYPO3-Website mit einigen Erweiterungen zum Laufen bewegt hat, sollte man tunlichst die Finger davon lassen. Die drei TYPO3-Sites, die ich derzeit betreue und pflege liefen nach einem Update von TYPO3 4.4.4 auf 4.5.0 entweder gar nicht mehr, oder einige Teilfunktionen (Nice URLs zum Beispiel) wollten nicht mehr so recht. Bei einer Installation lief auch der Upgrade-Prozess nicht sauber durch, rund zwei Dutzend Datenbank-Abfragen laufen nicht durch und lassen sich auch nach einem REPAIR auf der Datenbank nicht durchführen. Die Tabellen existieren allesamt schon, aber wieso versucht der Upgrade-Assistent dann, diese zu erstellen und beharrt so sehr darauf?
Einen modernen Web-Cache wie Varnish einsetzen zu wollen hat im TYPO3-Umfeld scheinbar auch wenig Sinn, da die voreingestellten Header-Werte den Einsatz desselbigen vollständig verhindern. Der Cache wird einfach umgangen und eingehende Anfragen landen wieder beim Apache. Begründungen hierfür (Cookie-Einstellungen von TYPO3) findet man zuhauf, trotzdem verstehe ich nicht, wieso die Voreinstellung so aussehen muss, zumal solche Systeme wie Varnish auch bei den TYPO3-Kosmopoliten bekannt sein sollten.
Natürlich, all diese Fehler mögen durch meine unsägliche Inkompetenz hervorgerufen worden sein. Auf manche davon trifft das auch sicherlich zu, immerhin habe ich vorher keine zwei Handbücher über das System gelesen. Aber genau darauf will ich hinaus. TYPO3 mag unheimlich leistungsfähig und flexibel sein. Wenn man das System in jeder Beziehung beherrscht und keine Anwendungsfälle versucht zu realisieren, die ganz klassisch sind. Das System wird dann unfreundlich dem Anwender gegenüber, wenn man Dinge versucht, die im Zeitalter des Social Web eine Selbstverständlichkeit sein sollten. Im Zeitalter von REST-konformen URIs, Twitter, Flickr und Facebook. Eine der genannten TYPO3-Websites wurde durch einen guten Freund massiv angepasst. Ich war über die Flexibilität, die durch TypoScript erreicht wird wirklich überrascht. Als dann aber die ersten Updates des Kerns und der Erweiterungen kamen, gingen die Probleme los. Sicherlich, auch das wiederum mag an den selbstgebauten Lösungen liegen. Aber ich selbst möchte eigentlich keine Websites bauen, die auf einem Fundament stehen, das bei jeder noch so leichten Erschütterung zusammenbricht. Alle weiteren CMS, die ich einsetze sind im Regelfall unempfindlich gegenüber Updates. Tritt doch mal ein Problem auf, lässt sich dieses zumeist mit ein wenig Google-Geschick flott beheben.
Und dies soll der letzte Punkt meiner Predigt sein. Die TYPO3-Community ist entweder ahnungslos oder einfach wenig bis gar nicht hilfsbereit. Stellt man irgendwo Fragen zu Dingen wie der Twitter-Erweiterung oder dem URL-Format von tt_news-Beiträgen erhält man einfach keine Antwort. Die Fragen habe ich an mehreren Stellen gestellt, immer mit dem gleichen Ergebnis. Es kam keine Antwort. Entweder, meine Anwendungsfälle sind so exotisch, dass nur ich darauf komme, oder aber es gibt keine Lösungen für diese Probleme. Was auch immer das Ergebnis sein mag, beides ist unzufriedenstellend.
Wenn ich heutzutage ein Open-Source-CMS einsetze erwarte ich einfach eine funktionierende Community, einen großen Fundus an funktionierenden Erweiterungen und ein modernes User-Interface. Letzteres ist erfahrungsgemäß für den Otto-Normal-Anwender, für den es ja eigentlich gemacht sein soll, auch viel zu komplex. Bei keinem anderen CMS erhalte ich so viele Rückfragen meiner Kunden wie bei TYPO3, weil vieles einfach nicht logisch oder eindeutig genug ist.
TYPO3-Anhänger werden vermutlich mit der Argumentation kommen, dass TYPO3 nun mal kein System für Einsteiger sei. Das ist ja sicherlich auch richtig, aber wieso muss man einige Dinge so unheimlich umständlich machen? Selbst Fortgeschrittene oder Profis mögen Abkürzungen und Arbeitserleichterungen. Und ein Backend, das sich nicht durch Einsteiger bedienen lässt ist quasi nutzlos, da ich mir kaum vorstellen kann, dass in Redaktionen ausschließlich Vollprofis sitzen, die Beiträge verfassen.
Aus meiner Sicht ist TYPO3 das Windows unter den CMS: es wird deswegen so häufig eingesetzt, weil es sich mal im Business-Bereich etabliert hat. Das System ist nicht mehr zeitgemäß, träge, aufgebläht und schwer zu debuggen. Ich bin dolle gespannt auf die Version 5.0, die sich derzeit in der Entwicklung befindet. Genau so gespannt, wie ich auf Windows 8 bin. Es bleibt abzuwarten, ob mit dem nächsten Versionssprung mal wieder ein Innovationsvorsprung aufgebaut werden kann, der den derzeitigen Status beider Systeme in der Geschäftsfeld rechtfertigen kann. Denn besonders in Deutschland scheint man Probleme damit zu haben auf Alternativen zu wechseln, wenn man sich erst mal mit einem System intensiver befasst hat. MODx bspw. soll eine hervorragende Alternative zu TYPO3 sein, hierzulande eingesetzt wird sie aber leider kaum. Entscheider in Betrieben werden häufig einfach TYPO3 fordern, weil sie mal gehört haben, dass es DAS Business-CMS schlechthin ist. Nicht aber, weil sie mit dessen Benutzung unheimlich zufrieden sind oder andere Aspekte des Systems so unheimlich schätzen.