Das Flat-File-CMS: Flache Hierarchien für schnelleren Zugriff

Eine relativ neue Variante von Content-Management-Systemen macht den traditionellen CMS wie WordPress, Typo3 oder Drupal Konkurrenz. Sie basiert auf den Ideen der sogenannten Flat Files: Dateien mit einer sehr einfachen Struktur. Diese Flat-File-Systeme haben sowohl Vor- als auch Nachteile gegenüber ihren großen Konkurrenten. Wir erklären im Folgenden, wie Flat-File-CMS funktionieren, und geben einen kurzen Überblick über die verschiedenen Systeme, die bereits erhältlich sind.

Was sind Flat Files?

Die einfachste Flat File, die man sich vorstellen kann, ist eine Textdatei im TXT-Format. Sie enthält ausschließlich geschriebene Inhalte, ohne jegliche Verknüpfungen, Indexe oder Formatierungen. Das gleiche gilt aber auch für Binärdateien: Auch in binary files wird der Code ganz simpel runtergeschrieben. Außerdem sind diese Dateien Grundlage für einfachste Datenbanken. Flat-File-Datenbanken passen in eine einzelne Datei. Sie stehen im Gegensatz zu komplexen relationalen Datenbanken, bei denen die Datensätze über Verknüpfungen, Indexe, Hierarchien und vorgegebene Formate verfügen. All das hat eine Flat-File-Datenbank nicht – sie ist die digitale Entsprechung zu einer Einkaufsliste oder einer Lochkarte. Für solche eine Datenbank können verschiedenste Klartext- wie auch Binärformate zum Einsatz kommen. Ein bekanntes Beispiel sind CSV-Dateien (comma-separated values): Informationen innerhalb eines Datensatzes werden mit Kommas voneinander abgetrennt, der Datensatz selbst mit einem Zeilenumbruch abgeschlossen – keine Hierarchie, sondern nur eine simple Auflistung.

Der Vorteil der flachen Dateien ist ihre einfache Struktur: Da die Daten nicht untereinander verknüpft sind, können sie zum einen sehr schnell erstellt werden und zum anderen gibt es aufgrund der geringen Komplexität weniger Fehlerquellen. Dieses Prinzip machen sich auch die Flat-File-CMS zunutze und bieten damit einen interessanten Gegenpol zu den schwergewichtigen klassischen Content-Management-Systemen.

Wie funktionieren Flat-File-CMS?

Alle großen, bekannten Content-Management-Systeme nutzen MySQL oder ähnliche Datenbankverwaltungssysteme im Hintergrund. Die Datenbank-Management-Systeme (kurz: DBMS) agieren relational, arbeiten also mit mehreren Tabellen, und organisieren so die Anfragen. Dafür benötigen sie allerdings einen extra eingerichteten Server. Ein Flat-File-CMS verzichtet komplett auf Database-Management, weshalb auch häufig von CMS ohne Datenbank gesprochen wird. Das DBMS fällt weg und damit auch der dafür eingerichtete Server.

Stattdessen basiert das CMS auf einer ganz gewöhnlichen Ordnerstruktur: Webmaster laden die Dateien (HTML/PHP-, Multimedia- und Text-Dateien) nur auf den Server. Anschließend ist die Website quasi einsatzbereit. Die Anfragen gehen direkt auf die Dateien und werden nicht über MySQL verteilt. Entwickler hinterlegen beispielsweise Zugangsdaten für jeden Nutzer in einer separaten YAML-Datei. Die Benennung der Datei ermöglicht es dem CMS, die entsprechenden Daten zu finden. Genauso lassen sich auch Inhalte erstellen: Prinzipiell ist die Idee, dass Benutzer eines Flat-File-CMS für jeden Blog-Post einfach eine Text- oder Markdown-Datei erstellen und im richtigen Ordner hinterlegen. Das geht auch ganz ohne eine Administrator-Oberfläche: Ein einfacher Texteditor reicht, um einen Beitrag zu erstellen.

Hinweis

Ein Texteditor wie Sublime Text ist nicht mit einem Textverarbeitungssystem wie Word zu verwechseln. Ein Texteditor speichert den eingegebenen Text zumeist im Klartext-Format und wird besonders zur Erstellung und Bearbeitung von Quellcode eingesetzt.

