Schlagwort-Archiv: veraltet

Wieso ich TYPO3 eigentlich nicht nutzen möchte

Ich hoffe, dass die­ser Blog­bei­trag kei­nen Flame­war aus­löst. Auch TYPO3-Anhänger schei­nen ein wenig reli­giös zu sein, wenn man ihr CMS angreift.

Ein klas­si­scher Angriff soll das aber eigent­lich gar nicht wer­den. Ich muss nur ein­fach mei­nem Unmut mal Luft machen über ein CMS, das gerade in der deutsch­spra­chi­gen Hemi­sphäre hoch­ge­lobt wird. Aber wieso ist das so? Wieso aus­ge­rech­net TYPO3?

Nun, TYPO3 wird nach­ge­sagt, ein Sys­tem zu sein, das sich ein­fach für jeden Anwen­dungs­fall ein­set­zen lässt. Begrün­det liegt dies in sei­ner modu­la­ren Archi­tek­tur und in Typo­Script, einer Kon­fi­gu­ra­ti­ons­spra­che für TYPO3. Und da geht meine Kri­tik eigent­lich schon los. Wieso bitte muss ich für die Kon­fi­gu­ra­tion eines CMS eine zusätz­li­che Spra­che erler­nen? Wieso wird hier nicht ein­fach PHP ver­wen­det, in der das CMS auch pro­gram­miert wurde/wird?

Nach­dem der Schock über­wun­den ist, die Anwen­dung sol­cher Sprach­ele­mente ist in jedem Falle fle­xi­bler als irgend­wel­che gra­fi­schen Ein­stel­lungs­dia­loge, kommt auch schon der nächste: Das Sys­tem ist schnarch­lang­sam. Das Backend bedient sich, als würde man einen fünf Jahre alten Rech­ner bedie­nen. Es ist träge, zäh und häss­lich. Gegen die Häss­lich­keit scheint mitt­ler­weile was unter­nom­men zu wer­den, viel gehol­fen hat es aber noch nicht. Das Front­end ist auf­grund des guten, vor­kon­fi­gu­rier­ten Cachings hin­ge­gen recht zügig unter­wegs, zügi­ger als die meis­ten ande­ren CMS, die ich bis­her ken­nen gelernt hab.

In dem lang­sa­men Backend sucht man dann die Option für „Nice URLs”, also schöne URLs, die nicht auf index.php?id=42 enden. Nein, spre­chende URLs sind ange­sagt. Tja, nicht in der Welt von TYPO3. TYPO3 bringt zwar ein Sys­tem namens Simu­late Sta­tic Docu­ments mit, man sieht den dadurch gene­rier­ten URLs blö­der­weise auf den ers­ten Blick an, dass das ver­wen­dete CMS TYPO3 ist. Sicher­heits­tech­nisch nicht klug und hübsch sind die URLs auch nicht unbe­dingt, da sie idio­ti­scher­weise auf .html enden und davor noch eine Zahl im Namen tra­gen. Jetzt könnte man den­ken, dass man das, bspw. über das ach-so-mächtige Typo­Script umbie­gen kann. Viel­leicht geht das auch, aber Google weiß nichts davon. Man benö­tigt also seine erste Erwei­te­rung. Die Wahl hat der geneigte Webent­wick­ler hier zwi­schen Real­URL und CoolURI. Beide Erwei­te­run­gen haben ihre Tücken und Macken. Real­URL soll angeb­lich sta­bi­ler und kom­pa­ti­bler sein, mit CoolURI hatte ich per­sön­lich aber weni­ger Schwie­rig­kei­ten. Außer­dem hat Real­URL in der Vor­ein­stel­lung wie­der ein voll­stän­dig über­flüs­si­ges .html an die gene­rier­ten URLs gehängt. Uncool. Nein, überflüssig.

Dann geht das Gemappe los. Die­ser Pro­zess ist noch durch­aus im Rah­men. Man lädt sein erstel­les Lay­out in seine TYPO3-Installation und weist den ver­schie­de­nen Berei­chen (divs) ver­schie­dene Funk­tio­nen zu, also bspw. Navi­ga­tion, Sub­na­vi­ga­tion, Inhalt, Fuß­leiste, etc. Gewöh­nungs­be­dürf­tig, aber eigent­lich gar nicht mal so blöd von der Grund­idee her.

