Ein Content Management Systeme ohne Datenbank ist sicherlich nichts neues. Bereits Systeme wie Kirby vom deutschen Entwickler Bastian Allgeier und Pulse geben die Richtung vor und verwenden Textdateien (Flat file) statt der üblichen Datenbank.
Statamic startet mit dem Slogan „Build Websites. Tame the Wild“ und geht hier einen Schritt weiter und präsentiert sich in der Version 1.4.1 als ausgereifte Alternative zu bereits vorhandenen Systemen und einfachen CMS mit Datenbank. Die Vorteile liegen auf der Hand. Hohe Geschwindigkeit und einfache Datensicherung. Die Ansprüche an den verwendeten Webserver sind gering und der gesamte Installationsprozess verkürzt sich auf wenige Handgriffe. Daten auf den Server übertragen. Konfigurationsdatei anpassen und loslegen.
Statamic bietet clean Urls, ein übersichtliches Backend und ein ausgereiftes Templatesystem über Themes. Textinhalte werden im Ordner _content gesammelt und können darin in verschiedenen Unterordner aufgeteilt werden. Dabei geben die Unterordner die Struktur der Webseite wieder und erzeugen gleichzeitig die URL.
Statamic kann mit verschiedenen Textdokumente umgehen. Es können Markdown (.md, .markdown), Textile (.textile), HTML (.html) und einfache Textdatein (.txt) verwendet werden. Die Vorgaben erfolgen in der Konfigurationsdatei (config.yaml). Die Textdateien können direkt per FTP in die entsprechenden Unterordner hochgeladen oder im Backend erzeugt werden.
Statamic kann ähnlich wie WordPress statische Seiten (pages) und dynamische Artikel (entries/posts) erzeugen. Entries können auch durch eine definierte Bezeichnungssyntax als Datei erzeugt werden. Dabei beginnt der Dateiname direkt mit dem Datum. Über das Templatesystem können Entries dann auf verschiedene Weise sortiert werden. Die verwendete Syntax innerhalb des Templatesystems ist sehr flexibel und erinnert stark an ExpressionEngine.
Templatesystem
Das Templatesystem ist Themebasiert. Innerhalb des Themeordners werden im Ordner layouts die Haupttemplates integriert. Im Ordner partiales werden Teile wie Header oder Footer gesammelt.
Alle individuelle Teilbereiche für Entries, Pages oder Taxonomien werden im Ordner templates gehalten und im Haupttemplate über einen globalen Platzhalter eingeblendet. Diese individuellen Templates könne dann allen Entries oder Pages zugeordnet werden. Die Templatezuordnung kann direkt in der Datei oder im Backend vorgenommen werden.
Das Anlegen und Vergeben von Taxonomien mit Kategorien oder Tags ist ebenfalls möglich. Eine Besonderheit ist aber die Integration von Custom Fields ähnlich wie bei WordPress oder ausgewachsenen Content Management Systemen wie ExpressionEngine oder Drupal. Die Erzeugung der Custom Fields erfolgt im jeweiligen Unterordner des Content Bereichs (_content) der alle Textdateien beinhaltet. In einfache .yaml Dateien werden die Custom Fields erzeugt.
Fazit
Das Statamic CMS überzeugt mit einem überraschenden Funktionsumfang, absoluter Codekontrolle und vielen flexiblen Möglichkeiten. Das System ist sehr fortschrittlich und sicherlich einen zweiten Blick wert. Die große Frage ist eigentlich nur, für welche Projekt sich das System eignet. Vorteile ergeben sich vor allem für kleinere Projekte. Dabei sind aber das ausgesuchte Pluginangebot und die geringe Verbreitung hinderlich.
Auch die fehlende Open Source Variante, Statamic kostet 25 Dollar, ist nicht vorteilhaft. Ich teste das System im Moment zur Verwaltung von Markdown Dateien innerhalb einer Projektverwaltung. Für ein Kundenprojekte sehe ich noch keine konkrete Einsatzmöglichkeit.
Vielleicht sollte man Statamic noch etwas Zeit lassen. Das CMS besetzt eine Nische, entwickelt sich sehr dynamisch, verfolgt richtige Ansätze, hat viel Potential und wird sicherlich in Zukunft die richtigen Antworten geben.