Abhängig davon, wie Webmaster ihr Flat-File-CMS einsetzen wollen, können diese Systeme entweder die perfekte Lösung sein oder Einfachheit schaffen, wo Komplexität von Nöten wäre. Die Vorteile des dateibasiertem Content-Management-Systems ergeben sich weitestgehend aus dessen simpler Struktur:

  • Geschwindigkeit: Für kleinere Websiteprojekte schießt ein relationales DBMS weit über das Ziel hinaus und wird nicht wirklich benötigt. Durch die Vereinfachung der Struktur in einem Flat-File-System können bessere Geschwindigkeiten erzielt werden.
  • Einfachheit: Große Datenbanken haben meist eine sehr komplexe Struktur. Verweise über Verweise halten das Konstrukt zusammen. Als Anfänger kann man schnell einen Fehler machen und die Datenbank bricht wie ein Kartenhaus zusammen. Da Flat-File-CMS nur eine einfache Ordnerstruktur zugrunde liegt, kann man weniger falsch machen. Deshalb sind diese Systeme sehr gut geeignet für Menschen, die von Datenbanken eher wenig Ahnung haben und für ihr Websiteprojekt auch gar keine umfangreiche Database benötigen.
  • Sicherheit: Je einfacher ein System ist, desto leichter lassen sich Fehler vermeiden. Die meisten Missgeschicke passieren, wenn man die Übersicht über die Struktur verliert. Dann schleicht sich mitunter ein Fehler tief in der Architektur ein, der sich nur sehr mühsam finden und entfernen lässt. Die Wartung einer simplen Ordnerstruktur, bei der kaum Abhängigkeiten bestehen, ist sehr viel einfacher zu handhaben. Das gilt auch für die Sicherheit von außen: SQL ist ein beliebtes Ziel für böswillige Angriffe. Mit SQL-Injections versuchen Angreifer, eigene Befehle in die Datenbank einzuschleusen und so Daten auszuspähen und zu manipulieren. Diese Sicherheitslücke gibt es bei Flat-File-CMS nicht.
  • Back-up: Das Back-up eines Flat-File-CMS könnte einfacher nicht sein: Copy & Paste. Für komplexere Systeme sind Back-up-Routinen nötig, die Systemdaten, Datenbank und alle eingebundenen Dateien speichern müssen. Bei einer Flat-File-Lösung hingegen reicht es, alles zu kopieren und an anderer Stelle einzufügen. Zur Speicherung reicht häufig schon ein USB-Stick.
  • Umzug: Mit WordPress, Typo3 oder Drupal von einem Server auf einen anderen umzuziehen, ist ein arbeitsintensives Unterfangen. Was für das Back-up von einem Flat-File-CMS gilt, hat auch beim Umzug der Website seine Gültigkeit. Simples Kopieren und Einfügen reicht aus und die Website läuft auf einem anderen Server.
  • Arbeitsabläufe: Wer ein klassisches CMS verwendet, ist zur Bearbeitung der Inhalte an das entsprechende Backend gebunden. Möchte man allerdings in einem Flat-File-CMS Änderungen vornehmen oder neue Inhalte einstellen, kann man auf seinen Lieblings-Editor zurückgreifen.

Natürlich sind auch Flat-File-CMS nicht der Weisheit letzter Schluss. So kann, was für das eine Projekt noch als Vorteil anzusehen ist, bei einem anderen schon den gegensätzlichen Effekt haben und zum Nachteil werden:

  • Geschwindigkeit: Sobald die Datenmengen den überschaubaren Rahmen verlassen, können komplexere Suchanfragen dauern. In solchen Fällen sind dann DBMS die richtige Wahl: Die Zugriffe werden durch die Verknüpfungen zum richtigen Ziel geführt. Bei einem Flat-File-CMS müssen hingegen alle Datensätze nacheinander durchforstet werden.
  • Servererweiterung: Aufgrund der Ordnerstruktur ist es zwingend notwendig, dass alle Dateien über einen Webserver laufen. Die Verteilung auf mehrere Server bei großen Datenmengen oder wegen gewollter Redundanzen ist nicht möglich.
  • Benutzerfreundlichkeit: WordPress ist unter anderem deswegen so beliebt, weil prinzipiell keine einzelne Zeile Code selbst geschrieben werden muss, um eine ordentlich gestaltete Website online zu bringen. Flat-File-CMS stehen noch am Anfang ihrer Entwicklung und es wurde noch nicht viel Energie auf die Benutzerfreundlichkeit verwendet. Stattdessen geht es derzeit noch vornehmlich darum, Stabilität, Performance und Funktionsumfang zu verbessern. Deshalb ist im Umgang mit Flat-File-CMS meist noch mehr Handarbeit nötig. Wer mit HTML, PHP, CSS und Markdown umgehen kann, hat mit einem Flat-File-System keine Probleme. Der unerfahrene WordPress-Nutzer wird aber schnell an seine Grenzen stoßen.
  • Support: Die Communitys rund um einzelne flache Systeme haben noch nicht die Größenordnung, wie man sie bei traditionellen CMS findet. Das hat Auswirkungen auf den Support und das geteilte Wissen. Gibt es bereits eine große Nutzerbasis, lässt sich für jeden Anwendungsbereich eine dokumentierte Lösung und ein Ansprechpartner finden.
  • Themes und Plug-ins: Die kleine Nutzergruppe sorgt auch dafür, dass die Entwicklung von Erweiterungen langsam voran geht, und dann auch eher in einem sehr spezifischen Bereich. Traditionelle CMS bieten einen sehr viel größeren Pool an Themes und Plug-ins, mit denen sich das Grundgerüst erweitern lässt.
  • Anwendungsbereiche: Ein Flat-File-CMS ist nur schwer an besondere Bedürfnisse anzupassen – wenn überhaupt. WordPress lässt sich durch zahlreiche Plug-ins für verschiedene Anwendungsgebiete anpassen (so kann man seine WordPress-Seite ebenso als Web-Shops einrichten wie als Communitys gestalten). Flat-File-Systeme sind dafür nicht vorgesehen.

