Bolt: Ein CMS für Agenturen

Bolt ist ein junges und leichtgewichtiges Open-Source-CMS aus dem Agentur-Umfeld. Das System legt Wert auf eine einfache und intuitive Nutzeroberfläche, richtet sich als CMS-Framework jedoch vornehmlich an Entwickler und Dienstleister.

Startseite von Bolt CMS

Bolt wurde ursprünglich von dem niederländischen Entwickler Bob den Otter für Kundenprojekte der Web-Agentur Two-Kings ins Leben gerufen. Im Oktober 2012 erschien Bolt erstmals als Open Source Projekt. Seitdem wird das CMS von der Community weiterentwickelt, wobei Two Kings die treibende Kraft hinter Bolt bleibt und auch einen kommerziellen Support anbietet. Die Verbreitung von Bolt ist im Vergleich zu den großen Content Management Systemen allerdings relativ gering.

#Bolt für Content Manager

Bolt wird mit einer übersichtlichen und weitestgehend selbsterklärenden Nutzer-Oberfläche ausgeliefert. Das Dashboard unterscheidet lediglich zwischen den Bereichen Content für Autoren und Settings für Administratoren.

Autoren arbeiten bei Bolt mit klassischen Eingabe-Formularen, die in konfigurierbare Tabs strukturiert sind. Für Fließtexte stehen wahlweise ein klassicher HTML-Editor oder ein Markdown-Editor zur Verfügung. Neben dem Fließtext kann der Autor über ein separates Upload-Feld unterschiedliche Dateien wie Bilder oder Videos hochladen. Zur Nutzung von Bildern innerhalb des Fließtextes muss der Administrator das System entsprechend konfigurieren. Zusätzlich bietet Bolt in der Standard-Installation ein Mapping-Tool, mit dessen Hilfe Adressen auf einer Karte dargestellt werden können. Ein weiteres smartes Features ist die Erstellung von Dummy-Content per Knopfdruck.

Autoren-Dashboard von Bolt CMS

Generell arbeitet Bolt mit unterschiedlichen Inhalts-Typen, die im Menü des Dashboards aufgeführt werden. Ein Entwickler kann beliebig viele neue Inhalts-Typen definieren, sodass das Menü je nach individueller Ausgestaltung und Webseiten-Konzept variiert. Initial gibt es die Typen "pages", "entries", "showcase" und "blocks":

  • Pages: Pages sind für statischen Content gedacht. Sie haben Felder für einen Titel und für einen Bild-Upload, einen WYSIWYG-Editor für Inhalte und ein Auswahl-Feld für ein Template.
  • Entries: Mit Entries lassen sich zeitbezogene Inhalte wie Blog-Einträge oder Nachrichten erstellen. Entries bieten die gleichen Felder wie Pages, allerdings können Einträge auch einer anderen Seite zugeordnet werden und zum Beispiel als Übersicht erscheinen.
  • Blocks: Blocks sind kleine Content-Schnipsel, die auf dem gesamten Webauftritt erscheinen können, beispielsweise ein "About"-Text im Footer oder in der Sidebar.
  • Showcases: Der initiale Showcase ist lediglich ein Beispiel für die verschiedenen Feld-Typen, die Bolt unterstützt.

Die Stärke von Bolt als Autoren-Werkzeug ist seine Individualisierbarkeit. Das Dashboard bietet nur einen losen Rahmen, der individuell an das Content-Konzept der Webseite und an die Bedürfnisse der Autoren angepasst werden kann. Dabei lässt Bolt zwar moderne Incontent-Editing-Ansätze vermissen. Vergleichbare Systeme wie ProcessWire oder auch Expression Engine zeigen jedoch, dass Autoren von solchen einfachen Ansätzen bei vielen Seitenkonzepten eher profitieren.

#Bolt für Entwickler

Das PHP-CMS Bolt wird derzeit in der Version 3 angeboten und nutzt den folgenden Technologie-Stack:

  • Es basiert auf dem Silex PHP Micro-Frameworks.
  • Es nutzt mehrere Komponenten des Symfony Framework.
  • Doctrine DBAL wird für den Datenbank-Zugriff genutzt.
  • Die Template Engine ist Twig.
  • Der HTTP Client ist Guzzle.
  • Das Bootstrap-Framework wird für HTML, CSS und JavaScript genutzt.
  • Es sind mehrere Frontend-Bibliotheken integriert wie Font Awesome, jQuery und Magnific Popup.
  • Als Editoren gibt es CodeMirror und CK Editor.

Da das Micro-Framework Silex nicht mehr weitergeführt wird, hat Bolt mit Version 4 den Wechsel auf Symfony vollzogen. Aktuellen Änderungen von Bolt sind in der übersichtlichen Roadmap aufgelistet.

Bolt lässt sich recht einfach über Composer mit dem Befehl new project installieren. Wer das Packet stattdessen manuell herunterladen und installieren will, muss nach dem Entpacken ein paar Dateinamen ändern. Nach der Installation per Composer kann man unter der URL lokaler-ordner/public oder zur webseite.com/public einen neuen User anlegen und das System anschließend sofort nutzen. Wenn man keine Informationen für eine Datenbank eingibt, wird Bolt mit einem SQLite Repository installiert.

Die initiale Ordner-Struktur von Bolt ist ebenfalls recht leichtgewichtig:

  • App: Beinhaltet drei Ordner für Caching, für Konfigurationen und für die Datenbank.
  • Extensions: Ein leerer Ordner für die Plugins.
  • Public: Ein Ordner mit Themes, Inhalts-Dateien und Bildern.
  • Src: Der Ordner ist optional und ermöglicht ein Customizing von Bolt.
  • Vendor: Die Core-Files von Bolt.

Bolt nutzt die bekannte Kombination aus YAML und Twig für die Themen-Entwicklung. Die YAML-Files werden für die Konfiguration und für die Definition der Eingabefelder im Autoren-Dashboard verwendet. Als Template-Sprache kommt die verbreitete Template-Engine Twig zum Einsatz.

Ein einfacher Wechsel von Themes über das Dashboard von Bolt ist nicht vorgesehen, da die Themes vergleichsweise eng mit dem System verwoben sind. Grund dafür sind unter anderem die Definition von Eingabefeldern, die unabhängig vom Theme im App-Ordner von Bolt abgelegt sind.

Will man beispielsweise einen neuen Content-Typ "News" für den Autor erstellen, dann muss man die existierende YAML-Datei "contentfiles" im App-Ordner wie folgt erweitern:

news:
    name: News
    singular_name: Newsitem
    fields:
        title:
            type: text
            class: large
        slug:
            type: slug
            uses: title
        image:
            type: image
        text:
            type: html
            height: 300px
    record_template: newsitem.twig

Die Anpassung der Datenbank-Tabellen für die YAML-Konfiguration kann glücklicherweise per Klick über die Administrations-Oberfläche erfolgen. Das erspart eine Menge Arbeit und ist entsprechend weniger anfällig für Fehler.

Nachdem man das neue Feld konfiguriert und die Datenbank erweitert hat, kann man den Inhalt der Felder mit Twig in einem Template des Themes ausgeben:

Ob Bolt das richtige Content Management System ist, kann nur eine individuelle Analyse zeigen. Wer dabei auf eine externe Unterstützung zurückgreifen will, der kann sich an unseren Kooperationspartner SUTSCHE wenden. SUTSCHE gehört zu den wenigen Dienstleistern, die nicht implementieren und so die CMS-Auswahl unabhängig im Interesse des Kunden begleiten können.

© by Sebastian Schürmanns, 2017 - 2024. All Rights Reserved. Built with Typemill.