1. Juli 2008 Der neue Stern am CMS-Himmel! Oder doch nicht?
in Kategorie CMS
Tags: CMS, MVC, RAD, Silverstripe

Ich suche eigentlich seit ich denken kann, nach einem CMS, dass nicht damit glänzt von jedem dahergelaufenen Webmaster verwendet werden zu können, sondern sich speziell an die Bedürfnisse eines Webentwicklers richtet. Ich dachte die suche wäre mit Silverstripe beendet.
Warum gerade Silverstripe?
Mich hat an den herkömmlichen Content Management Systemen schon immer gestört, dass ein Webentwickler darin seine Vorteile nicht wirklich ausspielen kann. Ok, meistens lassen sich Module bzw. Plugins entwickeln und einbinden. Das war es dann aber auch. Die Oberfläche lässt sich über Templates bzw. Themes anpassen. Doch die Vorgaben des Systems sind meist erheblich. Ihr seht, mich interessiert vor allem, was unter der Haube eines CMS steckt. Das soll aber nicht heißen, dass ich nicht auch auf eine schlanke, einfach zu bedienende und barrierearme Administrationsoberfläche wert lege. Allein schon deshalb, weil diese nach Abschluss eines Projektes im Normalfall von absoluten Laien bedient werden soll und nicht von mir selbst.
Gut. Nun zu Silverstripe. Was macht Silverstripe so besonders? Es richtet sich ausdrücklich an Webentwickler! Silverstripe benötigt PHP5 (was schon mal ein gutes Zeichen ist) und eine MySQL-Datenbank. Das Fundament des ganzen Systems bildet das MVC-Framework Sapphire, welches Konzepte wie ActiveRecord und ORM implementiert. So lassen sich verschiedenste Modells über Formulare im Backend verwalten und nicht nur eine normale Seite mit ihrem Inhalt. Ein solch flexibles System wünscht sich doch jeder Webentwickler.
Aber…
Das Konzept von Silverstripe ist doch sehr vielversprechend. In Zeiten des Hypes von Ruby on Rails und Rapid Applikation Development wünscht man sich doch solche Systeme. Deshalb entschied ich mich für den Einsatz in einem kleineren Projekt.
Dass trotz einer Versionsnummer 2.2.2 hinter Silverstripe ein noch sehr junges Projekt steckt, bemerkt man beim Produktiveinsatz dann leider doch sehr schnell. So löst sich das »Rapid« in Rapid Applikation Development schnell in Luft auf, wenn man ständig auf undokumentierte Probleme stößt oder das gesamte System doch nicht so flexibel ist, wie man anfangs dachte. Leider ist das Sapphire-Framework alles andere als vollständig. Ich hätte beispielsweise gerne eine SMTP-Unterstützung beim Mailversand gehabt. Sapphire ist auch längst nicht so elegant und ausgereift, wie z.B. das Zend Framework. Doch wer hier eingreift opfert oder riskiert zumindest die Möglichkeit eines einfachen Updates auf neue Silverstripe-Versionen.
Auch das Template-System ist alles andere als flexibel. Die eigens für Silverstripe entwickelte Template-Sprache bietet kaum Features und fordert so eine absolut strikte Trennung zwischen Logik und Präsentation. Ok grundsätzlich nicht verwerflich. Aber es gibt auch Formen von Präsentationslogik, die ich dann doch gerne in meinen Templätes hätte, die auch nichts im Controller verloren haben. Warum nicht einfach PHP als Template-Sprache nutzen, wo doch die Zielgruppe sowieso PHP-Entwickler sind?
Eine andere erschrenkende Feststellung musste ich machen, als ich ein sog. »User-definded Form« erstellen wollte. Damit lassen sich theoretisch direkt über die Administrationsoberfläche Formulare erstellen. Die Validierung dieser Formulare ist aber nicht brauchbar. Internationalisierung wird hier erst gar nicht unterstützt. Die Fehlermeldungen sind fest im System verankert. Und bei abgeschaltetem JavaScript erhält man gänzlich andere Fehlermeldungen als bei der clientseitigen Validierung. Pfusch.
Leider hapert es an alles Ecken. Die Trennung zwischen Modell und Controller ist nicht eindeutig geregelt. Seitenhierachien lassen sich über die URIs nicht repräsentieren. CSS-Dateien werden vom Controller verwaltet, warum eigentlich? Meta-Tags werden vom System gesetzt. Zum Teil falsch. Der Language-Meta-Tag lässt sich nicht ohne weiteres auf Deutsch umstellen. Nein hierzu muss die Internationalisierung aktiviert werden und Deutsch als Standardsprache eingestellt werden. Die Formulare innerhalb der Administrationsoberfläche werden nicht validiert.
Fazit
Diese Aufzählung der Mängel könnte ich noch weiter führen. Dass kein CMS jemals frei von Fehlern sein wird, ist mir klar. Aber hier wurden Konzepte einfach besser schlecht als recht umgesetzt. Für kleinere Websites ist das System durchaus zu gebrauchen. Bei größeren Projekten würde ich mich darauf allerdings nicht mehr verlassen wollen. Leider bin ich damit wieder einmal auf der Suche nach einem guten CMS. Mein Wunsch wäre eines mit Rapid Applikation Development-Ansatz auf Basis des Zend Frameworks.
Ähnliche Artikel
Der Beitrag wurde am Dienstag, den 1. Juli 2008 um 10:29 Uhr veröffentlicht und wurde unter CMS abgelegt. du kannst die Kommentare zu diesen Eintrag durch den RSS 2.0 Feed verfolgen. du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

