• CMS
Dr. Detlef Groth 17. Juli 2007

FlatPress – Bloggen ohne Datenbank

Kein Beitragsbild

Dass anspruchsvolle Software auch ohne Datenbank auskommen kann, zeigt die aktuelle Version der Blog-Software FlatPress von Edoardo Vacchi. FlatPress ist eine einfach zu installierende Blog-Software mit ausgezeichneter Infrastruktur und Plugin-Unterstützung.

Für Autoren, die bei der Erstellung eines Weblogs ohne Datenbank auskommen wollen oder müssen, bietet das seit 2005 entwickelte FlatPress von Edoardo Vacchi, der sich selber als NoWhereMan bezeichnet, eine Alternative zu datenbankfordernden Schwergewichten wie WordPress oder Serendipity. Für kleinere und mittlere Webauftritte ist FlatPress in jedem Fall eine interessante Alternative.

Screenshot

FlatPress bietet dabei einfachste Installation, standardkonformes XHTML, eine administrative Oberfläche, Plugin-Unterstützung sowie infolge der Verwendung der Smarty-Template-Engine eine einfache Anpassung an die eigenen Anforderungen. In diesem Artikel wollen wir die Installation und die Handhabung von FlatPress vorstellen.

Einsatzgebiete
Obwohl die meisten Verkäufer von Webspace heutzutage auch eine Datenbankanbindung bieten, kann Software, die ohne Datenbank auskommt, für viele Anwendungsfälle interessant sein. So ist zum Beispiel das Umsetzen eines textdateibasierten Webauftrittes oftmals nur ein einfaches Verschieben des Installationsverzeichnisses. Ebenso ist ein Backup der Inhalte einfach durchzuführen. Den Ordner mit den Inhalten per FTP auf die eigene Festplatte sichern. Datenbank-Dumps zu erstellen, erfordert etwas mehr Anwenderwissen. In den Ansprüchen an die notwendige Software auf dem Webserver ist FlatPress sehr bescheiden. Benötigt wird nur ein PHP 4- oder 5- unterstützender Webauftritt. Auch unter dem Safe_Mode von PHP kann FlatPress ohne Probleme betrieben werden.

Installation
Nach dem Download des bzip2-Archivs erfolgt das Entpacken mit einem geeigneten Programm wie zum Beispiel die Freeware 7-Zip. Danach werden die Dateien des Ordners flatpress mittels eines FTP-Programms auf den Server in ein beliebiges Verzeichnis übertragen. Der Einfachheit halber wollen wir davon ausgehen, dass die Dateien auf der Webseite „http://www.meine-seite.de/flatpress“ abgelegt wurden. Beim ersten Aufruf dieser Webseite meldet sich der FlatPress-Installer. Die Warnung vor der Benutzung der Software kann man getrost ignorieren. Flatpress zeigt sich sehr zuverlässig beim täglichen Gebrauch. Ein regelmäßiges Sichern des Webauftritts sollte natürlich trotzdem selbstverständlich sein.

Wie vom Installer dann gefordert wird, ist auf Servern, welche unter UNIX/LINUX-Betriebssystemen arbeiten, der neu angelegte Ordner fp-content mit den Rechten 0777 auszustatten. Dies kann zum Beispiel in einem typischen FTP-Programm durch einen Rechtsklick mit der Maus auf den entsprechenden Ordner und das Auswählen der Eigenschaften „Lesen“, „Schreiben“ und „Exekutieren“ für die Benutzergruppen: „Eigentümer“, „Gruppe“ und „Alle“ erfolgen.

Nach dem Einrichten des Administrator-Zugangs ist das Setup komplett und man kann mit dem Erstellen von Beiträgen beginnen. Vorher sollte man jedoch aus Sicherheitsgründen den Ordner setup innerhalb der FlatPress-Installation löschen. Hat man sein Passwort vergessen und will erneut einen Zugang für die Seite anlegen muss man diesen Ordner wiederherstellen und außerdem die lock-Datei aus dem Ordner fp-content entfernen.

