Processwire: Wenn Webentwicklung schnell gehen muss
An Content-Management-Systemen, kurz CMS, die Entwicklung und redaktionelle Betreuung von Websites ermöglichen, herrscht kein Mangel. Hoch populäre und von professionellen Entwicklern oft belächelte Systeme wie Wordpress buhlen genauso um die Aufmerksamkeit potenzieller Nutzer wie leistungsstarke, umfangreiche Systeme mit einer steilen Lernkurve vom Schlage eines Typo3.
Processwire ist eines der wohl weniger bekannten Systeme. An Selbstvertrauen mangelt es den Machern trotzdem nicht. Die Startseite der Processwire-Webpräsenz (öffnet im neuen Fenster) strotzt nur so vor Superlativen: "die beste und stärkste API" , "die freundlichste und sachkundigste Gruppe von Menschen" und "das sicherste Open-Source-CMS des Planeten" .
Die Macher von Processwire erwähnen aber auch voller Bewunderung ihre Vorbilder – allen voran jQuery. JQuery habe die Frontend-Entwicklung revolutioniert und dank seiner einfachen Syntax lästige Pflichten in Spaß verwandelt. Was jQuery für das Frontend sei, solle Processwire für das Backend sein.
Wir zeigen, wie damit eine eher einfache Website mit Redaktionssystem für nicht-technische Nutzer erstellt werden kann. Es soll kein vorgefertigtes Design für die Website gekauft oder aus einem Open-Source-Repository übernommen werden. Stattdessen sollen Farbschema, Schriftarten, Struktur und andere Präsentationselemente komplett selbst gestaltet werden. Bei der Zielgruppe unterstellen wir solide Grundkenntnisse in den Webtechniken HTML, CSS und PHP.
Die Installation ist leicht
Wie bringt man Processwire auf dem eigenen Heimcomputer oder Server zum Laufen und erstellt schnell eine schlichte Website mit einfachem Redaktionssystem?
Für die Beschaffung der Installationsdateien werden mehrere Methoden angeboten. Entweder lässt Processwire sich mit dem Versionsverwaltungsprogramm git per git clone von Github beziehen. Oder die Installation wird über den PHP-Bibliotheksmanager Composer realisiert.
Wer mit diesen Tools keine Erfahrung hat und Processwire erst einmal nur mit minimalem Aufwand auf dem Heim-PC ausprobieren will, kann auch direkt von der Processwire-Website eine kleine zip-Datei herunterladen und direkt in dem Verzeichnis des Webservers entpacken, wo später die Website angesiedelt sein soll.
Ungeachtet des Weges, auf dem man Processwire bezieht, startet die Installationsroutine, wenn man den gewählten Pfad auf dem Server aufruft. Es muss keine Datei angegeben werden, da index.php automatisch install.php aufruft, solange Processwire nicht fertig installiert ist.
Im Installationsprogramm werden als nächstes Systemanforderungen überprüft. Fehlen nötige Einstellungen, gibt der Installer klar verständliche Fehlermeldungen aus, denen auch Anwender mit nur grundlegenden Kenntnissen in Server- und Datenbankadministration folgen oder sich online weitere Hilfe suchen können.
Wenn die Installation geglückt ist, erscheint unter der eingestellten URL eine fast leere Startseite. Unter URL/processwire ist standardmäßig die Anmeldung zum Backend möglich.
Das Processwire-Backend ist minimalistisch
Das Backend einer leeren Processwire-Installation ist sehr überschaubar. Beim Einstieg findet man kaum mehr als die Hauptmenüpunkte Pages, Setup, Modules und Access. Hier verleitet nichts zum Spielen, sondern man gewinnt gleich den Eindruck, dass noch ein paar Handgriffe getan werden müssen, bevor auf Knopfdruck neue Seiten erstellt werden können.
Mit Vorlagen die Struktur aufbauen
Nun heißt es: Do it Yourself . Mit einem Zusammenspiel aus Vorlage-Dateien (im Folgenden "Templates") und Backend baut man die Struktur einer Website auf.
Mit einem Texteditor der eigenen Wahl legt man zunächst Templates im Verzeichnis site/templates an. Im Backend erscheinen neue Templates dann als Auswahlmöglichkeit unter dem Menüpunkt Setup->Templates->Add New. Sobald ein Template ausgewählt wurde, steht es später für die Erstellung einer Seite zur Verfügung.
Felder einrichten
Weiter müssen im Backend Feldtypen angelegt werden, in die der Inhalt für die verschiedenen Seiten eingegeben werden kann. Dies geschieht im Hauptmenü unter Setup->Fields->Add New. Ein Name und Datentyp müssen dabei festgelegt werden. Andere Angaben sind optional.
Sodann geht es wieder zurück in den Texteditor, wo die Felder in der Template-Datei an der gewünschten Stelle durch PHP-Code aufgerufen werden. In den Tutorials auf der Website von Processwire sind aussagekräftige Beispiele einfach zu finden.
Seiten erstellen
Nachdem Vorlagen und Felder angelegt wurden, können endlich Seiten erstellt werden. Dazu wählt man im Hauptmenü den Punkt Pages->Tree->Add New aus.
In der leeren Standardinstallation – die eben doch nicht ganz leer ist – ist ein grundlegendes Frontend-Navigationsmenü enthalten. Sobald Seiten angelegt werden, erfasst es diese und erweitert sich automatisch. Enthält eine Seite Unterseiten, wird im Frontend auch automatisch ein Pfad anzeigt, der Nutzern bei der Orientierung hilft. Das ist perfekt, wenn ein inhaltlicher Schnellstart im Vordergrund steht und das schicke Aussehen später kommen kann.
Will man dieses vorgefertigte Navigationsmenü verändern oder deaktivieren, muss man in der Datei site/templates/_main.php nach den HTML-Elementen
suchen.
Das Webprojekt hübsch machen
Wenn die Zeit für eine ansprechende Gestaltung des Web-Projekts gekommen ist, können die Seiten mit Standard-CSS Farbe und Form erhalten. In Processwires vorinstallierter Struktur ist im Verzeichnis site/templates/styles eine fast leere Datei main.css zu finden. Um ohne weiteren Aufwand die Darstellung der Website zu bearbeiten, muss diese CSS-Datei genutzt werden.
Die in main.css gemachten Konfigurationen werden wirksam, sobald man sie in den Seiten-Templates aufruft. Dazu wird unter site/templates eine Datei namens head.inc erstellt. Diese beinhaltet den oberen Teil der HTML-Standardstruktur von <!DOCTYPE html> bis
ᐸbody> und damit auch den Aufruf der main.css nach den im HTML-Kopf üblichen Regeln.Wenn die Website wächst und man soweit ist, mehrere CSS-Dateien für unterschiedliche Seiten anzulegen, muss man die Datei site/config.php bearbeiten. Hier wird unter anderem mit der Anweisung $config->appendTemplateFile='_main.php' die Datei site/templates/_main.php als eine Vorlage in alle Seiten geladen, was auch die Gültigkeit der main.css nach sich zieht.
Im Fließtext beschrieben mag das kompliziert klingen. Wenn man es direkt in den einführenden Kommentaren liest, die die Processwire-Macher in ihren Konfigurationsdateien und Standard-Templates hinterlassen haben, ist es aber sehr gut nachvollziehbar.
Rollen und Benutzer
Wenn die Website-Struktur steht, soll in unserem Szenario ein Nutzer mit dem Recht, ausschließlich für eine bestimmte Seite Unterseiten zu erstellen, eingerichtet werden. So kann beispielsweise ein News-Bereich redaktionell betreut werden.
Unter dem Hauptmenüpunkt Access lassen sich sowohl neue Rollen ("Roles") als auch Benutzer ("Users") anlegen. Dabei kommen in der logischen Hierarchie zuerst die Rollen und dann die Benutzer. Rollen erhalten Rechte zugeteilt und Benutzer erhalten Rollen zugeteilt.
So kann der Superuser beispielsweise eine Rolle "Redakteur" und einen Benutzer "Susanne" anlegen und Susanne dann die Rolle "Redakteur" zuweisen. Susanne ist dann in der Lage, sich mit ihren Zugangsdaten im Backend anzumelden und die ihr übertragenen redaktionellen Aufgaben zu erledigen.
Weitere Schritte
Processwire wäre kein ernstzunehmendes CMS, wenn es nach diesen ersten Schritten nicht noch viel mehr zu bieten hätte. Da das Backend übersichtlich und die Dokumentation auf der offiziellen Website gut verständlich ist, soll an dieser Stelle das Tutorial für die ersten Schritte reichen. Für alles weitere sei auf die besagte offizielle Dokumentation (öffnet im neuen Fenster) verwiesen.
Processwire im Vergleich mit Wordpress und Typo3
Um den Einstieg ins Arbeiten mit Processwire etwas zu kontextualisieren, stellen wir einen kurzen Vergleich mit Wordpress und Typo3 an.
Die Installationen unterscheiden sich nicht nennenswert. Processwire führt den Nutzer etwas verständlicher durch die Installationsroutine als Wordpress und Typo3, aber letztendlich geht es bei allen um dasselbe: Dateien herunterladen, Server konfigurieren, Datenbank anlegen, fertig.
Nach der Installation vermitteln die beiden Konkurrenten den Eindruck, man könne sofort loslegen und mit ein paar Knopfdrücken die erste Seite veröffentlichen – gerade das umfangreiche bunte Backend von Typo3. Processwire hat in diesem Aspekt die realistischere Bildsprache und ist weniger verwirrend.
Alle drei Systeme installieren eine Ordner- und Dateistruktur, in der weitergearbeitet werden muss. Insgesamt befinden sich in der Standardinstallation von Wordpress etwa 220 Elemente. Bei Processwire sind es etwa 150 und bei Typo3 nur knappe 40. Obwohl Processwire hinsichtlich der Mächtigkeit an Informationen in der Mitte liegt, ist es trotzdem am übersichtlichsten.
Weder die vielen Elemente von Wordpress noch die wenigen von Typo3 sind mehrheitlich sprechend benannt. Nutzer müssen den Inhalt von Dateien oft erraten, sich anlesen oder Datei für Datei durchklicken. Bei Processwire dagegen trifft man fast durchgehend auf Bezeichnungen wie "templates", "styles", "config.php", "home.php" und "_main.php" – die genau das enthalten, was jeder mäßig erfahrene Systemadministrator oder Entwickler erwartet.
Bei der Funktionalität innerhalb der Templates gibt es weitere nennenswerte Unterschiede. Typo3 führt mit Typoscript und Fluid gleich mehrere Konzepte ins Feld, die nicht zum Web-Standardrepertoire gehören. Wordpress seinerseits nutzt einen Katalog vordefinierter PHP-Funktionen. Processwire schließlich erfordert lediglich objektorientierten Standard-PHP-Code. Eine Kurzschreibweise für diesen kann optional genutzt werden. Somit ist der Einarbeitungsaufwand bei Processwire am geringsten.
Fazit
In vielen Punkten ähnelt Processwire anderen Content-Management-Systemen. In entscheidenden Aspekten ist es aber anders.
Für CMS-Neulinge ist das Zusammenspiel zwischen Backend und Templates tendenziell schwer zu durchschauen. Processwire löst dies besser als manch anderes System.
Processwires große Stärke ist seine Dokumentation, die den Einstieg beispiellos einfach macht. Um sich einzuarbeiten, braucht man weder Youtube noch Stackoverflow. Die von den Entwicklern zur Verfügung gestellten Erklärungen und Beispiele(öffnet im neuen Fenster) sind überschaubar und didaktisch gut aufbereitet.
Als weitere Stärke zeigt sich, dass das Administrations-Backend keine Mogelpackung ist. Anders als manche Konkurrenten vermittelt der spartanische Adminbereich gerade nicht den Eindruck, man könne sofort loslegen und mit wenigen Klicks die Homepage eines neuen Projekts erstellen.
Außerdem ist die Verzeichnis- und Dateistruktur, die bei einer leeren Processwire-Installation erzeugt wird, sehr übersichtlich, mit sprechenden Namen versehen und die meisten Konfigurationsdateien beginnen mit hilfreichen Kommentaren. Hier sollte man sich ruhig ein paar Minuten lang orientieren, bevor man Google bemüht.
Ob Processwire sich langfristig bei großen, komplexen Projekten ähnlich gut schlägt wie beim Einstieg, ist eine andere Frage. Für den Zweck, ohne Rückgriff auf verbrauchte Themes schnell eine einfache Website zu erstellen und dafür ein einfaches Redaktionssystem mit Rollen und Benutzern aufzubauen, ist es aber gewiss eine gute Wahl.
Claus Godbersen(öffnet im neuen Fenster) ist studierter Politikwissenschaftler und arbeitet als Beauftragter für Qualitätsmanagement und Datenschutz in der Sozialwirtschaft. Sein im Laufe der Jahre gewachsenes Interesse für Bildung, Wissenschaft und IT hat ihn zur Kieler Linuxinitiative geführt, wo er sich als Mitorganisator und Referent der Kieler OpenSource- und Linuxtage engagiert.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



