Eine relativ neue Variante von Content-Ma­nage­ment-Systemen macht den tra­di­tio­nel­len CMS wie WordPress, Typo3 oder Drupal Kon­kur­renz. Sie basiert auf den Ideen der so­ge­nann­ten Flat Files: Dateien mit einer sehr einfachen Struktur. Diese Flat-File-Systeme haben sowohl Vor- als auch Nachteile gegenüber ihren großen Kon­kur­ren­ten. Wir erklären im Folgenden, wie Flat-File-CMS funk­tio­nie­ren, und geben einen kurzen Überblick über die ver­schie­de­nen Systeme, die bereits er­hält­lich sind.

Was sind Flat Files?

Die ein­fachs­te Flat File, die man sich vor­stel­len kann, ist eine Textdatei im TXT-Format. Sie enthält aus­schließ­lich ge­schrie­be­ne Inhalte, ohne jegliche Ver­knüp­fun­gen, Indexe oder For­ma­tie­run­gen. Das gleiche gilt aber auch für Bi­när­da­tei­en: Auch in binary files wird der Code ganz simpel run­ter­ge­schrie­ben. Außerdem sind diese Dateien Grundlage für ein­fachs­te Da­ten­ban­ken. Flat-File-Da­ten­ban­ken passen in eine einzelne Datei. Sie stehen im Gegensatz zu komplexen re­la­tio­na­len Da­ten­ban­ken, bei denen die Da­ten­sät­ze über Ver­knüp­fun­gen, Indexe, Hier­ar­chien und vor­ge­ge­be­ne Formate verfügen. All das hat eine Flat-File-Datenbank nicht – sie ist die digitale Ent­spre­chung zu einer Ein­kaufs­lis­te oder einer Lochkarte. Für solche eine Datenbank können ver­schie­dens­te Klartext- wie auch Bi­när­for­ma­te zum Einsatz kommen. Ein bekanntes Beispiel sind CSV-Dateien (comma-separated values): In­for­ma­tio­nen innerhalb eines Da­ten­sat­zes werden mit Kommas von­ein­an­der ab­ge­trennt, der Datensatz selbst mit einem Zei­len­um­bruch ab­ge­schlos­sen – keine Hier­ar­chie, sondern nur eine simple Auf­lis­tung.

Der Vorteil der flachen Dateien ist ihre einfache Struktur: Da die Daten nicht un­ter­ein­an­der verknüpft sind, können sie zum einen sehr schnell erstellt werden und zum anderen gibt es aufgrund der geringen Kom­ple­xi­tät weniger Feh­ler­quel­len. Dieses Prinzip machen sich auch die Flat-File-CMS zunutze und bieten damit einen in­ter­es­san­ten Gegenpol zu den schwer­ge­wich­ti­gen klas­si­schen Content-Ma­nage­ment-Systemen.

Wie funk­tio­nie­ren Flat-File-CMS?

Alle großen, bekannten Content-Ma­nage­ment-Systeme nutzen MySQL oder ähnliche Da­ten­bank­ver­wal­tungs­sys­te­me im Hin­ter­grund. Die Datenbank-Ma­nage­ment-Systeme (kurz: DBMS) agieren re­la­tio­nal, arbeiten also mit mehreren Tabellen, und or­ga­ni­sie­ren so die Anfragen. Dafür benötigen sie al­ler­dings einen extra ein­ge­rich­te­ten Server. Ein Flat-File-CMS ver­zich­tet komplett auf Database-Ma­nage­ment, weshalb auch häufig von CMS ohne Datenbank ge­spro­chen wird. Das DBMS fällt weg und damit auch der dafür ein­ge­rich­te­te Server.

