Craft CMS

Geschrieben von Max Strebel —

In Deutschland sind Typo3 und WordPress die zwei vorherrschenden Content Management Systeme. Mit Craft CMS gibt es nun aber eine schöne Alternative, vor allem wenn man seine Seite nicht auf einem Theme aufbauen will. Hier ist, warum ich umgestiegen bin.

Über Craft CMS

Craft CMS ist zum Zeitpunkt dieses Artikels ca. 3 Jahre alt. Wir konnten das Team von Craft CMS 2012 auf der Inspire Conference in Leiden (Holland) kennen lernen. Damals war Craft noch in Beta.

Craft CMS liegt zwar Open Source vor, muss aber lizensiert werden. Für die Client Edition zahlt man (zum Zeitpunkt dieses Artikels) 199$. Braucht man Nutzergruppen, Freigaben und Lokalisierung dann zahlt man 299$ für die Pro Edition.

Während man auf einer lokalen Umgebung entwickelt und *.craft.dev als URL verwendet kann man alle Editionen kostenlos verwenden.

Plattform & Installation

Craft CMS verwendet den üblichen Stack: Apache/Nginx, PHP, mySQL (InnoDB). Eine aktuelle Craft-Distribution lädt man sich auf craftcms.com herunter und entpackt es in das Verzeichnis seiner Wahl. Das Setup ist ähnlich einfach, wie das einer WordPress Installation. Einziger Unterschied hier: eine mehrsprachige Version lässt sich sehr leicht erstellen und managen, ohne jedes Plugin.

Craft Installation 1
Craft Installation 2
Craft Installation 3
Craft Installation 4
Craft Installation 5
Craft Installation 6
Craft Installation 7

Upgrade Bildschirm

Sauberer Content

In Craft kann man innerhalb von Minuten seine eigenen Felder und Inhaltstypen aufsetzen. In WordPress geht das mit Custom Post Types auch, allerdings sehr viel langsamer. 

Craft CMS führt hier das sogenannte Matrix-Feld ein. Mit diesem Feld kann man seinen Kunden Inhaltstypen anlegen, die der Kunde dann künftig im Inhalt verwenden kann. Das entspricht in etwa Shortcodes, ist aber sehr viel sauberer gelöst.

Craft Matrix

Live Preview

Kunden können das Ergebnis auf der Seite bereits beim Schreiben der Inhalte sehen. Das ist seit Typo3 NEOS und diversen Plugins für WordPress nichts neues, funktioniert bei Craft aber sehr gut.

Craft Live Preview

Die technischen Details

Ich will hier nicht zu tief ins Detail gehen, dazu schreibe ich einen weiteren Artikel. Allerdings will ich hier noch ein paar Details aufzählen, die den Komfort im vergleich zu WordPress steigern:

  • Asset Management: Dateien, egal ob Bild, PDF oder etwas anderes lassen sich einzeln bis ins kleinste Detail verwalten. Vom Ordner in dem bestimmte hochgeladene Dateien vom Kunden gespeichert werden, bis hin zu den erlaubten Dateitypen und der Anzahl der erlaubten Dateien. Das macht das Anhängen von Broschüren an Seiten oder die Erstellung von Slideshows ungemein angenehm.
  • Multi-Environment-Konfigurationen: In der config-Datei lassen sich kinderleicht diverse Einstellungen je nach Umgebung konfigurieren - z.B. auch die Seiten-URL. Damit entfällt das Search and Replace in der Datenbank, wenn man eine Seite ohne Capistrano live stellen muss.
  • Integrierte Mehrsprachigkeit: Das Craft-interne Multi-Language System ist zwar nicht perfekt, allerdings absolut ausreichend für alle Seiten, die ich bisher umgesetzt habe. Eine mehrsprachige Installation anzulegen ist kinderleicht und enthält alle best-practices, die man kennt.
  • Twig: Das interne Templating-System von Craft CMS ist Twig. Die Freiheit, die einem Craft beim Aufbau der Templates gibt ist sagenhaft. Twig als Templating-Sprache macht Spaß und lässt sich einfach lernen. Der Code bleibt sauber und übersichtlich.
  • Wenig Schulungsaufwand: Schulungen kann ich in der Regel an einem Vormittag abschließen - mit Erfolg. Im Gegensatz zu vielen WordPress Projekten, sind bei meinen Kundenprojekten, die in Craft CMS gepflegt werden, die Inhalte regelmäßig aktualisiert.
  • Sicherheit: Auch wenn es einfach ist, WordPress grundlegend abzusichern, bleibt dass Problem dass WordPress, als bekanntestes und am meisten verbreitetes CMS, ein lukratives Ziel für Bots und Hacker ist.

Die Nachteile

Craft CMS hat, wie andere Content Management Systeme auch, einen ganz bestimmten Sweet-Spot. Der unangenehmste Nachteil ist der fehlende Struktur-Export. Dadurch dass Models und Templates nicht in einer JSON, XML oder ähnlichen Datei vordefiniert werden können, lassen sich weder Dummys noch Themes erstellen.

Bei kleinen, stark individuellen Projekten stört das nicht - mich stört es allerdings, wenn man schnell einen Proof of Concept entwickeln will, oder ein Projekt hat, dass sehr nahe an einem alten Projekt ist. Da hilft nur umkopieren und anpassen. Das ist reichlich unsauber und ich hoffe dass das Craft Team das mit Craft 3.0 adressiert.

Folgend zusammengefasst die Nachteile:

  • Keine Datenbank-Migrationen: Da man in Craft die Informationsarchitektur, bzw. für Entwickler die Models im Backend anlegt, existiert keine Profildatei dafür. Eine bestehende Struktur an Inhalts- und Feldtypen als Dummy in die nächste Installation mitzunehmen ist gar nicht so leicht.
  • Keine Themes: Durch die starke Individualisierung der Inhaltstypen, ist es fast unmöglich wirkliche "Themes" zu verwenden. Was man sicher mit der Zeit tun wird, ist sich Twig Templates von Installation zu Installation mitzunehmen und über Variablen die Anpassungen klein halten. Vergleichbar mit WordPress ist das aber nicht.
  • Wenige Plugins: Craft CMS ist relativ neu. Dadurch ist die Community noch überschaubar und die Anzahl vorhandener Plugins auch. Mich persönlich stört das kaum, da wir mit den meisten Plugins für WordPress mehr Ärger als Segen hatten, von den Sicherheitsproblemen ganz abgesehen.

Fazit

Craft CMS eignet sich sehr gut für Seiten, die auf keinem Theme basieren. Der Inhalt kann stark auf den Kunden zugeschnitten werden und ist nicht vom Template abhängig. Das macht Seiten einfach erweiterbar und spart größere Umbauarbeiten in der Datenbank, wenn ein Redesign ansteht.

Etwas vorsichtig sein sollte man, wenn man voraussichtlich viel komplexe Plugins wie einen Newsletter-Versand verwenden muss. Sprout und ähnliche Anbieter haben zwar schon tolle Lösungen entwickelt, der Markt ist aber noch klein.

Ich habe den Einsatz von Craft CMS noch kein einziges mal bereut und werde meinen Kunden weiterhin raten Craft CMS einzusetzen.


tags