Dieter Petereit 6. Oktober 2012

Kollaboratives Schreiben für Teams mit dem brandneuen WordPress-Plugin Post Forking

Ein brandneues Plugin für WordPress bohrt das beliebte CMS zu einer Art GitHub auf. Es erlaubt nämlich das gleichzeitige Arbeiten mehrerer Autoren an einem Beitrag. Auch Personen ohne weitergehende Rechte können über Post Forking in den Workflow einbezogen werden. Das könnte eine Lösung für mehrere recht verbreitete Probleme derer sein, die in einem Redaktions-Workflow tätig sind.

Wired und das GitHub-Experiment

Es begann mit einer Idee der Wired-Redaktion. Dort schreiben mehrere Personen an ein und demselben Beitrag. Zum Alltag gehört, sich gegenseitig zuzurufen: „Geh du mal bitte aus dem Beitrag raus. Ich muss noch was ändern!“ Jeder, der WordPress im Team verwendet, kennt das. Bei Wired entschloss man sich zu einem interessanten Versuch. Man stellte einen Beitrag auf GitHub zum kollaborativen Bearbeiten ein. Der Versuch sollte zeigen, ob GitHubs Konzept des Forking und Merging geeignet ist, den starren WordPress-Editor abzulösen.

Man fand heraus, dass dem nicht so ist, was aber im Wesentlichen daran lag, dass GitHub schlicht ein Versionskontrollsystem für Software- und sonstige Entwicklungsprojekte ist und insofern eine gehörige Portion an Wissen aus diesen Bereichen voraussetzt. Wissen, das Redakteure in der Regel nicht haben und das sie neben der GitHub-Nutzung auch nicht präsent zu haben bräuchten. GitHub für Redakteure wäre also im Grunde interessant gewesen, aber nicht in der Inkarnation des real existierenden GitHub.

Octocat, GitHubs Maskottchen (Bildquelle: GitHub)

Post Forking: Benjamin Balter entwickelt den Wired-Ansatz fort

Der Open Source Entwickler Benjamin Balter griff Wireds Experiment auf und warf weitere Anwendungsfälle in den Raum. Er fand insgesamt drei:

  • das kollaborative Editieren mehrerer Autoren am selben Beitrag (also Wireds Fall)
  • das Speichern von Änderungen an bereits publizierten Beiträgen durch den Autor (der in der Regel keine Schreibrechte mehr hat, wenn ein Beitrag endgültig veröffentlicht ist) und die Bearbeitung dieser Änderungen durch berechtigte Personen
  • die Schaffung von Bearbeitungsmöglichkeiten für Personen, die ansonsten keinerlei Rechte im CMS haben, etwa normale Leserinnen und Leser (ähnlich zum Pull Request System auf GitHub). Das könnte immer dann interessant sein, wenn man über jemanden schreibt und ihm im Vorfeld sehr einfach die Möglichkeit geben will, sich zu den Inhalten zu äußern. So eine Vorgehensweise ist etwa bei Interviews oder bezahlten Beiträgen üblich.

WordPress Plugin Post Forking: So arbeitet es

Balter übertrug die GitHub-Vorgehensweise auf WordPress und schuf mit Post Forking ein Plugin für den redaktionellen Workflow. Will demnach ein Autor ohne das Recht edit_post einen Beitrag editieren, so erstellt das Plugin einen Fork, also eine weitere Version dieses Beitrags. Diese Version kann der Autor frei editieren und am Ende wie gewohnt speichern und zur Überprüfung vorzulegen. Auf diese Weise gelangt der Beitrag erneut in die Moderation und liegt unter „Pending Review“ im Backend für die Überprüfung bereit. Hierhin gelangen stets diejenigen Beiträge, die von Autoren ohne das Recht publish_post erstellt werden. Man erkennt bereits, dass Balter sich hier eng an den etablierten Standards orientiert, so dass die Verwendung der neuen Funktionalität im Grunde keinen Einarbeitungsaufwand auf der Seite der Autoren nach sich zieht.

Auch der übergeordnete Redakteur findet sich sofort zurecht, denn die nachträglichen Änderungen führen lediglich dazu, dass er den Beitrag erneut vorgelegt bekommt. Er hat nun zu entscheiden, ob er die Änderungen zulassen will. Ist dem so, führt er die neue Version mit der alten Version endgültig zusammen (Merging), wobei ihm vom System etwa bestehende Konflikte und Lösungsmöglichkeiten unterbreitet werden. Erreicht wird diese intelligente Vorgehensweise unter Verwendung der relativ neuen Custom Post Types in Verbindung mit der Revisionshistorie.

Post Forking Version 0.1: Early Adopters vor

Bei der Realisierung des WordPress-Plugins erhielt Balter tatkräftige Unterstützung von den beiden bekannten Plugin-Entwicklern Aaron Jorbin und Daniel Bachhuber. Der letztgenannte Entwickler arbeitet im Hauptberuf für Automattic. Es könnte also gut sein, dass die Funktionalität des Post Forking in der Zukunft eine Chance auf Core-Integration hat. Das Plugin liegt in Version 0.1 vor, was zwar experimentell wirkt, aber eher eine Form von Understatement ist, bedenkt man die bereits recht fortgeschrittene Funktionalität, die Post Forking bereits jetzt bietet.

Seit dem 30.09.2012, also seit einer knappen Woche kann Post Forking im Repository herunter geladen werden, was bislang erst 128 Personen taten. Werden Sie der Nächste sein? Ich rate dazu!

Links zum Beitrag:

Dieter Petereit

Dieter Petereit

ist seit 1994 im Netz unterwegs, aber bereits seit über 30 Jahren in der IT daheim. Seit Anfang des neuen Jahrtausends schreibt er für diverse Medien, hauptsächlich zu den Themenfeldern Technik und Design. Man findet ihn auch auf Twitter und Google+.
Dr. Webs exklusiver Newsletter
Hinweise zum Datenschutz, also dem Einsatz von Double-Opt-In, der Protokollierung der Anmeldung, der Erfolgsmessung, dem Einsatz von MailChimp als Versanddienstleister und deinen Widerrufsrechten findest du in unseren Datenschutzhinweisen.

3 Kommentare

  1. Das klingt sehr spannend! Hast Du das schon Plugin schon ausprobiert? Gibt es eine übersichtliche (grafische) Darstellung der veränderten und neuen Textpassagen, ähnlich wie bei Diff-Merg-Tools? Und eine Timeline, wie bei GitHub, anhand welcher man sehen kann, wer wann Änderungen vorgeschlagen hat? Ich nehme mal an, so weit ist das Ganze noch nicht fortgeschritten, oder doch?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kennst du schon unseren Newsletter?

Hinweise zum Datenschutz, also dem Einsatz von Double-Opt-In, der Protokollierung der Anmeldung, der Erfolgsmessung, dem Einsatz von MailChimp als Versanddienstleister und deinen Widerrufsrechten findest du in unseren Datenschutzhinweisen.