Deutsches Interface installieren
Seit einigen Monaten gibt es für die aktuelle FlatPress-Installation auch ein deutschsprachiges Interface. Um dieses zu installieren, muss man sich die entsprechende Archivdatei für die deutsche Sprache vom FlatPress-Wiki herunterladen und sie in den Ordner der FlatPress-Installation verschieben. Dabei sind neuere Dateien nicht zu überschreiben. Um das deutschsprachige Interface zu aktivieren, muss im Admin-Bereich der Webseite unter Config die Sprache eingestellt werden. Danach präsentiert sich FlatPress mit deutscher Oberfläche.

Einträge anlegen
Im Administrationsbereich können anschließend neue Seiten angelegt werden. Dabei ist zwischen normalen Blog-Einträgen und statischen Seiten zu unterscheiden. Während die Blog-Einträge immer zugänglich sind, müssen statische Seiten erst in der Webseite verlinkt werden. Zunächst wollen wir einen einfachen Blog-Eintrag erstellen. Dazu ist unter dem Menüpunkt Hauptmenü auf den Link Neuer Eintrag zu klicken.

Arbeiten mit BBCodes
FlatPress unterstützt im Standard beim Erstellen der Inhalte die sogenannten BBCodes, welche auch als Forum-Codes bezeichnet werden. Der Vorteil von BBCode liegt in der einfacheren Vermeidbarkeit von Spam-Einträgen und der etwas besseren Lesbarkeit. Auch lassen sich mit BBCode- Skript-Angriffe durch JavaScript-Code ausschliessen. Vereinfacht gesagt sind beim BBCode die eckigen Klammern des HTML-Codes durch rechteckige Klammern ersetzt. So gibt es für Überschriften die H1/H6-Tags: [h1]Überschrift[/h1], für Formatierungsanweisungen existieren zum Beispiel: [b]fetter text[/b], [i]kursiver Text[/i], [u]unterstrichener Text[/u]. Tags wie [url]Adresse[/url] können zudem auch mit Attributen der Form [url=Adresse]Link-Titel[/url] ausgestattet werden. Listen werden in folgender Form erstellt:

 [list] [*]Eintrag 1 [*]Eintrag 2 [/list]

Für weitere Informationen zu den unterstützten BBCodes sollte man die FlatPress-Faq Seite konsultieren.

Neben der Verwendung der BBodes ist auch die Benutzung von XHTML möglich. Dazu kann man die BBCode-Tags [html] und [/html] verwenden, um komplexeren XHTML-Code, wie zum Beispiel für Tabellen einzufügen. Es ist auch möglich die Inhaltserstellung komplett auf XHTML umzustellen. indem man unter Plugins das BBCode-Plugin inaktiviert. Damit würde man jedoch die Vorteile des BBCodes wieder aufgeben. Die am Anfang noch leeren dropdown-Listen neben den BBCode-Buttons werden übrigens nach einem Bilder- oder Datei-Hochladen um die entsprechenden Einträge für die auf dem Server vorhandenen Dateien erweitert.

Statische Seiten
Im Gegensatz zu den Standardeinträgen die als Blog-Einträge unter ihrem Erstellungsdatum eingeordnet und angezeigt werden, sind statische Seiten nach ihrer Erstellung erst einmal unsichtbar. Dieses eigenartig erscheinende Verhalten bietet eine größere Flexibilität in der Verwendbarkeit. So kann man statische Seiten benutzen, um Informationen mit längerfristiger Aktualität abzulegen. Ein Beispiel dafür ist eine FAQ-Seite. So klickt der Anwender im Adminstrationsmenü auf den Punkt Statische Seiten und auf erstellen Sie eine neue. Neben dem Titel im oberen Breich wird im unteren Bereich ein Kurzname für die Webseite (Seitenname) wie zum Beispiel myname vergeben. Um auf diese Seite zu verlinken, wählt dann eine URL wie http://www.meine-seite.de/flatpress/static.php?page=myname.

Sidebarmenü erweitern
Man kann statische Seiten auch als Menü-Baustein für die FlatPress-Sidebar benutzen. Das Verfahren dazu ist in der FlatPress-FAQ erklärt. Ein Beispieleintrag dafür existiert bereits in der Standardinstallation (Links). Diese Seite wird dazu für eigene Menü-Einträge angepasst. Will man einen neuen Menü-Bereich einrichten, so erstellt man eine neue statische Seite und gibt ihr im unteren Bereich des Editors, nicht im Titel, einen sprechenden Namen wie zum Beispiel menu-me.

