Kirby-CMS

Die Version 1.0 von Kirby ging im Januar 2012 an den Start, mittlerweile ist es in Version 2.5.4 und bekommt weiter regelmäßige Updates von Entwickler Bastian Allgeier. Anders als die meisten, verwendet es keine Datenbank -die Informationen werden einfach in Text-Dateien abgelegt (Flat-File-CMS). Einen Installation ist nicht Notwendig lediglich das Endpacken und auf den Server hochladen ist erforderlich und schon kann es losgehen. Wer jedoch eine Datenbank benötigt, der kann diese auch einfach einbinden.

Für kleine Projekte mit nur wenigen Seiten ist ein WordPress Installation mit all seinem integrierten Funktionsumfang meist zu überdimensioniert. Wo WordPress mit der Standardinstallation gleich mal 20 MByte wegfrisst, da kommt Kirby leicht mit unter 5 MByte aus. Durch das verzichten auf eine Datenbank und der schlanken Größe des CMS ist es auch für sehr kleinen und kostengünstigen Webspace eine gute Wahl.

Mit einer sehr guten Dokumentation findet man auch schnell heraus wie man die Templates erstellt und befüllt, auch das erstellen von Plug-ins erweist sich für PHPler recht problemlos. Eine Übersicht der installierbaren Plugins findet sich auf GitHub. Einen Marketplace mit kostenlosen und kommerziellen Themes findet man hier.

Zur Strucktur der Text-Dateien

Ein Beispiel eines .txt-Dokuments einer Seite sieht dann zum Beispiel so aus:

title: 
Blogbeitrag 

---- 

text: Das hier ist der Text zu einem neuen *Blogbeitrag*. Er ist mit _Markdown_ formatiert und kann zum Beispiel ein Bild enthalten:

(ima​ge: bild.jpg)

----

veröffentlicht: 2016-04-01 13:37:00

Die Felder werden in einzelne Abschnitte durch „—-“ vier Bindestriche unterteilt. Es kann so auch durch die Kirbytags der Titel, der Text oder das Veröffentlichungsdatum und andere zugewiesen werden. Das einfügen eines Bildes wird im Beispiel mit einem image-Tag gefolgt vom Pfad eingebunden. Ein zu einer Textdatei gehöriges Bild wird wird dann im selben Ordner gespeichert.

Templates

Wie kommt nun der Content aus den Dateien in die Templates? Nun, das Template für eine Seite muss den selben Namen wie die Textdatei welche den Inhalt liefert tragen (bei Beispiel.txt heißt das Template also Beispiel.php). Der Inhalt einer Seite wird in das HTML-Gerüst dann per PHP eingetragen. So können mit der $page – Variable die Feldinhalte eingefügt werden.

Als Beispiele hier einige Code-Ausschnitte zum Implementieren der Inhalte.


<?= echo $page->title() ?>


<?= $page->text()->kirbytext() ?>


<?= strftime("%e. %B", strtotime($page->veröffentlicht())) ?>



Fazit: Ein nettes kleines CMS das für kleine Projekte ganz okay ist, jedoch schon einige Einschränkungen mit sich bringt. In seiner „Testversion“ ist es kostenlos und uneingeschränkt nutzbar, doch sollte auf fair-use basis dann nach dem Testen entweder eine Personal- oder eine Pro-License für 17 bzw. 89 € erworben werden.

FirstSpirit™

Das FirstSpirit™ Enterprise-CMS wird von der e-Spirit AG aus Dortmund angeboten. Das CMS ist vor allem dann interessant, wenn sehr große Seitenmengen abgebildet werden müssen, die durch viele Benutzer in verschiedensten Rechtegruppen bearbeitet und angelegt werden müssen. Es basiert auf Java und läuft auf einem entsprechendem Applikations-Server. Die Webseite wird dann in HTML (oder wahlweise PHP) rausgeneriert und auf dem Publishingserver abgelegt. So ist die Entwicklung (und auch Redaktion) von der Produktivseite entkoppelt.

AsgardCMS

Beim AsgardCMS handelt es sich um ein recht neues OpenSource Projekt welches auf Laravel 5 basiert und 2015 in der Beta-Version auf den Markt kam. Bisher gibt es leider nur sehr wenige Module/Extentions für den Fall, dass man den Funktionsumfang erweitern möchte.

Damit die Reise nach Asgard losgehen kann, sind einige Mindestanforderungen zu erfüllen:

  • PHP 5.6 oder höher
  • PDO PHP Extension
  • cURL PHP Extension
  • OpenSSL PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • Mcrypt PHP Extension
  • GD PHP Library
  • MySql 5.5
  • Und einer der Cache Drivers: memcached, redis oder apc

Installation über die Konsole

per AsgardCMS-Installer