Statt­des­sen basiert das CMS auf einer ganz ge­wöhn­li­chen Ord­ner­struk­tur: Webmaster laden die Dateien (HTML/PHP-, Mul­ti­me­dia- und Text-Dateien) nur auf den Server. An­schlie­ßend ist die Website quasi ein­satz­be­reit. Die Anfragen gehen direkt auf die Dateien und werden nicht über MySQL verteilt. Ent­wick­ler hin­ter­le­gen bei­spiels­wei­se Zu­gangs­da­ten für jeden Nutzer in einer separaten YAML-Datei. Die Benennung der Datei er­mög­licht es dem CMS, die ent­spre­chen­den Daten zu finden. Genauso lassen sich auch Inhalte erstellen: Prin­zi­pi­ell 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 hin­ter­le­gen. Das geht auch ganz ohne eine Ad­mi­nis­tra­tor-Ober­flä­che: Ein einfacher Text­edi­tor reicht, um einen Beitrag zu erstellen.

Hinweis

Ein Text­edi­tor wie Sublime Text ist nicht mit einem Text­ver­ar­bei­tungs­sys­tem wie Word zu ver­wech­seln. Ein Text­edi­tor speichert den ein­ge­ge­be­nen Text zumeist im Klartext-Format und wird besonders zur Er­stel­lung und Be­ar­bei­tung von Quellcode ein­ge­setzt.