Prima, denkt man sich, die Anfangs­pro­bleme sind über­stan­den, jetzt geht der Spaß los. Lei­der ist dem nicht so. Macht man sich näm­lich jetzt auf die Suche nach brauch­ba­ren Erwei­te­run­gen, wie man sie für andere beliebte CMS zuhauf fin­det, wird man lei­der all zu oft bit­ter ent­täuscht. Eine Art Blog für die Start­seite kann man bspw. mit tt_news (andere Erwei­te­run­gen für die­sen Zweck schei­nen auch gar nicht zu exis­tie­ren, wenn man Google fragt) rea­li­sie­ren. Über den Erwei­te­rungs­ma­na­ger ist das Ding auch bin­nen kür­zes­ter Zeit instal­liert. Wenn man Glück hat, läuft dann auch gleich alles. Im Regel­fall, CoolURI und Real­URL sei Dank aber wird das nix. Um tt_news mit einer die­ser Erwei­te­run­gen zur Zusam­men­ar­beit zu bewe­gen, ist häu­fig Hand­ar­beit gefragt. Und selbst wenn nicht, geht das spä­tes­tens dann los, wenn man den Auf­bau der URIs ver­än­dern möchte. Dafür gibt es keine Hilfs­mit­tel, oder ich hab sie über­se­hen, man muss alles per Typo­Script ein­stel­len. Und schein­bar gibt es keine Lösung, um das Post­da­tum in die URL zu inte­grie­ren, außer, man setzt irgend­wel­che wil­den SQL-Hacks über das Typo­Script ab. brrrr Ohne mich.

Möchte man jetzt auch noch so was irres wie auto­ma­ti­sche Tweets beim Erstel­len eines tt_news-Beitrags errei­chen, ist es end­gül­tig aus. Es gibt zwar eine Erwei­te­rung dafür, diese scheint aber mit aktu­el­len TYPO3-Versionen nicht zu wol­len. Davon abge­se­hen, dass die Kon­fi­gu­ra­tion ein Graus ist, funk­tio­niert die Erwei­te­rung ein­fach nicht. Feh­ler­mel­dun­gen scheint sie aber auch keine aus­ge­ben zu wol­len. Der Autor schien lei­der auch keine wirk­li­che Lust zu ver­spü­ren einem zu sagen, woran es denn lie­gen könnte und ob man viel­leicht bei der Feh­ler­su­che aus­hel­fen könne.

Wenn die auto­ma­ti­schen Tweets fehl­schla­gen, möchte man wenigs­tens die Inhalte eini­ger Flickr-Alben in seine Seite inte­grie­ren. Möchte… kön­nen ist näm­lich nicht, da quasi alle Erwei­te­run­gen in die­ser Rich­tung ent­we­der Feh­ler­mel­dun­gen wer­fen (depre­ca­ted Funk­tio­nen, da auf mei­ner Maschine PHP 5.3 ver­wen­det wird) oder schlicht und ergrei­fend nicht funk­tio­nie­ren (kein Out­put oder gleich Error 500). Aber gut, dann ist das schein­bar auch zu modern…

Zu guter letzt noch das Thema Updates: nicht machen! Also doch, natür­lich, Updates sollte man immer ein­spie­len, da diese im All­ge­mei­nen Sicher­heits­lü­cken stop­fen. Aber wenn man mal eine TYPO3-Website mit eini­gen Erwei­te­run­gen zum Lau­fen bewegt hat, sollte man tun­lichst die Fin­ger davon las­sen. Die drei TYPO3-Sites, die ich der­zeit betreue und pflege lie­fen nach einem Update von TYPO3 4.4.4 auf 4.5.0 ent­we­der gar nicht mehr, oder einige Teil­funk­tio­nen (Nice URLs zum Bei­spiel) woll­ten nicht mehr so recht. Bei einer Instal­la­tion lief auch der Upgrade-Prozess nicht sau­ber durch, rund zwei Dut­zend Datenbank-Abfragen lau­fen nicht durch und las­sen sich auch nach einem REPAIR auf der Daten­bank nicht durch­füh­ren. Die Tabel­len exis­tie­ren alle­samt schon, aber wieso ver­sucht der Upgrade-Assistent dann, diese zu erstel­len und beharrt so sehr darauf?

Einen moder­nen Web-Cache wie Var­nish ein­set­zen zu wol­len hat im TYPO3-Umfeld schein­bar auch wenig Sinn, da die vor­ein­ge­stell­ten Header-Werte den Ein­satz des­sel­bi­gen voll­stän­dig ver­hin­dern. Der Cache wird ein­fach umgan­gen und ein­ge­hende Anfra­gen lan­den wie­der beim Apa­che. Begrün­dun­gen hier­für (Cookie-Einstellungen von TYPO3) fin­det man zuhauf, trotz­dem ver­stehe ich nicht, wieso die Vor­ein­stel­lung so aus­se­hen muss, zumal sol­che Sys­teme wie Var­nish auch bei den TYPO3-Kosmopoliten bekannt sein sollten.