composer global require asgardcms/asgardcms-installer
asgardcms new NameDesProjekts


per Composer

composer create-project asgardcms/platform your-project-name

Dann ins erstellte Verzeichnis wechseln und zur Installation

php artisan asgard:install aufrufen.

Eine detaillierte Anleitung findet sich => hier <=

Usability / AdminPanel

Das Admin-Panel ist übersichtlich und ansprechend gestaltet. Custom-Field-Types sind leicht hinzuzufügen. Für die unterschiedlichen Nutzer sind sehr detaillierte Zugriffsrechte für die einzelnen Admin-Bereiche einstellbar. Auch die Module lassen sich leicht mit einer Suche finden und hinzufügen. Die Menüpunkte mit Unterpunkten sind selbst für Anfänger mit wenigen Klicks zu erstellen.

Fazit

Ein wirkliches interessantes Projekt, das bereits alle Grundfunktionen für kleine Projekte mit sich bringt. Auch wenn es noch keine Stadt der Götter ist, kann es mit ein bisschen mehr Unterstützung der Community in Form von Erweiterungen in Zukunft hoffentlich ein wirklich verbreitetes CMS werden auf das Thor mit stolz blicken kann.

Bolt

Bei Bolt handelt es sich um ein leichtgewichtiges, kleines Content Management System welches in PHP geschrieben ist. Es ist komponentenbasiert auf Symfony/Silex Modulen wie die freie Template Engine Twig. Als Datenbank verwendet es entweder SQLite, MySQL oder PostgreSQL. Zum ersten mal ging es im Februar 2013 mit V1.0 an den Start.

Gestaltet ist das Backend nicht nur für IT-Profis, sondern auch speziell für Autoren, deswegen ist alles an diesem CMS so gestaltet dass es möglichst einfach und funktional ist, ohne dass es dabei am Funktionsumfang mangelt. Funktionen die nicht genutzt werden, sind ausgeblendet um die Übersicht zu behalten. Hochgeladene Bilder werden automatisch zugeschnitten und verkleinert. Alle Änderungen können in einem Changelog eingesehen werden, um nachvollziehen zu können, wer was wann editiert oder erstellt hat.

Aber auch für Entwickler bietet Bolt einige Vorteile:

  • Für Frontend-Entwickler:
    • schnell und professionell eigene Templates mit Twig erstellen
    • flexibles erstellen von Gruppen und Tags
    • Bolt-Funktionen einfach in einer YAML-Datei (-> XML-basiert) bearbeiten
    • eigebaute Suche
    • eigens freiwählbares Branding des CMS möglich

Alles in allem ein nettes CMS in das dessen Entwickler viel Energie und Liebe zum Detail gesteckt haben. Wer ein leicht zu bedienendes und anpassungsfähiges CMS sucht ist mit Bold gut beraten. Auch das editieren mit dem Smartphone geht einem leicht von der Hand. Das erstellen eines eigen Templates ist relativ einfach möglich wenn man schon mal mit einer Template-Engine zu tun hatte.

hier gehts zur Herstellerseite

Pagekit

Im Juni 2014 ging das quelloffene CMS Pagekit erstmal in der Alpha-Version unter einer freien MIT-Lizenz an den Start, die stabile Version 1.0 folgeIe April 2016. Erstellt wurde es von dem Hamburger Unternehmen YOOtheme. Seine Als Basis dient das Symfony-Framework und zum Einsatz kommt SQLite als Datenbank (bei Bedarf ist auch MySQL nutzbar).

Das Backend erstrahlt in einem ansprechend sauber aufgeräumten Material-Design welches mit dem Vue.js-Framework umgesetzt wurde und auf dessen Admin-Dashboard sich beliebig viele Widgets platzieren lassen. Zur Templateerstellung kommt die Razr-Template-Engine zum Einsatz, welche seitens „ASP.NET Razor“ von Mircorosoft inspiriert wurde, jedoch mit PHP programmierbar ist.

Es gibt sogar einen eigenen integrierten Marktplatz, in welchem Entwickler kostenlos oder kommerziell ihre eigenen Extensions oder Themes anbieten können. Diese können mit nur wenigen Klicks schnell und einfach installiert werden. Bei den Extentions gibt es eine breite Palette; von einem Google-Analytics-Tool über einem Formmaker zum erstellen von Formularen, bis hin zum Syntax-Highlighting. Selbst der Editor ist gegen den legendären WYSIWYG Editor TinyMCE austauschbar.

Bei der Erstellung der Themes bietet sich das von YOOtheme selbst entwickelte Front-End-Framework UiKit an was bereits implementiert ist und eine ernstzunehmende Konkurrenz zu Bootstrap darstellen könnte, da es mit nur 70 Kbyte auch sehr leichtgewichtig und fix ist.