In der Widget-Konfiguration aktiviert man nun das blockparser-Plugin mit einer Zeile wie:

 'blockparser:menu-me'

Danach sollte in der Sidebar das selbst erstellte Menü erscheinen. Mit dieser Möglichkeit, die Sidebar zu konfigurieren, lässt sich FlatPress ähnlich wie ein gewöhnliches Content Management System (CMS) zur thematisch strukturierten Ablage von Inhalten benutzen.

Kategorien einrichten
FlatPress bietet die Möglichkeit, die Blog-Einträge inhaltlich zu bestimmten Kategorien zuzuordnen und sich selektiv bestimmte Kategorien anzeigen zu lassen. Dazu ist im Adminstrations-Bereich unter Einträge und Kategorien bearbeiten die Gliederung in einem einfachen Textformat anzulegen. Unterkategorien werden dabei durch Einrückungen mit Bindestrichen erzeugt. Hier ein Beispiel:

 Kategorie A :1 --Untereintrag A1 :2 --Untereintrag A2 :3 Kategorie B :4 --Untereintrag B1 :5

Die abschließende Zahl ist notwendig, um die korrekte Zuordnung der Beiträge zu ermöglichen. Nach dem Speichern der Kategorien sollten diese in der Sidebar erscheinen. Beim Neuanlegen von Einträgen können diese jetzt über Checkboxen den Kategorien zugeordnet werden.

Widgets und Plugins
FlatPress unterstützt eine Plugin-Architektur, welche es ermöglicht, die Software zu erweitern. In der Standardinstallation verfügt FlatPress bereits über 17 Plugins. Beispiele sind ein Plugin für Suchfunktionen, ein Kalender-Plugin sowie ein Plugin um Thumbnails für Bilder bereitzustellen. An dieser Stelle muß aber einschränkend gesagt werden, dass Plugins und Themen von WordPress ohne Anpassungen nicht unter FlatPress funktionieren. Die Aktivierung der Plugins erfolgt im Adminstrationsmenü unter dem Punkt Plugins. Widgets sind spezielle Plugins, die HTML erstellen können und in verschiedene Bereiche der Webseite, so zum Beispiel in die Sidebar oder in den Fußbereich, eingebunden werden können. Aus diesem Grunde ist es notwendig, Widgets sowohl unter dem Menüpunkt Widgets als auch unter unter Plugins zu aktivieren.

Syntax-Highlighter
Ein interessantes Plugin ist der Syntax-Highlighter für verschiedene Programmiersprachen wie HTML, CSS, PHP, Ruby, Java oder JavaScript von Alex Gorbatchev. Leider enthält der aktuelle FlatPress-Code einen Bug, der die Benutzung dieses Plugins verhindert. Um es einschaltbar zu machen, muss in der Datei fp-plugins/bbcode/plugin.bbcode.php die Zeile 441:

 'code' => 'pre'

auskommentiert beziehungsweise entfernt werden. Dieser Bug soll übrigens in dem aktuellen Release (10.7.2007) auf der FlatPress-Webseite behoben worden sein. Mit dem Syntax-Highlighter wird Programmiercode wie der folgende optisch aufgewertet:

 [code=js] var x = 1; function test () { if (x < 2) { alert('Hi Mr.'+x); } } [/code]

Spam verhindern
Von besonderer Wichtigkeit für ein Kommentarsystem ist die Abwehr von Spam-Einträgen. Dazu verfügt FlatPress über das Akismet-Plugin das einen gültigen WordPress-API Schlüssel voraussetzt. Durch eine Registierung auf der WordPress-Webseite kann man einen solchen Schlüssel erhalten. Daneben gibt es noch das qspam-Plugin, welches Kommentare anhand bestimmter Schlüsselwörter zurückweist. Außerdem verlangt FlatPress die Lösung einfacher Rechenaufgaben um Kommentare einzugeben. Dadurch wird das automatische Spammen des FlatPress-Blogs doch erschwert.