Mir geht es ganz genauso! Ich dachte auch, mit SilverStripe würde alles gut - aber nach dem ersten kleinen Testprojekt setzt doch die Ernüchterung wie beschrieben ein.
Ich suche nun schon seit einiger Zeit nach kombinierten CMS/Framework/RAD-Tools - ohne echten Erfolg. Die gängigen PHP-Frameworks habe ich mehr oder weniger alle “durch”. Gibt es denn hier wirklich nichts Brauchbares in der Richtung?
Naja, also PHP-Frameworks gibt es einige brauchbare. Mein persönlicher Favorit ist eben das besagte Zend Framwork. Die Basis für eine gute CMS/MVC-Kombination wäre schon vorhanden. Es gibt nur leider kein Produkt, welches die vorhandenen Stärken nutzt.
Disclaimer: Ich bin als Entwickler bei Silverstripe Ltd. angestellt.
Danke für das ausführliche Review - du sagst es, Silverstripe ist noch ein recht junges System. Es wird von knapp einem Duzend engagierten Entwicklern betrieben, die Community hält sich leider noch etwas zurück mit Patches und Modulen. Mit einem Zend Framework können wir schon allein von der Manpower her nicht mithalten - zumal wir ein Framework *plus* CMS entwickeln.
Alles in allem ist Silverstripe doch recht stabil, und wird auf großen Seiten wie zb. demconvention.com eingesetzt.
Wenn man sich damit anfreunden kann, öfters mal was selbst zu schreiben (wie z.b. SMTP-Unterstützung), macht das ganze richtig Spaß! 100% der spezifischen Projekt-Anforderungen “out-of-the-box” gibts nur sehr selten… :)
Wir sind uns der meisten deiner angemerkten Probleme bewusst,
so ist z.B. eine solidere Formvalidierung in Planung (siehe http://open.silverstripe.com/wiki/development/validation).
Wir würden uns freuen wenn du mal im Silverstripe Forum (oder unserem freitäglichen IRC-Meetings) vorbeischauen würdest!
Grüße aus Wellington
Entschuldige der Kommentar ist irgendwie in den Spam gerutscht.
Freue mich, dass auch ein Entwickler von Silverstripe hierher gefunden hat. Wie gesagt, das Konzept hinter Silverstripe finde ich Klasse und ich hoffe und wünsche mir, dass ihr in Zukunft noch große Fortschritte machen werdet. Evtl. schau ich wirklich mal bei euren IRC-Meetings vorbei.
Ich setze nur noch Typo3 ein. Für einen unerfahrenen Anwender ist Typo3 vielleicht ein bißchen zu komplex, aber man kann es entsprechend für z.B. Redakteure entschlacken, damit sie nur die Funktionalitäten haben, die sie benötigen. Silverstripe hingegen kenne ich nicht.
Typo3 ist mir für die allermeisten Projekte viel zu komplex, auch die Administrationsoberfläche entspricht meiner Meinung nach nicht im geringsten aktuellen Maßstäben. Vom Templating brauchen wir bei Typo3 gar nicht er reden. Das macht nun wirklich keine Spass.
Im Moment setze ich ein neues Projekt in Drupal um, und fahre damit bisher ganz gut. Der ein oder andere Stolperstein wird aber erfahrungsgemäß noch auftauchen. Zudem hat Drupal die meiner Meinung nach mit Abstand sauberste und übersichtlichste Administrationsoberfläche, was für viele Kunden enorm wichtig ist, weil sie sich gar nicht erst umfassend damit beschäftigen wollen.
[...] Der neue Stern am CMS-Himmel! Oder doch nicht? | webholics – development + design | Freelancer… :Mario Volkes recht harsche Kritik am seiner Meinung nach inkonsistenten und fehlerbehafteten Silverstripe. [...]
Also ich habe auch mal in Silverstripe reingeschaut. Als ich darüber gelesen habe, war ich “Feuer und Flamme”, endlich ein reines PHP5-CMS verwenden zu können. Ich habe ein Projekt damit angefangen und dabei belasse ich es leider auch. Neben den oben genannten Mängeln gibt es noch eine Menge anderer (sehr langsam, HTML-Code in den Controllern, keine hierarchischen URLs, Navigationsgruppen nur über Holder möglich usw.). Es gibt aber auch einige gute und interessante Ansätze (DB-Tabellen auf Basis der Klassen erstellen bzw. erweitern, DB-Tabellen verknüpfen, Backend-Formulare und -Tabs erweitern).
Das Framework Sapphire kann man nicht wirklich als MVC-Framework bezeichnen. Es hinkt technisch anderen PHP-Framework hinterher und vermischt oft Model-, View- und Controller-Code.
Ich werde zukünftig auch auf das Zend Framework setzen. Es ist sehr umfangreich, komfortabel und flexibel. Schade, dass die Entwickler von SilverStripe eine Verwendung des Zend Frameworks nicht in Erwägung ziehen. Es bringt sehr viel Funktionen bereits mit, man würde sich eine Menge Arbeit ersparen.
Ja genauso erging es mir leider auch. Insgesamt muss man Silverstripe noch ein wenig Zeit geben, um sich zu entwickeln.
Leider schein es so, als ob die Entwicklung auch nicht sehr schnell voranschreitet. Wenn jemand ein CMS kennt, dass auf Zend aufsetzt nur her damit!
Ich entdecke gerade diesen alten Eintrag, da ich das Buch gekauft habe und mich in Silverstripe einarbeite. Im vergangenen Jahr scheint sich ja einiges getan zu haben.
Da hier einige mit ähnlichem Interesse kommentiert hatten, wollte ich noch auf ein ganz frisches CMF-Plugin für symfony hinweisen: http://www.symfony-project.org/plugins/sfSympalPlugin
Was Zend und CMS betrifft, da gibt es immerhin ein Buch: http://www.amazon.de/Pro-Zend-Framework-CMS-Building/dp/1430218797 Ich meine mich zu erinnern, das das Ergebnis als Projekt weiterentwickelt würde, komme aber im Moment nicht darauf.
Danke für die Info, das Buch hört sich ziemlich spannend an. Wenn dir der Projektname wieder einfällt bitte posten :-)
Wir setzen auf der Arbeit das SilverStripe ein und ich habe jetzt schon etliche Module dafür entwickelt. Teilweise muss man echt sagen es ist ein Krampf, andere Dinge sind dafür echt in ein paar Minuten erstellt.
Vor allem die Geschwindigkeit, besonders im Backend, lässt echt zu wünschen übrig (hat sich in der neueren Version Gott seih Dank geändert). Aber was soll man bei bis zu 1000 Datenbank Zugriffen beim ersten Aufruf des Backends anderes erwarten?
Das ZF CMS Projekt ist Digitalus CMS (digitaluscms.com). Ich habe das Buch bestellt, um mir einen Eindruck von Digitalus als potentiellen Kanditaten für meine Site zu machen, bzw die Erweiterbarkeit zu prüfen. Ohne jetzt gleich ein Review zu schreiben, halte ich das CMS für kleine Sites durchaus geeignet und den Ansatz für gut, bei umfangreicheren Sites aber zu träge. Hilft wohl nichts, wir werden wohl unsere eigenen CMS’e schreiben müssen ;-)
Danke für den Hinweis, muss ich mir mal anschauen.
[...] Der neue Stern am CMS-Himmel! Oder doch nicht? | webholics - development +design | Freelancer im Ber…: Mario Volkes recht harsche Kritik am seiner Meinung nach inkonsistenten und fehlerbehafteten Silverstripe. [...]