Abhängig davon, wie Webmaster ihr Flat-File-CMS einsetzen wollen, können diese Systeme entweder die perfekte Lösung sein oder Ein­fach­heit schaffen, wo Kom­ple­xi­tät von Nöten wäre. Die Vorteile des da­tei­ba­sier­tem Content-Ma­nage­ment-Systems ergeben sich wei­test­ge­hend aus dessen simpler Struktur:

  • Ge­schwin­dig­keit: Für kleinere Web­site­pro­jek­te schießt ein re­la­tio­na­les DBMS weit über das Ziel hinaus und wird nicht wirklich benötigt. Durch die Ver­ein­fa­chung der Struktur in einem Flat-File-System können bessere Ge­schwin­dig­kei­ten erzielt werden.
  • Ein­fach­heit: Große Da­ten­ban­ken 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 Kar­ten­haus zusammen. Da Flat-File-CMS nur eine einfache Ord­ner­struk­tur zugrunde liegt, kann man weniger falsch machen. Deshalb sind diese Systeme sehr gut geeignet für Menschen, die von Da­ten­ban­ken eher wenig Ahnung haben und für ihr Web­site­pro­jekt auch gar keine um­fang­rei­che Database benötigen.
  • Si­cher­heit: Je einfacher ein System ist, desto leichter lassen sich Fehler vermeiden. Die meisten Miss­ge­schi­cke passieren, wenn man die Übersicht über die Struktur verliert. Dann schleicht sich mitunter ein Fehler tief in der Ar­chi­tek­tur ein, der sich nur sehr mühsam finden und entfernen lässt. Die Wartung einer simplen Ord­ner­struk­tur, bei der kaum Ab­hän­gig­kei­ten bestehen, ist sehr viel einfacher zu handhaben. Das gilt auch für die Si­cher­heit von außen: SQL ist ein beliebtes Ziel für bös­wil­li­ge Angriffe. Mit SQL-In­jec­tions versuchen Angreifer, eigene Befehle in die Datenbank ein­zu­schleu­sen und so Daten aus­zu­spä­hen und zu ma­ni­pu­lie­ren. Diese Si­cher­heits­lü­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 kom­ple­xe­re Systeme sind Back-up-Routinen nötig, die Sys­tem­da­ten, Datenbank und alle ein­ge­bun­de­nen Dateien speichern müssen. Bei einer Flat-File-Lösung hingegen reicht es, alles zu kopieren und an anderer Stelle ein­zu­fü­gen. Zur Spei­che­rung reicht häufig schon ein USB-Stick.
  • Umzug: Mit WordPress, Typo3 oder Drupal von einem Server auf einen anderen um­zu­zie­hen, ist ein ar­beits­in­ten­si­ves Un­ter­fan­gen. Was für das Back-up von einem Flat-File-CMS gilt, hat auch beim Umzug der Website seine Gül­tig­keit. Simples Kopieren und Einfügen reicht aus und die Website läuft auf einem anderen Server.
  • Ar­beits­ab­läu­fe: Wer ein klas­si­sches CMS verwendet, ist zur Be­ar­bei­tung der Inhalte an das ent­spre­chen­de Backend gebunden. Möchte man al­ler­dings in einem Flat-File-CMS Än­de­run­gen vornehmen oder neue Inhalte ein­stel­len, kann man auf seinen Lieblings-Editor zu­rück­grei­fen.

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 ge­gen­sätz­li­chen Effekt haben und zum Nachteil werden:

  • Ge­schwin­dig­keit: Sobald die Da­ten­men­gen den über­schau­ba­ren Rahmen verlassen, können kom­ple­xe­re Such­an­fra­gen dauern. In solchen Fällen sind dann DBMS die richtige Wahl: Die Zugriffe werden durch die Ver­knüp­fun­gen zum richtigen Ziel geführt. Bei einem Flat-File-CMS müssen hingegen alle Da­ten­sät­ze nach­ein­an­der durch­fors­tet werden.
  • Ser­ver­er­wei­te­rung: Aufgrund der Ord­ner­struk­tur ist es zwingend notwendig, dass alle Dateien über einen Webserver laufen. Die Ver­tei­lung auf mehrere Server bei großen Da­ten­men­gen oder wegen gewollter Red­un­dan­zen ist nicht möglich.
  • Be­nut­zer­freund­lich­keit: WordPress ist unter anderem deswegen so beliebt, weil prin­zi­pi­ell keine einzelne Zeile Code selbst ge­schrie­ben werden muss, um eine or­dent­lich ge­stal­te­te Website online zu bringen. Flat-File-CMS stehen noch am Anfang ihrer Ent­wick­lung und es wurde noch nicht viel Energie auf die Be­nut­zer­freund­lich­keit verwendet. Statt­des­sen geht es derzeit noch vor­nehm­lich darum, Sta­bi­li­tät, Per­for­mance und Funk­ti­ons­um­fang zu ver­bes­sern. Deshalb ist im Umgang mit Flat-File-CMS meist noch mehr Hand­ar­beit nötig. Wer mit HTML, PHP, CSS und Markdown umgehen kann, hat mit einem Flat-File-System keine Probleme. Der un­er­fah­re­ne WordPress-Nutzer wird aber schnell an seine Grenzen stoßen.
  • Support: Die Com­mu­ni­tys rund um einzelne flache Systeme haben noch nicht die Grö­ßen­ord­nung, wie man sie bei tra­di­tio­nel­len CMS findet. Das hat Aus­wir­kun­gen auf den Support und das geteilte Wissen. Gibt es bereits eine große Nut­zer­ba­sis, lässt sich für jeden An­wen­dungs­be­reich eine do­ku­men­tier­te Lösung und ein An­sprech­part­ner finden.
  • Themes und Plug-ins: Die kleine Nut­zer­grup­pe sorgt auch dafür, dass die Ent­wick­lung von Er­wei­te­run­gen langsam voran geht, und dann auch eher in einem sehr spe­zi­fi­schen Bereich. Tra­di­tio­nel­le CMS bieten einen sehr viel größeren Pool an Themes und Plug-ins, mit denen sich das Grund­ge­rüst erweitern lässt.
  • An­wen­dungs­be­rei­che: Ein Flat-File-CMS ist nur schwer an besondere Be­dürf­nis­se an­zu­pas­sen – wenn überhaupt. WordPress lässt sich durch zahl­rei­che Plug-ins für ver­schie­de­ne An­wen­dungs­ge­bie­te anpassen (so kann man seine WordPress-Seite ebenso als Web-Shops ein­rich­ten wie als Com­mu­ni­tys gestalten). Flat-File-Systeme sind dafür nicht vor­ge­se­hen.

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

  • Kirby: Um das CMS aus Deutsch­land zu in­stal­lie­ren, müssen Nutzer nur die Dateien des Star­ter­kits auf den eigenen Webserver laden (Zu­sätz­lich ist – wie bei allen vor­ge­stell­ten Projekten – eine PHP-In­stal­la­ti­on auf dem Server ob­li­ga­to­risch). 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 zu­rück­grei­fen – eine Admin-Ober­flä­che wie bei einem richtigen CMS. Für die Be­reit­stel­lung des CMS verlangt der Pro­gram­mie­rer (Kirby ist ein Ein-Mann-Betrieb) derzeit pro Website eine Gebühr. In­zwi­schen gibt es für Kirby auch eine kleine Zahl von Plug-ins und Themes. Außerdem kann das Flat-File-CMS nach­träg­lich an eine MySQL-Datenbank an­ge­schlos­sen werden, falls man doch eine kom­ple­xe­re Struktur benötigt.
  • Statamic: Das Angebot von Statamic ist etwas kost­spie­li­ger. Es basiert auf YAML-, Markdown-, HTML- und PHP-Dateien. Auch dieser Her­stel­ler bietet ein Panel zur ein­fa­che­ren Be­dien­bar­keit an. Zu­sätz­lich empfiehlt Statamic die Ver­wen­dung von Redactor, einem WYSISYG-HTML-Editor.
  • Grav: Dieses Produkt gehört zu den weitest ver­brei­te­ten Flat-File-CMS. Das kos­ten­freie Open-Source-Projekt wird von Ro­cketThe­me vor­an­ge­trie­ben, einem Anbieter von CMS-Themes. Deshalb ist es nicht ver­wun­der­lich, dass bei Grav im Vergleich zur Kon­kur­renz mehr Wert auf die grafische Umsetzung gelegt wird. Bei­spiels­wei­se lassen sich Bilder sehr gut einfügen und anpassen. Sogar sys­tem­ei­ge­ne Fo­to­fil­ter gehören zu Grav. Durch die Im­ple­men­tie­rung von Doctrine Cache liefert das CMS außerdem sehr gute Per­for­mance.
  • HTMLy: Auch HTMLy ist eine Open-Source-Software, die ihren Haupt­fo­kus aber auf Blogging legt – und damit zu den Anfängen von WordPress zu­rück­kehrt. So bietet das schlanke CMS auch ganz ähnliche Features: Widgets, Multi-Author-Ver­wal­tung und die In­te­gra­ti­on von Kom­men­tar­funk­tio­nen kennt man auch vom Bran­chen­rie­sen. Admin-Panel und Web-Installer machen die Ein­rich­tung und Ver­wal­tung ä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 Än­de­run­gen direkt auf den Seiten vornehmen können. Dazu loggt man sich über eine Kon­troll­leis­te am oberen Rand ein und hat dann zahl­rei­che Mög­lich­kei­ten: 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 Kom­mer­zi­ell
