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.