Die Mindestvoraussetzungen die Pagekit an den Server stellt sind:

  • Apache 2.2+ oder nginx
  • MySQL Server 5.1+
  • PHP Version 5.4+

Fazit: Ein wirklich gelungenes aufgeräumtes CMS das auf modernen und erprobten Technologien basiert, die das ganze zu einer sehr effizienten und in Zukunft vielleicht auch ernstzunehmenden Alternative zu den Großen wie WordPress macht. Einziger Makel, wenn man das so nennen kann, ist für den Entwickler der Aufwand sich mit diesen neuen genutzten Frameworks vertraut zu machen, was ein wenig Zeit in Anspruch nimmt. Für den Endnutzer, jedoch ein schönes, schlankes und übersichtliches CMS das man auch mal bei einem Kundenprojekt einsetzten kann ohne sich Gedanken machen zu müssen.

Joomla

Wir bekommen häufiger mal Anfragen zu dem CMS Joomla und um es vorweg zu nehmen: Wir fassen es nicht mehr an! Wenn das für Euch ein unverzichtbarer Bestandteil sein sollte, wendet Euch doch an die Kollegen von Budde Mediendesign (http://www.budde-mediendesign.de), die helfen sicherlich gerne. Wenn es auch was anderes sein darf, versuchen wir gerne zu unterstüzten. Die Konzepte hinter dem CMS sind ebenso gut wie die von WordPress. Die Community war eine lange Zeit hier in Deutschland vor allem sehr groß und engagiert. In den letzten Jahren ging dieses Engagement jedoch zurück.

Warum fassen wir das System nicht mehr an?:

  • Da das Community-Engagement nun im Jahr 2015 nicht mehr so stark ist wie 2010, lassen auch die Updates ein wenig zu wünschen übrig und es werden relativ gefährliche Sicherheitslücken erst nach über 2 Jahren geschlossen. Aufgrund dessen sind viele Installationen angreifbar und wir haben die ein oder andere Seite recovern dürfen, weil diese „auf einmal“ nur noch Cialis und/oder Viagra anbietet oder gar Maleware verbreitet haben.
  • Plugins waren seiner Zeit relativ einfach zu schreiben und es wurden auch viele geschrieben. Die darin enthaltenen Sicherheitslücken bestehen allerdings teilweise bis heute in den Installationen.
  • Vom Konzept ist das CMS nicht auf dem Stand der Technik und gerade neue Webseiten sollten eigentlich hier mehr bieten können als bisher benötigt.

Grav

Grav ist ein sogenanntes Flat-File CMS , d.h dass es besonders schlank konzipiert ist und es keine Datenbank mehr gibt. Was auch nicht nötig ist, da die Beiträge in einfachen Textdateien vorgehalten werden. Anders als zu erwarten wäre, muss es nicht extra installiert werden – einfach den zip Ordner von der Website herunterladen und schon kann es losgehen. Die Systemanforderungen sind gleichermaßen schlank.

Um das CMS grafisch anzupassen gibt es sogenannte Skeleton Packages, welche die Themes und dafür notwendigen Plugins beinhalten zum download.

Ähnlich wie das CMS Bolt basiert es auf Symfony-Modulen wie:

Einige der Features mit denen Grav auftrumpfen kann sind:

  • Multi-Site Capabilities – eine GRAV Installation kann mehrere unterschiedliche Seiten verwalten
  • Smart caching – egal bei welchem Hoster superschnelles Laden
  • CLI Tools – Command-Line-Tools für Wartung (Dependency Installation, Cache clearing, User creation, und Backups)
  • Package Manager – Extension einfach finden und up-to-date halten
  • SEO Friendly – lesbare URLS und MetaData inklusive
  • Routing and Redirection
  • Debugging and Logging über ein visuelles Interface
  • Minimale Systemanforderungen
  • Dynamische Bildverarbeitung
  • Native Retina/HiDPI Image Support
  • einfaches Erstellen und Filtern nach Tags, Kategorien und Autoren
  • einfaches erstellen von Backups
  • einfaches Erstellen von Themes und anderen Anpassungen

Unterm Strich kann man sagen, dass es ein Interessantes Content Management System ist, welches sicher einen Blick wert ist. Besonders wenn es sich um eher kleine Projekte handelt bei welchen keine Tauschend unterschiedlichen Plugins und Funktionen notwendig sein müssen. Sondern eher der Fokus darauf liegt, dass der Content gut und ansprechend dargestellt wird und die Ladezeiten möglichst gering sind um so ein tolles Nutzererlebnis zu gewährleisten ist dieses CMS zu empfehlen.

Processwire

Bei ProcessWire handelt es sich um ein freies PHP basiertes Content-Management-Framework(CMF), das erstmals 2007 auf der Bildfläche erschien. Unter der Leitung von Entwickler Ryan Cramer wird es ständig von ihm und einer sehr aktiven Community weiterentwickelt. Im Jahr 2012 wurde es sogar von CMS Critic zum besten OpenSource-CMS des Jahrs gewählt.

Die Mindestanforderungen sind mit PHP 5.3.8+ und MySQL 5.0.15+ und den üblichen Apache-Funktionen recht überschaubar. Sollte man es auf einem anderen Server wie z.B. nginx nutzen wollen, sind einige Anpassungen in den Einstellungen notwendig. Die Datenspeicherung des CMS erfolgt in einer MySQL-Datenbank.

Die Inhalte werden in hierarchischer Baum-Struktur in Seiten, Feldern und Templates angeordnet dargestellt und erinnert mich ein wenig an ModX. Alle Seiten bestehen aus Feldern welche als Container für die Inhalte dienen. Dabei gibt es einfache Feld-Typen wie Texte, Nummern, URLs oder E-Mails oder komplexere wie ein Textarea mit WYSIWYG-Funktionalität oder sogar ein Feld mit dem man das hochladen von Dateien und Bildern leicht implementieren kann. Custom Fields wie man sie vielleicht aus WordPress kennt gibt es hier deswegen nicht, denn jedes Feld kann einen beliebigen Typ annehmen indem man selbst die Einstellungen daran vornimmt. So kann man z.B. vorgeben, welche Maximalgröße eine Datei haben kann etc.

Durch die an jQuery angelehnte API ist es für Entwickler leicht möglich die Template-Inhalte anzupassen, durch Arrays zu iterieren u.ä. Eine Übersicht all dieser Möglichkeiten (die auf jeden Fall einen Blick wert sind) hat Processwire hier mal aufgelistet.

Hier ein Beispiel in dem beispielsweise alle Unterseiten mit einem Link darauf ausgegeben werden sollen:

<ul><?phpforeach ($page->children as $child) {echo "<li><a href='{$child->url}'>{$child->title}</a></li>";}?></ul>

Interessant sind auch Features wie das Ausgeben von Beiträgen gleicher Themengebiete was umgesetzt so aussieht:

$articles = $pages->find("template=blog-post, topics=$page");

Fazit: Wirklich ein cooles und interessantes CMS was Ryan Cramer mit seiner Community da geschaffen hat. Besonders schön ist die Modularität und der große Funktionsumfang. Viele Elemente scheinen mir wie zuvor schon erwähnt ähnlich zum auch sehr beliebten ModX was vielleicht sogar als Vorlage diente. Wobei mir bei Processwire einiges sogar schöner umgesetzt worden zu sein scheint.

WordPress

WordPress ist laut eigener Aussage das erfolgreichste Publishing-System der Welt. Schwerpunke sollen die folgenden sein: Ästhetik, Webstandards und Benutzerfreundlichkeit. WordPress basiert dabei auf PHP und MySQL, ist frei erhältlich, schnell und einfach zu installieren.

Das macht das CMS WordPress zur idealen Wahl für kleine, sehr standardisierte Webprojekte. Ebenso lässt sich das CMS duch PlugIns stark aufrüsten. So gibt es sehr viele Themes (für kleines Geld) an verschiedenen Ecken im Web.

Einige Nachteile, die sich (über die Zeit) herausgestellt haben:

  • Weil es eines, wenn nicht das größte und verbreitetste System ist: Hacker versuchen, das System zu jeder Zeit auf jede erdenkliche Art und Weise zu zerlegen, daher gibt es sehr viele Patches innnerhalb kurzer Zeit, die eingespielt werden sollten, was einen höheren Wartungsaufwand bedeutet.
  • Gleiches wie für WordPress selber gilt für die Templates und Erweiterungen
  • Templates sind in WordPress nicht ganz so einfach aufzubauen. Es sind einige Dinge zu beachten, sodass selbst die größeren auf Frameworks zurückgreifen. Diese haben auf die ein oder (und) andere Weise immer ihr Eigenleben und man weiß vorher nie, was man hinterher genau bekommt.
  • So einfach WordPress installiert sein mag, es kann jedoch auch einiges an Wartung und Entwicklung erfordern. Seiten wie die des Smashing Magazines (http://www.smashingmagazine.com/) mögen auch auf WordPress basieren, jedoch haben die Jungs und Mädels hier nicht einfach nur auf den Button „Installieren“ geklickt, sondern es wurde seit nunmehr mehreren Jahren mit einem größerem Team daran entwickelt. Der Quelltext mit 5 freien Erweiterungen und einem gekaufen Theme ist zum Teil grausam und uns als Entwicklern blutet das Herz – selbst mit einem CMS mit sehr edlen Motiven dahinter.