Einführung
Ein Workflow besteht aus Phasen und Übergängen zwischen diesen Phasen. Für jeden Beitrag wird die aktuelle Phase in der Datenbank gespeichert und verwendet, um den Workflow sowie die von diesem Workflow verwendeten Übergänge zu identifizieren.
Eine einzelne Website kann über viele Workflows verfügen. Hier wird ein Newsletter-Workflow als Beispiel verwendet, um zu erklären, wie drei Personen mit unterschiedlichen Rollen an der Erstellung eines Newsletter-Beitrags beteiligt sein können. Das Beispiel verwendet die Joomla-Standardbenutzergruppen Autor, Redakteur und Verleger. Dabei gibt es ein Problem: Ein Autor kann nur veröffentlichte Beiträge sehen und kann daher unveröffentlichte Beiträge nicht erneut bearbeiten. Eine Methode, um dieses Problem zu vermeiden, wird in Beispiel 2 behandelt.

Zu beachten ist, dass der Standard-Workflow als Standard festgelegt ist. Dies kann später in diesem Beitrag beschriebene problematische Folgen haben!
Die Benutzer
- Arthur ist ein Benutzer, der der Joomla-Autorengruppe zugewiesen ist. Er kann neue Beiträge erstellen und seine eigenen Beiträge bearbeiten, aber er kann keine Beiträge anderer Benutzer bearbeiten oder den Status von Beiträgen ändern. Er kann also seine eigenen Beiträge nicht veröffentlichen. Seine Aufgabe ist es, neue Beiträge zu entwerfen.
- Eddie ist ein Benutzer, der der Joomla-Redakteursgruppe zugewiesen ist. Er kann Beiträge bearbeiten, die von jedem anderen Benutzer erstellt wurden, einschließlich Arthur und sich selbst. Auch er kann den Status eines Beitrags nicht ändern. Seine Aufgabe ist es, die von Arthur eingereichten Beiträge zu überprüfen, auf Richtigkeit, Rechtschreibung und Grammatik, Bildqualität und Ähnliches zu achten.
- Pru ist eine Benutzerin, die der Joomla-Verlegergruppe zugewiesen ist. Sie kann alles tun, was Eddie und Arthur tun können. Zusätzlich kann sie den Status eines Beitrags ändern. Es ist ihre Aufgabe zu entscheiden, ob ein Beitrag zur Veröffentlichung geeignet ist, und ihn zu veröffentlichen.
Die Phasen
Dieser Workflow umfasst vier Phasen:

- Entwurf ist die Phase, die Arthur für einen neuen Beitrag erstellt.
- Überprüfung ist die Phase, in der Eddie den Inhalt Korrektur liest.
- Genehmigung ist die Phase, in der Pru entscheidet, ob der Beitrag gut genug zur Veröffentlichung ist.
- Veröffentlichung ist die Phase, in der der Beitrag genehmigt und veröffentlicht wurde.
Die Eingabeformulare für die Phasen bedürfen kaum einer Erklärung, lediglich ein Name und eine Beschreibung sind erforderlich.
Die Übergänge
Zwischen jeder Phase sind zwei Übergänge erforderlich: einer, um die Phase zurückzusetzen, falls in der vorherigen Phase weitere Arbeit erforderlich ist; und ein zweiter, um in die nächste Phase überzugehen. Zusätzliche Übergänge werden benötigt, um den Untergang eines Beitrags zu behandeln:

- Entwurf/Überprüfung, um die Phase von Entwurf zu Überprüfung zu verschieben.
- Überprüfung/Entwurf, um die Phase von Überprüfung zurück zu Entwurf zu setzen.
- Überprüfung/Genehmigung, um die Phase von Genehmigung zu Überprüfung zu verschieben.
- Genehmigung/Überprüfung, um die Phase von Genehmigung zurück zu Überprüfung zu setzen.
- Überprüfung/Veröffentlichung, um die Phase auf Veröffentlicht zu setzen und den Beitragsstatus auf Veröffentlicht zu ändern.
- Veröffentlichung um den Beitragsstatus auf Veröffentlicht zu setzen, wenn der Übergang von einem Autor oder Redakteur ausgeführt wird.
- Unveröffentlicht, um den Beitragsstatus auf Unveröffentlicht zu ändern.
- Archivieren, um den Beitragsstatus auf Archiviert zu ändern.
- Papierkorb, um den Beitragsstatus auf Im Papierkorb zu ändern.
Die letzten drei Übergänge ermöglichen es Pru, den Status eines Beitrags zu ändern, wenn er nicht mehr benötigt wird.
Übergang bearbeiten
Das Eingabeformular hat vier Reiter, beginnend mit dem Reiter Übergang:

- Name Am besten die aktuelle und die Zielphase im Namen verwenden.
- Aktuelle Phase Die Phase vor dem Übergang.
- Zielphase Die Phase nach dem Übergang.
- Hinweis Erläuternde Hinweise, um den Übergang zu erklären.
Der Reiter Übergangsaktionen:

- Hervorhebungsstatus Legt fest, welchen Hervorhebungsstatus ein Eintrag nach Ausführung dieses Übergangs haben soll. Auf -Nicht ausgewählt- belassen, falls der Benutzer, der diesen Übergang wahrscheinlich ausführt, nicht die Berechtigung hat, Beiträge hervorzuheben.
- Veröffentlichungsstatus Legt fest, welchen Veröffentlichungsstatus ein Eintrag nach Ausführung dieses Übergangs haben soll. Auf -Nicht ausgewählt- belassen, falls der Benutzer, der diesen Übergang wahrscheinlich ausführt, nicht die Berechtigung hat, den Beitragsstatus zu ändern.
Der Reiter Benachrichtigungen:

- Benachrichtigung senden Auf Ja setzen, wenn Benachrichtigungen nötig sind, zum Beispiel wenn Arthur Eddie benachrichtigen muss, dass ein Beitrag zur Überprüfung bereit ist.
- Zusätzlicher Nachrichtentext Dies ist allgemeiner zusätzlicher Text, der dem Empfänger hilft.
- Benutzergruppen Es kann gewählt werden, die Benachrichtigung an eine oder mehrere Benutzergruppen oder an keine zu senden und stattdessen an Einzelpersonen zu senden.
- Benutzer Einzelne Benutzer aus der Benutzerliste auswählen.
Der Reiter Berechtigungen:
Zu beachten ist, dass bei Autor die Berechtigung Übergang ausführen auf Erlaubt (Vererbt) gesetzt ist. Diese Einstellungen für andere Übergänge, die ein Autor nicht verwenden soll, nicht ändern, da dies auch Redakteure und Verleger betrifft.
Die Beitragskategorie
Jeder Beitrag wird beim ersten Speichern einem Workflow zugewiesen. Wird der Beitrag zuerst einer Kategorie zugeordnet, für die ein Workflow ausgewählt ist, wird er diesem Workflow zugewiesen. Andernfalls wird er dem Standard-Workflow zugewiesen. Das kann problematisch sein, da die Workflow-Komponente keine Möglichkeit bietet, den Workflow nach der Zuweisung zu ändern. Er kann von einem Super Benutzer mithilfe der Stapelverarbeitung auf der Seite der Beitragsliste geändert werden.
Eine Newsletter-Kategorie erstellen
Eine neue Newsletter-Kategorie wird benötigt, um den Newsletter als Kategorie-Blog anzuzeigen und sicherzustellen, dass die Newsletter-Beiträge dem Newsletter-Workflow zugewiesen werden.

