I ♥ ProcessWire
Im diesjährigen Adventskalender der Webkrauts gibt es viele Themen, über die ich gern selbst geschrieben hätte. So hat Michael van Laar neulich mein neues Lieblings-CMS ProcessWire sehr umfassend vorgestellt.
Ich gehe im Folgenden nur auf die Aspekte von ProcessWire ein, die mich begeistern. Für einen generellen Einstieg in das CMS lest bitte zuerst Michaels Artikel.
Volle Freiheit
ProcessWire gibt – abgesehen von minimalen Beispieldaten, die nach der Installation schnell entfernt sind – nichts vor, sieht man einmal davon ab, dass es in PHP geschrieben ist und PHP als Template-Sprache verwendet. Aber, und das ist bei gar nicht wenigen CMS auf dem Markt durchaus anders, es zwingt seinen Benutzern (zumindest im Frontend) ansonsten nichts auf.
Es gibt keinerlei notwendige Dinge im Frontend-Markup, kein integriertes CSS-Framework und keine zwingend notwendige Javascript-Bibliothek, ohne die das halbe Frontend nicht korrekt funktioniert. Man kann eines der zahlreichen Module verwenden, um eine bestimmte Aufgabe zu erledigen, man kann aber genauso die entsprechende Funktionalität selbst integrieren – man hat also z.B. nicht die Wahl zwischen 3 angebotenen Lightbox-Modulen, sondern kann jedes beliebige Lightbox-Skript selbst integrieren.
Für mich gibt es nichts Schlimmeres, als wenn ein CMS mich zwingt, bestimmte Dinge auf eine bestimmte Art und Weise umzusetzen, weil es im CMS so vorgesehen ist. ProcessWire ist von Grund auf so angelegt, dass das nie notwendig sein wird. Ich halte das für eines der stärksten Argumente für dieses CMS, auch und gerade mit Blick auf zukünftige Webtechnologien.
jQuery für PHP
Javascript hat sich mir nie so richtig erschlossen. Ich beherrsche die Grundlagen, aber wirklich einen Zugang zu JS habe ich erst über die jQuery-Bibliothek gefunden, die vieles, was an nativem JS schmerzhaft ist, erträglicher macht.
Die ProcessWire-API ist angelehnt an jQuery, nur eben für PHP. Sie bietet Methoden, Selektoren, Chaining und Traversing – alles andere Dinge, die sehr ähnlich, zum Teil sogar exakt so wie in jQuery funktionieren. Und damit kann dann plötzlich sogar ein PHP-Stümper wie ich sich zum Beispiel „mal eben“ Code schreiben, der Dinge leistet, die ich in anderen CMS nur über Module realisieren könnte, die mir auch wieder Vorgaben aufdrücken würden – was im Übrigen ein idealer „Begleiter“ für die zuvor erwähnte Freiheit, Lösungen selbst zu implementieren, ist. Ich bin noch nie in einem CMS mit so wenigen Modulen ausgekommen wie in ProcessWire.
Mit Spaß arbeiten
Diese beiden Faktoren, aber auch andere Aspekte an ProcessWire und seiner extrem hilfsbereiten und dabei stets freundlichen Community aus Entwicklern und Benutzern, tragen dazu bei, dass ich sagen würde: Ich habe noch nie so viel Spaß an der Arbeit mit und in einem CMS gehabt. Und dank der Art und Weise, wie es umgesetzt wurde und gepflegt wird, habe ich keine Bedenken, dass das so bleiben wird.