Natür­lich, all diese Feh­ler mögen durch meine unsäg­li­che Inkom­pe­tenz her­vor­ge­ru­fen wor­den sein. Auf man­che davon trifft das auch sicher­lich zu, immer­hin habe ich vor­her keine zwei Hand­bü­cher über das Sys­tem gele­sen. Aber genau dar­auf will ich hin­aus. TYPO3 mag unheim­lich leis­tungs­fä­hig und fle­xi­bel sein. Wenn man das Sys­tem in jeder Bezie­hung beherrscht und keine Anwen­dungs­fälle ver­sucht zu rea­li­sie­ren, die ganz klas­sisch sind. Das Sys­tem wird dann unfreund­lich dem Anwen­der gegen­über, wenn man Dinge ver­sucht, die im Zeit­al­ter des Social Web eine Selbst­ver­ständ­lich­keit sein soll­ten. Im Zeit­al­ter von REST-konformen URIs, Twit­ter, Flickr und Face­book. Eine der genann­ten TYPO3-Websites wurde durch einen guten Freund mas­siv ange­passt. Ich war über die Fle­xi­bi­li­tät, die durch Typo­Script erreicht wird wirk­lich über­rascht. Als dann aber die ers­ten Updates des Kerns und der Erwei­te­run­gen kamen, gin­gen die Pro­bleme los. Sicher­lich, auch das wie­derum mag an den selbst­ge­bau­ten Lösun­gen lie­gen. Aber ich selbst möchte eigent­lich keine Web­sites bauen, die auf einem Fun­da­ment ste­hen, das bei jeder noch so leich­ten Erschüt­te­rung zusam­men­bricht. Alle wei­te­ren CMS, die ich ein­setze sind im Regel­fall unemp­find­lich gegen­über Updates. Tritt doch mal ein Pro­blem auf, lässt sich die­ses zumeist mit ein wenig Google-Geschick flott beheben.

Und dies soll der letzte Punkt mei­ner Pre­digt sein. Die TYPO3-Community ist ent­we­der ahnungs­los oder ein­fach wenig bis gar nicht hilfs­be­reit. Stellt man irgendwo Fra­gen zu Din­gen wie der Twitter-Erweiterung oder dem URL-Format von tt_news-Beiträgen erhält man ein­fach keine Ant­wort. Die Fra­gen habe ich an meh­re­ren Stel­len gestellt, immer mit dem glei­chen Ergeb­nis. Es kam keine Ant­wort. Ent­we­der, meine Anwen­dungs­fälle sind so exo­tisch, dass nur ich dar­auf komme, oder aber es gibt keine Lösun­gen für diese Pro­bleme. Was auch immer das Ergeb­nis sein mag, bei­des ist unzufriedenstellend.

Wenn ich heut­zu­tage ein Open-Source-CMS ein­setze erwarte ich ein­fach eine funk­tio­nie­rende Com­mu­nity, einen gro­ßen Fun­dus an funk­tio­nie­ren­den Erwei­te­run­gen und ein moder­nes User-Interface. Letz­te­res ist erfah­rungs­ge­mäß für den Otto-Normal-Anwender, für den es ja eigent­lich gemacht sein soll, auch viel zu kom­plex. Bei kei­nem ande­ren CMS erhalte ich so viele Rück­fra­gen mei­ner Kun­den wie bei TYPO3, weil vie­les ein­fach nicht logisch oder ein­deu­tig genug ist.

TYPO3-Anhänger wer­den ver­mut­lich mit der Argu­men­ta­tion kom­men, dass TYPO3 nun mal kein Sys­tem für Ein­stei­ger sei. Das ist ja sicher­lich auch rich­tig, aber wieso muss man einige Dinge so unheim­lich umständ­lich machen? Selbst Fort­ge­schrit­tene oder Pro­fis mögen Abkür­zun­gen und Arbeits­er­leich­te­run­gen. Und ein Backend, das sich nicht durch Ein­stei­ger bedie­nen lässt ist quasi nutz­los, da ich mir kaum vor­stel­len kann, dass in Redak­tio­nen aus­schließ­lich Voll­pro­fis sit­zen, die Bei­träge verfassen.

Aus mei­ner Sicht ist TYPO3 das Win­dows unter den CMS: es wird des­we­gen so häu­fig ein­ge­setzt, weil es sich mal im Business-Bereich eta­bliert hat. Das Sys­tem ist nicht mehr zeit­ge­mäß, träge, auf­ge­bläht und schwer zu debug­gen. Ich bin dolle gespannt auf die Ver­sion 5.0, die sich der­zeit in der Ent­wick­lung befin­det. Genau so gespannt, wie ich auf Win­dows 8 bin. Es bleibt abzu­war­ten, ob mit dem nächs­ten Ver­si­ons­sprung mal wie­der ein Inno­va­ti­ons­vor­sprung auf­ge­baut wer­den kann, der den der­zei­ti­gen Sta­tus bei­der Sys­teme in der Geschäfts­feld recht­fer­ti­gen kann. Denn beson­ders in Deutsch­land scheint man Pro­bleme damit zu haben auf Alter­na­ti­ven zu wech­seln, wenn man sich erst mal mit einem Sys­tem inten­si­ver befasst hat. MODx bspw. soll eine her­vor­ra­gende Alter­na­tive zu TYPO3 sein, hier­zu­lande ein­ge­setzt wird sie aber lei­der kaum. Ent­schei­der in Betrie­ben wer­den häu­fig ein­fach TYPO3 for­dern, weil sie mal gehört haben, dass es DAS Business-CMS schlecht­hin ist. Nicht aber, weil sie mit des­sen Benut­zung unheim­lich zufrie­den sind oder andere Aspekte des Sys­tems so unheim­lich schätzen.