Der Newsletter-Menüeintrag
Damit Website-Besucher den Newsletter sehen können, muss er entweder die Startseite sein oder mit einem Menüeintrag verknüpft werden. Um diesem Beispiel zu folgen, einen neuen Menüeintrag vom Typ Kategorie-Blog mit der Kategorie Newsletter erstellen.
Den Menüeintrag der Website testen. Wahrscheinlich erscheint eine leere Seite mit dieser Meldung:
Als Arthur anmelden
Erinnert man sich an Arthur, den Autor? Nach der Anmeldung sollte die Newsletter-Seite eine Schaltfläche mit der Bezeichnung Neuer Beitrag anzeigen. Diese wählen, um einen neuen Beitrag zu verfassen.
Einen Beitrag verfassen
Das Bearbeitungsformular wie bei jedem anderen Beitrag ausfüllen. Vor dem ersten Speichern jedoch zunächst einen Blick auf den Reiter Veröffentlichung werfen.
- Workflow-Phase sollte auf Übergang ausführen Entwurf/Überprüfung gesetzt sein.
- Kategorie sollte auf Newsletter gesetzt sein.
Nach dem Bearbeiten des Beitrags Speichern oder Speichern & Schließen wählen.
Als Eddie anmelden
Eddie, der Redakteur, hat die Berechtigung, unveröffentlichte Beiträge einzusehen, sodass die Newsletter-Seite ihm alle unveröffentlichten Einträge zur Bearbeitung anzeigt.
Den Beitrag überprüfen
Den von Arthur entworfenen Beitrag auswählen und alle erforderlichen Änderungen vornehmen, um ihn zu verbessern. Wenn alles passt, im Reiter Veröffentlichung:
- Workflow-Phase sollte auf Übergang ausführen Überprüfung/Genehmigung gesetzt sein.
Anders als Arthur, der seinen Beitrag nach dem Speichern nicht mehr sehen kann, kann Eddie den Beitrag weiterhin sehen und bearbeiten. Er kann auch den Übergang für die nächste Phase auf Genehmigung/Veröffentlichung setzen. Der Übergang funktioniert, aber der Beitrag wird nicht veröffentlicht, da Eddie nicht über die Berechtigung zum Veröffentlichen verfügt.
Als Pru anmelden
Als die Genehmigungsphase im Workflow erreicht wurde, sollte Pru eine Nachricht erhalten haben, die zum Handeln auffordert. Also als Pru anmelden, um den Beitrag zu überprüfen und seine Workflow-Phase auf Übergang ausführen Veröffentlichung zu setzen. Den Beitrag mit Speichern & Schließen abschließen, um das veröffentlichte Ergebnis zu sehen. Abmelden, um das Ergebnis ohne den Bearbeiten-Link zu sehen.
Nachtrag: Eine weitere Phase wäre nötig, damit Pru die Phase von Veröffentlichung zurück auf Überprüfung setzen kann, falls sie möchte, dass Eddie etwas korrigiert.
Backend-Workflow
Die Benutzergruppen Autor, Redakteur und Verleger sind für die Frontend-Nutzung vorgesehen. Das Problem für Arthur besteht darin, dass er im Frontend nicht auf seine Entwurfsbeiträge zugreifen kann, da seine Benutzergruppe keine Anzeigeberechtigung für unveröffentlichte Beiträge hat.
Der Backend-Zugriff kann für alle Mitglieder dieser Gruppen wie folgt erlaubt werden:
- Zur Seite Globale Konfiguration gehen.
- Den Reiter Berechtigungen auswählen.
- Autor auswählen und Administrator-Anmeldung auf Erlaubt setzen.
- Speichern
- Zur Seite Beiträge: Optionen gehen.
- Deren Reiter Berechtigungen auswählen.
- Autor auswählen und Zugriff auf die Administrationsoberfläche auf Erlaubt setzen.
Dies erlaubt Arthur, Eddie und Pru, sich im Backend anzumelden und auf die Inhalte zuzugreifen. Ein stark reduziertes Start-Dashboard:

Aber Arthur hat Zugriff auf seine Entwurfsbeiträge:

Zu beachten ist, dass Arthur den letzten Eintrag in der Liste nicht bearbeiten kann, da es sich nicht um einen seiner eigenen Beiträge handelt. Der Beitragstitel ist nicht verlinkt. Ebenso kann Arthur keine der vorhandenen Kategorien bearbeiten, da er hierfür nicht die nötigen Berechtigungen hat und auch diese nicht verlinkt sind. Er kann eine neue Kategorie erstellen, aber sie ist unveröffentlicht, und er kann sie nicht veröffentlichen!
Lösung bei falschem Workflow
Wenn ein Beitrag dem falschen Workflow zugewiesen wurde, gibt es zwei Möglichkeiten, das Problem zu beheben.
Super-Benutzer-Methode
- Zur Liste Beiträge wechseln.
- Das Kontrollkästchen für den betroffenen Beitrag aktivieren.
- Die Schaltfläche Aktionen in der Werkzeugleiste wählen.
- Die Schaltfläche Stapelverarbeitung aus der Liste wählen.
- Im Dialog Ausgewählte Beiträge stapelweise verarbeiten Phase ändern auswählen.
- Einen geeigneten Ziel-Workflow und eine Zielphase auswählen.
- Die Schaltfläche Verarbeiten wählen.

Alternative Methode
Alternativ kann eine Datenbanktabelle mit phpMyAdmin oder einem ähnlichen Programm bearbeitet werden.
Benötigte Informationen:
- Die ID des Beitrags aus der letzten Spalte der Beitragsliste.
- Die ID einer Phase im gewünschten Workflow aus der letzten Spalte der Phasenliste des zu verwendenden Workflows.
In phpMyAdmin:
- Die Tabelle #__workflow_associations durchsuchen, um die item_id zu finden, die die ID des Beitrags enthält.
- Den Wert von stage_id auf die im gewünschten Workflow ermittelte Phasen-ID ändern.
Zurück zur Beitragsliste wechseln und prüfen, ob der betroffene Eintrag nun den korrekten Workflow verwendet.