Kategorien
CMS Programmierung

CMS Made Simple: Das beste CMS für Entwickler?

Heute werde ich einen tieferen Blick auf CMS Made Simple werfen. Dieses Content Management System hat bereits ein erkleckliche Zahl an Jährchen auf dem Buckel, gehört dabei aber nicht zu den Großen der Branche. CMS Made Simple legt nach eigenem Bekunden den Fokus auf Simplicity, am ehesten zu übersetzen mit Einfachheit. Einfachheit ist dabei nicht im Sinne von geringem Funktionsumfang zu verstehen, sondern im Sinne von Benutzerfreundlichkeit und positiver Schlichtheit. Schauen wir mal, inwieweit das CMS diesem selbst gestecktem Claim gerecht wird.

Einstieg in CMS-MS

CMS Made Simple ist sicher nicht das populärste CMS der Welt. Es kann sich allerdings auf eine loyale Nutzerbasis verlassen und findet stets Entwickler, die bevorzugt CMS-MS verwenden, wo immer es sinnvoll ist. Es muss also etwas dran sein, an dieser Software…

cms-made-simple-mug
Bildquelle: Flickr | Wishy

CMS Made Simple positioniert sich nicht als alleiniges CMS im Leben eines Entwicklers, als eierlegende Wollmilchsau, sondern will eher eine Alternative für bestimmte Anforderungsprofile sein. Es behauptet von sich, wesentlich einfacher und agiler als die meisten der anderen verfügbaren Systeme zu sein. So will CMS-MS zwar nicht WordPress vom Thron stoßen, erklärt sich jedoch klar zur (besseren) Alternative zu schwereren Wettbewerbern, wenn das Projekt passt.

Die Vorteile

CMS Made Simple ist vor allem flexibel und verflixt schnell im Alltagsbetrieb. Wie die meisten anderen CMS ist auch CMS-MS Open Source.

Um die Vorteile des Systems zu verstehen, muss man unter die Haube schauen. Was hier als erstes auffällt, ist, dass nicht nur der Claim der Simplicity stimmt, sondern dass die Herangehensweise an die Inhaltserstellung sehr geradlinig ist. Das Templating gestaltet sich zwar nicht gerade einfach, dafür aber flexibel. Der Code ist sauber und für regelmäßige Updates ist Sorge getragen.

Schauen wir auf das Template-System. CMS Made Simple nutzt hierfür die Smarty-Bibliothek. Smarty verfügt über einige, ganz eigene Vorteile, die sich natürlich nahtlos an CMS-MS vererben:

  1. Es findet kein Template-Parsing bei jedem Website-Besuch statt. Smarty kompiliert die Templates einmalig und liefert fortan nur noch die so erzeugten PHP-Scripte aus.
  2. So kann ein Design auf Basis von Smarty voll von PHP Compiler-Caches, etwa Zend, profitieren.
  3. Da Smarty eine eigene Template-Sprache mitbringt, können die Vorlagen einfach angepasst werden.

Lassen Sie mich an dieser Stelle nochmal auf das Wörtchen „Simple“ in CMS Made Simple zurück kommen.

cms-ms-preview

CMS-MS verwendet Custom Tags, Funktionserweiterungen in Smarty, um die eigene Leistungsfähigkeit zu gewährleisten und zu entwickeln. Das führt nicht nur zu einem schnellen Einstieg, da die Spracherweiterungen einfach zu erlernen sind. Es entbindet auch von der Notwendigkeit, in den Templates mit Inline-PHP Funktionalitäten steuern zu müssen. All das wird den Endnutzer nicht interessieren. Der will zumeist bloß schnell eine Website an den Start bringen. Das Template holt er sich von irgendwo, eventuell von einem professionellen Entwickler.

Und für genau diesen professionellen Entwickler kann die Herangehensweise des CMS-MS an das Templating zeitsparend wirken, denn es ist wirklich „simpel“…

Wie ist es um die Struktur der Templates bestellt?

In CMS Made Simple können jedem Template viele verschiedene Stylesheets zugeordnet sein. Hier kommt das Smarty Tag-System ins Spiel, mit dessen Hilfe Unter-Templates möglich sind. Jedes Template beinhaltet Platzhalter oder – in einfacheren Worten ausgedrückt – bearbeitbare Bereiche und ist in der Lage, externe Module einzubinden, die fehlende Funktionalität nachliefern. Ist das Template fertig, kann es sofort an die Bearbeitung der Seiten gehen.

Zudem ist CMS Made Simple eher leichtfüßig und läuft sehr genügsam. Es wird Ihrem Server nicht vor Leistungshunger die Haare vom Kopf fressen.

Die Nachteile

Es ist nicht einfach, Nachteile an einem System aufzudecken, das gar nicht viel verspricht. Nachdem es sich aber offenbar vornehmlich an Entwickler wendet, sollte man schon einige entwicklerfreundliche Aspekte finden können. Und genau hier finden sich meiner Meinung nach einige Bereiche, an denen etwas Arbeit von Seiten des Core-Teams dem System gut tun könnte.

Wie bereits erwähnt, will CMS-MS dankenswerterweise die Erstellung eines Website-Design vereinfachen – was eine gute Sache ist. Custom Tags und Module erlauben die Anpassung und/oder Erweiterung des Systems in jede gewünschte Richtung.

custom-tags-in-cmsms
Custom Tags in CMS-MS

Aber: ausgerechnet hier leistet sich CMS-MS Schwächen. Denn in verschiedenen Bereichen scheint mir das Konzept der Modularität überzogen worden zu sein. Nehmen wir als Beispiel den Einbau eines Blogs in die Website. Das ist keine weltfremde Anforderung und dürfte bei so ziemlich jeder aktuellen Website im Pflichtenheft stehen.

