AEM stellt mehrere Tools und Ressourcen zum Erstellen von Workflow-Modellen, Entwickeln von Workflow-Schritten und programmgesteuerten Interagieren mit Workflows bereit.
Mit Workflows können Sie Prozesse zum Verwalten von Ressourcen und Veröffentlichen von Inhalten in der AEM-Umgebung automatisieren. Workflows beinhalten eine Reihe von Schritten, wobei bei jedem Schritt eine diskrete Aufgabe ausgeführt wird. Sie können Logik und Laufzeitdaten verwenden, um zu entscheiden, wann ein Prozess fortgesetzt wird, und den nächsten Schritt unter mehreren möglichen Schritten auswählen.
So beinhalten beispielsweise Geschäftsprozesse zum Erstellen und Veröffentlichen von Webseiten Genehmigungs- und Abzeichnungsaufgaben diverser am Prozess beteiligter Personen. Diese Prozesse können anhand von AEM-Workflows modelliert und auf spezifische Inhalte angewandt werden.
Die Hauptaspekte sind unten beschrieben; die folgenden Seiten enthalten weitere Einzelheiten.
Informationen:
Ein WorkflowModel
steht für eine Definition (bzw. ein Modell) eines Workflows. Es besteht aus WorkflowNodes
und WorkflowTransitions
. Die Übergänge verbinden die Knoten und definieren den Fluss. Das Modell weist immer einen Start- und einen Endknoten auf.
Workflow-Modelle sind versioniert. Wenn Sie eine Workflow-Instanz ausführen, wird für diese das Laufzeitmodell des Workflows (das zum Startzeitpunkt des Workflows verfügbar ist) verwendet (und beibehalten).
Ein Laufzeitmodell wird erzeugt, sobald die Synchronisierung im Workflow-Modell-Editor ausgelöst wird.
Änderungen am Workflow-Modell und/oder an nach dem Starten der spezifischen Instanz erzeugten Laufzeitmodellen werden nicht auf diese Instanz angewandt.
Die auszuführenden Schritte werden vom Laufzeitmodell definiert, das zu dem Zeitpunkt erstellt wird, zu dem die Synchronisierung im Workflow-Modell-Editor ausgelöst wird.
Falls das Workflow-Modell nach diesem Zeitpunkt geändert wird, (ohne dass eine Synchronisierung ausgelöst wird), werden diese Änderungen nicht auf die Laufzeitinstanz angewandt. Die Änderungen werden nur auf nach der Aktualisierung erstellte Laufzeitmodelle angewandt. Ausnahmen sind die zugrunde liegenden ECMA-Skripte, die nur einmal gespeichert werden, sodass Änderungen an diesen übernommen werden.
Bei jedem Schritt wird eine diskrete Aufgabe ausgeführt. Es gibt verschiedene Arten von Workflow-Schritten:
Alle Schritte verwenden gemeinsam folgende Eigenschaften: Autoadvance
und Timeout
-Warnungen (skriptfähig).
Ein WorkflowTransition
steht für den Übergang zwischen zwei WorkflowNodes
in einem WorkflowModel
.
Ein WorkItem
ist die Einheit, die die Workflow
-Instanz eines WorkflowModel
durchläuft. Es enthält WorkflowData
, die von der Instanz ausgeführt werden, und einen Verweis auf den WorkflowNode
, der den zugrunde liegenden Workflow-Schritt beschreibt.
WorkItems
gleichzeitig enthalten (je nach Workflow-Modell).WorkItem
verweist auf die Workflow-Instanz.WorkItem
unterhalb der Workflow-Instanz gespeichert.Verweist auf die Ressource, die über einen Workflow weitergeleitet werden muss.
Die Payload-Implementierung verweist auf eine Ressource im Repository (über einen Pfad, eine UUID oder URL) oder auf ein serialisiertes Java-Objekt. Der Verweis auf eine Ressource im Repository kann flexibel und in Verbindung mit Sling sehr effektiv gehandhabt werden. Beispielsweise kann der Knoten, auf den verwiesen wird, als Formular gerendert werden.
Wird beim Starten eines neuen Workflows (durch Auswählen des jeweiligen Workflow-Modells und Definieren der Payload) erstellt und endet, sobald der Endknoten verarbeitet ist.
Folgende Aktionen können für eine Workflow-Instanz ausgeführt werden:
Abgeschlossene und beendete Instanzen werden archiviert.
Jedes Benutzerkonto hat einen eigenen Workflow-Posteingang, in dem die zugewiesenen WorkItems
verfügbar sind.
Die WorkItems
werden dem Benutzerkonto direkt oder der Gruppe, zu der der Benutzer gehört, zugewiesen.
Es gibt diverse Workflow-Typen, wie aus der Konsole für Workflow-Modelle ersichtlich:
Standard
Dies sind vorkonfigurierte Workflows, die in einer Standard-AEM-Instanz enthalten sind.
Benutzerdefinierte Workflows (kein Indikator in der Konsole)
Hierbei handelt es sich um Workflows, die neu oder aus vorkonfigurierten Workflows erstellt wurden, die mit Anpassungen überlagert wurden.
Veraltet
Mit einer älteren Version von AEM erstellte Workflows. Diese können bei einem Upgrade beibehalten oder als Workflow-Paket aus einer älteren Version exportiert und dann in die neue Version importiert werden.
Standard-Workflows speichern bei der Ausführung Laufzeit- bzw. Verlaufsdaten. Sie können ein Workflow-Modell auch als Übergang definieren, um das persistente Speichern des Verlaufs zu vermeiden. Dies wird bei der Leistungsoptimierung verwendet, um den Zeitaufwand bzw. die Ressourcen zu sparen/vermeiden, die für das persistente Speichern der Daten erforderlich sind.
Übergangs-Workflows können für Workflows verwendet werden, die:
Übergangs-Workflows wurden eingeführt, um eine große Anzahl von Assets zu laden, wobei die Asset-Daten, jedoch nicht der Laufzeitverlauf des Workflows wichtig sind.
Weitere Informationen finden Sie unter Erstellen von Übergangs-Workflows.
Wenn ein Workflow-Modell als „Übergang“ gekennzeichnet ist, gibt es einige Szenarien, bei denen die Laufzeitdaten dennoch persistent gespeichert werden:
In einem Übergangs-Workflow sollten Sie nicht Zum Schritt wechseln verwenden.
Mit Zum Schritt wechseln wird ein Sling-Auftrag erstellt, um den Workflow am Punkt goto
fortzusetzen. Dies widerspricht dem Zweck eines Übergangs-Workflows und erzeugt einen Fehler in der Protokolldatei.
Sie können die ODER-Teilung dazu verwenden, Entscheidungen in einem Übergangs-Workflow festzulegen.
Weitere Informationen, wie sich Übergangs-Workflows auf die Asset-Leistung auswirken, finden Sie unter Best Practices für Assets.
Wenn Sie Unterstützung für mehrere Ressourcen für ein Workflow-Modell aktivieren, wird eine einzelne Workflow-Instanz gestartet, auch wenn Sie mehrere Ressourcen auswählen. Diese werden als Paket angehängt.
Wenn Unterstützung für mehrere Ressourcen nicht für ein Workflow-Modell aktiviert ist und mehrere Ressourcen ausgewählt sind, wird für jede Ressource eine einzelne Workflow-Instanz gestartet.
Weitere Informationen finden Sie unter Workflow-Konfiguration für die Unterstützung für mehrere Ressourcen.
Die Workflow-Phasen sind hilfreich, um den Fortschritt eines Workflows beim Ausführen von Aufgaben anzuzeigen. Der Status kann einen Überblick darüber geben, wie weit ein Workflow verarbeitet wurde. Wenn der Workflow ausgeführt wird, kann der Benutzer den Fortschritt anhand der Status-Beschreibung (anstelle eines einzelnen Schritts) anzeigen.
Da die Namen der einzelnen Schritte spezifisch und technisch sein können, kann der Name der Phase eine Konzeptansicht des Workflow-Fortschritts vermitteln.
Für einen Workflow mit sechs Schritten und vier Phasen kann dies wie folgt aussehen:
Sie können die Workflow-Phase (die den jeweiligen Fortschritt anzeigt) konfigurieren und dann die Phase dem entsprechenden Schritt im Workflow zuweisen:
Schrittname | Phase (dem Schritt zugewiesen) |
---|---|
Schritt 1 | Erstellen |
Schritt 2 | Erstellen |
Schritt 3 | Überprüfung |
Schritt 4 | Genehmigen |
Schritt 5 | Fertig stellen |
Schritt 6 | Fertig stellen |
Wenn der Workflow ausgeführt wird, kann der Benutzer den Fortschritt anhand des Phasenamens (anstelle des Schrittnamens) anzeigen. Der Workflow-Fortschritt wird auf der Registerkarte WORKFLOW-INFORMATIONEN im Fenster mit den Aufgabendetails für das Arbeitselement angezeigt, das im Posteingang aufgelistet ist.
In der Regel werden Workflows dazu benutzt, die Übermittlung von Formularen in AEM zu verarbeiten. Dies kann mit den Formularkomponenten der Kernkomponenten, die in einer Standard-AEM-Instanz verfügbar sind, oder mit der AEM Forms-Lösung erfolgen.
Wenn Sie ein neues Formular erstellen, kann die Übermittlung des Formulars problemlos einem Workflow-Modell zugewiesen werden, um beispielsweise Inhalte an einem bestimmten Ort im Repository zu speichern oder einen Benutzer über die Übermittlung des Formulars und der Inhalte zu benachrichtigen.
Workflows sind auch ein fester Bestandteil des Übersetzungs-Prozesses.