FlatPress-Themen
Leider können WordPress-Themen nicht ohne weiteres in FlatPress verwendet werden. Deswegen muss man sich entweder auf der FlatPress-Themen Seite umschauen oder sich ein eigenes Thema bauen. Um das doch etwas bescheidene Angebot an FlatPress-Themen zu erweitern, derzeit sind es etwa 6-8, habe ich mehrere interessante Themen von WordPress beziehungsweise SimplePHPBlog nach FlatPress portiert und im Download am Ende des Artikels bereitgestellt. Wer eigene Themen erzeugen will, sollte sich auf der FlatPress-Wiki die Mini-Howto für die Themenerstellung zu Gemüte ziehen.

Um bei den von mir bereitgestellten Themen zwischen rechts- und linksseitiger Sidebar umzuschalten, ist in der Datei res/style.css im jeweiligen Themenordner zwischen der Zeile: @import url(leftnav.css); oder @import url(rightnav.css) umzuschalten. Download der Themen: flatpress-themes.zip (450 KB)

Zusammenfassung
FlatPress von Edoardo Vacchi ist eine einfach zu installierende Blog-Software mit ausgezeichneter Infrastruktur und Plugin-Unterstützung. Hervorzuheben ist ebenfalls die gut organisierte Oberfläche für die Administration des Weblogs. Wer nach Alternativen zu FlatPress im Bereich der textdateibasierten Blog-Software sucht, sollte sich auch einmal Pivot und SimplePHPBlog ansehen. Da FlatPress das gleiche Blog-Format wie SimplePHPBlog benutzt kann man seine Einträge auch leicht zwischen beiden Blogs austauschen. Persönlich hat mir das hier vorgestellte FlatPress aber von den textdateibasierten PHP-Blogs am besten gefallen. FlatPress ist unter der GNU GPLv2-Lizenz veröffentlicht worden. Hinweise und Vorschläge zum Artikel nimmt der Autor gerne entgegen. ().

Erstveröffentlichung 17.07.2007

Dr. Detlef Groth

Dr. Detlef Groth, von Beruf Biochemiker und IT-Konsultant, arbeitet als Bioinformatiker und Autor in Potsdam und Umgebung.
Dr. Webs exklusiver Newsletter
Hinweise zum Datenschutz, also dem Einsatz von Double-Opt-In, der Protokollierung der Anmeldung, der Erfolgsmessung, dem Einsatz von MailChimp als Versanddienstleister und deinen Widerrufsrechten findest du in unseren Datenschutzhinweisen.

5 Kommentare

  1. Lassen sich überflüssige Bilder, unter Umgehung von FTP, auch in FlatPress direkt löschen?
    Freue mich auf Antwort!
    U. Wienke

  2. Hab’s gestern installiert und in meine HP eingebaut. Die Oberfläche dazu etwas angepasst und nun läufts ohne Probleme. War echt einfach – auch ohne große Ahnung von HTML, CSS, … Einfach mit Try&Error durchgehangelt :)
    Super Sache wenn man bedenkt, dass keine DB benötigt wird.

  3. Leider nur Probleme. Deutsch klappt nun endlich, aber im Adminbereich kommt folgende Fehlermeldung:
    Notice: SmartyValidate: [validate plugin] form ‚default‘ is not registered. in /var/www/web491/html/cg/flatpress/fp-includes/smarty/plugins/function.validate.php on line 46
    und
    Fatal error: Call to a member function on a non-object in /var/www/web491/html/cg/flatpress/fp-includes/core/core.fpdb.class.php on line 790

    Uhrzeit läßt sich nich stellen. Schon mehrmal geändert und gespeichert.
    Alle Widges / Plugins auf dem Server hochgeladen. Was soll jetzt werden das es klappt ??

  4. Als Ergänzung zum Absatz „Deutsches Interface installieren“:

    Das deutsche Sprachpaket sollte mit der „Überschreiben“-Option in die Flatpress Installation auf dem Webspace übertragen werden, um ebenfalls ein deutschprachiges Readmore-Plugin zur Verfügung zu haben, welches zur Zeit noch keine Sprachdatei besitzt.

    Alle anderen Dateien aus dem deutschen Sprachpaket umfassen die offiziellen Schnittstellen und können somit bedenkenlos auf den Webspace übertragen werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kennst du schon unseren Newsletter?

Hinweise zum Datenschutz, also dem Einsatz von Double-Opt-In, der Protokollierung der Anmeldung, der Erfolgsmessung, dem Einsatz von MailChimp als Versanddienstleister und deinen Widerrufsrechten findest du in unseren Datenschutzhinweisen.