Natürlich ist es möglich, in CMS-MS auch einen Blog zu integrieren, allerdings muss man bereits für diese Kernanforderung auf externe Module zurück greifen, es sei denn, man wollte sich mit einer simplen chronologischen Auflistung von Beiträgen begnügen.

Hier führt sich das Konzept teils ad absurdum. Anstatt Entwickler in ihrer Arbeit zu beschleunigen, zwingt man sie, zu externen Modulen nur deshalb zu greifen, weil wichtige, stets benötigte Features nicht im Core integriert sind. Event-Kalender oder Bildergalerien sind ebensolche Themen, für die es externer Hilfe bedarf, die aber in Zeiten von HTML5 und entsprechend moderner Websites in den Core eines Systems gehören – jedenfalls nach meiner Auffassung…

Nun könnte man ja sagen, solange es die erforderlichen Module gibt, sei das ja alles halb so wild. Aber, natürlich darf man nicht vergessen, dass jedes Modul, vergleichbar mit den Plugins in WordPress potenzielle Integrationsprobleme, eventuell sogar Sicherheitsrisiken in sich trägt. Da ist es nur auf den ersten Blick ein Vorteil, dass das Kernsystem flink und agil arbeitet. Wenn man auf den zweiten Blick erkennen muss, dass das Kernsystem den Anforderungen schon einfacher moderner Websites nicht genügt, währt die Freude kurz. Da die Entwickler des Kerns nur in Ausnahmefällen mit den Entwicklern der Module personenidentisch sind, darf man sich überdies nicht wundern, wenn es zu Schwierigkeiten im Zusammenspiel von Modul und Kern kommt. Solche Probleme gibt es und führen in Extremfällen zur Unbrauchbarkeit der Lösung insgesamt.

Dabei macht CMS Made Simple eigentlich den Eindruck eines guten Gesamtpakets. Die Dokumentation ist wirklich gut. Schauen Sie sich beispielsweise mal diese Anleitung zum Caching an. Es gibt eine interessante Auswahl an Templates, Modulen und Plugins, ebenso wie eine Dokumentation zur API oder zur Datenbankabstraktionsschicht.

Für wen ist CMS-MS nun empfehlenswert und wofür?

Bevor ich meinen Senf zu dieser Frage abgebe, lasse ich mal die Entwickler selbst zu Wort kommen:

If you’re an experienced web developer. If you have found that sometimes creating a simple corporate or organization website is difficult in some of the other content management systems. If you have found that other CMS’s are sometimes „overkill“ for what you need. If you want to be able to hand off the content management to editors. If you want complete control over the layout and appearance of the site, and you know how to do it… If you want a simple, easy to use, yet expandable tool – then CMS Made Simple is probably for you.

Kern dieses Zitats ist zum einen “If you’re an experienced web developer” und zum anderen “you know how to do it…”.

CMS Made Simple richtet sich damit definitiv nicht an Nichtentwickler und bei den Entwicklern auch nicht an solche, die gerade erst den Einstieg gewagt haben. Viel mehr sieht es sich selbst als Tool für professionelle Webentwickler. In der Tat kann man die Erwartung berechtigt hegen, dass Custom Tags, Module und Plugins die Arbeit mit CMS-MS beschleunigen, möglicherweise sogar so deutlich, dass andere Systeme nicht Schritt halten können.

Es gibt zwar einen Tutorial-Bereich für End-Nutzer, der allerdings nicht wirklich End-Nutzer adressiert, sondern sich eher an neue Nutzer auf Developer-Level wendet.

Alles in allem würde ich CMS Made Simple damit am ehesten als Bare-Bones CMS beschreiben wollen. Ich zögere etwas, sogar das Wort Framework zu verwenden. Dennoch ist CMS-MS eher ein Starterkit, auf dessen Basis man ein Webprojekt aufsetzen kann. Ein ausgewachsenes, full-featured Web Management-Paket ist es jedenfalls nicht.

Sie sollten CMS Made Simple demnach nutzen, wenn:

  • Sie auf der Suche nach einem leichtgewichtigen, flinken System sind, das sich einfach erweitern lässt.
  • Sie die Features der Boliden vom Schlage eines Drupal nicht benötigen.
  • Sie sich nicht zu schade sind, dem CMS eigenhändig neue Funktionalität beizubiegen oder von anderen in der Form von Modulen beibiegen zu lassen.

Sie sollten CMS Made Simple hingegen nicht nutzen, wenn Sie eine schwergewichtige Website, gepackt mit den modernsten Super-Features und Funktionen bauen wollen. Lassen Sie in diesem Falle bloß die Finger davon. Denn, wenn Sie auch die ausreichende Zahl an Modulen finden mögen, Sie bremsen damit das System aus und verlieren die Agilität, die einen der Vorteile des Systems ausmacht. Programmieren Sie hingegen die fehlenden Funktionen selber, könnten Sie schnell in die Situation gelangen, dass Sie dadurch eher Zeit verlieren, als welche zu sparen.

Ich will es noch einmal betonen: wenn Sie eine große, vielfältig funktionale Website planen, lassen Sie die Finger von CMS-MS. Ich will nicht bestreiten, dass man auch diese Projekte mit CMS-MS an den Start bringen könnte. Allerdings gibt es dafür deutlich geeignetere Tools. Schließlich schlägt man den Nagel ja auch nicht mit dem Bohrer in die Wand…

Was halten Sie von CMS Made Simple? Haben Sie damit bereits gearbeitet? Nutzen Sie den Kommentarbereich für Ihren Erfahrungsbericht!

Links zum Beitrag

Der Beitrag erschien zuerst in unserem englischsprachigen Schwestermagazin Noupe und wurde im Original geschrieben von Sufyan Bin Uzayr.

(sbu/dpe)