Kirby einige wenige
Statamic wenige einige
Grav einige viele x
HTMLy wenige x x
razorCMS In-Page-Editing wenige wenige
Fazit:

Content-Ma­nage­ment-Systeme die auf dem Flat-File-Prinzip beruhen, stehen zwischen einem normalen CMS und einer Static Site. Bevor Flat-File-CMS auf dem Markt auf­ge­taucht sind, musste man sich bei der Ent­schei­dung für das richtige System nur fragen: Verändere ich meinen Content re­gel­mä­ß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-Ma­nage­ment gedacht. Was die Be­nut­zer­freund­lich­keit angeht, richten sie sich aber eher an Nutzer, die mit Code umgehen können. In den meisten Fällen sind HTML-, PHP- oder CSS-Kennt­nis­se von Nöten. Dafür wird keinerlei Da­ten­bank­fach­wis­sen benötigt! Webmaster können sich auf die Ge­stal­tung der Website kon­zen­trie­ren und von dem schlanken System pro­fi­tie­ren.

Für Nutzer, die nur eine statische Un­ter­neh­mens-Homepage oder einen One-pager als Landing­pa­ge benötigen, kann auch ein Static-Site-Generator die richtige Wahl sein. Viele An­wen­dungs­be­rei­che lassen sich schon über Ge­ne­ra­to­ren wie dem IONOS Homepage Baukasten abdecken. Möchte man al­ler­dings mit dy­na­mi­schen Inhalten arbeiten, aber nur in einem kleinen Rahmen, bieten Flat-File-Systeme eine gute Al­ter­na­ti­ve zu den üblichen CMS-Schwer­ge­wich­ten.

Zum Hauptmenü