Was für Flat-File-CMS gibt es?

  • Kirby: Um das CMS aus Deutschland zu installieren, müssen Nutzer nur die Dateien des Starterkits auf den eigenen Webserver laden (Zusätzlich ist – wie bei allen vorgestellten Projekten – eine PHP-Installation auf dem Server obligatorisch). Die Struktur der Website liest Kirby aus der Benennung der Ordner ab. Texte lassen sich per Markdown erstellen. Wem das noch zu viel Arbeit ist, kann auf das Kirby-Panel zurückgreifen – eine Admin-Oberfläche wie bei einem richtigen CMS. Für die Bereitstellung des CMS verlangt der Programmierer (Kirby ist ein Ein-Mann-Betrieb) derzeit pro Website eine Gebühr. Inzwischen gibt es für Kirby auch eine kleine Zahl von Plug-ins und Themes. Außerdem kann das Flat-File-CMS nachträglich an eine MySQL-Datenbank angeschlossen werden, falls man doch eine komplexere Struktur benötigt.
  • Statamic: Das Angebot von Statamic ist etwas kostspieliger. Es basiert auf YAML-, Markdown-, HTML- und PHP-Dateien. Auch dieser Hersteller bietet ein Panel zur einfacheren Bedienbarkeit an. Zusätzlich empfiehlt Statamic die Verwendung von Redactor, einem WYSISYG-HTML-Editor.
  • Grav: Dieses Produkt gehört zu den weitest verbreiteten Flat-File-CMS. Das kostenfreie Open-Source-Projekt wird von RocketTheme vorangetrieben, einem Anbieter von CMS-Themes. Deshalb ist es nicht verwunderlich, dass bei Grav im Vergleich zur Konkurrenz mehr Wert auf die grafische Umsetzung gelegt wird. Beispielsweise lassen sich Bilder sehr gut einfügen und anpassen. Sogar systemeigene Fotofilter gehören zu Grav. Durch die Implementierung von Doctrine Cache liefert das CMS außerdem sehr gute Performance.
  • HTMLy: Auch HTMLy ist eine Open-Source-Software, die ihren Hauptfokus aber auf Blogging legt – und damit zu den Anfängen von WordPress zurückkehrt. So bietet das schlanke CMS auch ganz ähnliche Features: Widgets, Multi-Author-Verwaltung und die Integration von Kommentarfunktionen kennt man auch vom Branchenriesen. Admin-Panel und Web-Installer machen die Einrichtung und Verwaltung ähnlich einfach.
  • razorCMS: Das britische razorCMS arbeitet statt mit einem Admin-Panel mit einer Lösung, die direkt auf der Website sitzt. Das bedeutet, dass Nutzer Änderungen direkt auf den Seiten vornehmen können. Dazu loggt man sich über eine Kontrollleiste am oberen Rand ein und hat dann zahlreiche Möglichkeiten: Hier können Blogger neue Posts erstellen und Seiten verändern. Auch dieses System wird über GitHub als Open-Source-Software angeboten.
Flat-File-CMS Admin Panel Themes Plug-ins Kommerziell
Kirby einige wenige
Statamic wenige einige
Grav einige viele x
HTMLy wenige x x
razorCMS In-Page-Editing wenige wenige
Fazit:

Content-Management-Systeme die auf dem Flat-File-Prinzip beruhen, stehen zwischen einem normalen CMS und einer Static Site. Bevor Flat-File-CMS auf dem Markt aufgetaucht sind, musste man sich bei der Entscheidung für das richtige System nur fragen: Verändere ich meinen Content regelmäßig oder bleibt meine Seite statisch? Die neuen Systeme liegen zwischen den beiden Optionen und eignen sich ideal für kleinere Projekte. Sie sind als schlanke Lösung für Content-Management gedacht. Was die Benutzerfreundlichkeit angeht, richten sie sich aber eher an Nutzer, die mit Code umgehen können. In den meisten Fällen sind HTML-, PHP- oder CSS-Kenntnisse von Nöten. Dafür wird keinerlei Datenbankfachwissen benötigt! Webmaster können sich auf die Gestaltung der Website konzentrieren und von dem schlanken System profitieren.

Für Nutzer, die nur eine statische Unternehmens-Homepage oder einen One-pager als Landingpage benötigen, kann auch ein Static-Site-Generator die richtige Wahl sein. Viele Anwendungsbereiche lassen sich schon über Generatoren wie dem IONOS Homepage Baukasten abdecken. Möchte man allerdings mit dynamischen Inhalten arbeiten, aber nur in einem kleinen Rahmen, bieten Flat-File-Systeme eine gute Alternative zu den üblichen CMS-Schwergewichten.