Formularzentrierte Workflows unter OSGi | Umgang mit Benutzerdaten forms-centric-workflows-on-osgi-handling-user-data
Formularzentrierte AEM-Workflows ermöglichen die Automatisierung von formularzentrierten Geschäftsprozessen in der Praxis. Workflows bestehen aus einer Reihe von Schritten, die in der im zugehörigen Workflow-Modell angegebenen Reihenfolge ausgeführt werden. Jeder Schritt führt eine bestimmte Aktion aus, z. B. das Zuweisen einer Aufgabe zu einer Benutzerin bzw. einem Benutzer oder das Senden einer E-Mail-Nachricht. Workflows können mit Assets im Repository, mit Benutzerkonten und mit Experience Manager-Diensten interagieren. Daher können Workflows komplexe Aktivitäten koordinieren, die einen beliebigen Aspekt von Experience Manager betreffen.
Ein formularzentrierter Workflow kann über eine der folgenden Methoden ausgelöst oder gestartet werden:
- Senden eines Programms aus dem AEM-Posteingang
- Senden eines Programms aus der AEM Forms Mobile App
- Senden eines adaptiven Formulars
- Verwenden eines überwachten Ordners
- Senden einer interaktiven Kommunikation oder eines Briefes
Weitere Informationen über die formularzentrierten AEM-Workflows und -Funktionen finden Sie unter Formularzentrierter Workflow auf OSGi.
Benutzerdaten und Datenspeicher user-data-and-data-stores
Wenn ein Workflow ausgelöst wird, wird automatisch eine Payload für die Workflow-Instanz generiert. Jeder Workflow-Instanz wird eine eindeutige Instanz-ID und eine zugeordnete Payload-ID zugewiesen. Die Payload enthält die Repository-Speicherorte für Benutzer- und Formulardaten, die mit einer Workflow-Instanz verknüpft sind. Darüber hinaus werden Entwürfe und historische Daten für eine Workflow-Instanz auch im AEM-Repository gespeichert.
Die standardmäßigen Repository-Speicherorte, in denen sich Payload, Entwürfe und der Verlauf einer Workflow-Instanz befinden, lauten wie folgt:
Zugreifen auf und Löschen von Benutzerdaten access-and-delete-user-data
Sie können Benutzerdaten aus einer Workflow-Instanz im Repository aufrufen und löschen. Um dies zu erreichen, müssen Sie die Instanz-ID der Workflow-Instanz kennen, die der Benutzerin bzw. dem Benutzer zugeordnet ist. Sie können die Instanz-ID einer Workflow-Instanz mithilfe des Benutzernamens des Benutzers finden, der die Workflow-Instanz initiiert hat oder der der aktuelle Bearbeiter der Workflow-Instanz ist.
Bei der Identifizierung von Workflows, die mit einer Initiatorin oder einem Initiator verbunden sind, können Sie jedoch in den folgenden Szenarien keine Workflows identifizieren oder die Ergebnisse sind möglicherweise nicht eindeutig:
- Workflow, der durch einen überwachten Ordner ausgelöst wird: Eine Workflow-Instanz kann nicht über die Person identifiziert werden, die sie initiiert hat, wenn der Workflow durch einen überwachten Ordner ausgelöst wird. In diesem Fall werden die Benutzerinformationen in den gespeicherten Daten codiert.
- Workflow, der von der AEM-Publishing-Instanz initiiert wurde: Alle Workflow-Instanzen werden mithilfe eines Dienstbenutzers erstellt, wenn adaptive Formulare, interaktive Mitteilungen oder Briefe von der AEM-Publishing-Instanz gesendet werden. In diesen Fällen wird der Benutzername der angemeldeten Person nicht in den Workflow-Instanzdaten erfasst.
Zugreifen auf Benutzerdaten access
Führen Sie die folgenden Schritte aus, um Benutzerdaten für eine Workflow-Instanz zu identifizieren und darauf zuzugreifen:
-
Navigieren Sie in der AEM-Author-Instanz zu
https://'[server]:[port]'/crx/de
und anschließend zu Tools > Abfrage.Wählen Sie SQL2 aus der Dropdown-Liste Typ aus.
-
Führen Sie je nach den verfügbaren Informationen eine der folgenden Abfragen aus:
- Führen Sie Folgendes aus, wenn die Person, die den Workflow initiiert hat, bekannt ist:
SELECT * FROM [cq:Workflow] AS s WHERE ISDESCENDANTNODE([path-to-workflow-instances]) and s.[initiator]='*initiator-ID*'
- Führen Sie Folgendes aus, wenn der Benutzer, dessen Daten Sie finden, der aktuelle Workflow-Bearbeiter ist:
SELECT * FROM [cq:WorkItem] AS s WHERE ISDESCENDANTNODE([path-to-workflow-instances]) and s.[assignee]='*assignee-id*'
Die Abfrage gibt den Speicherort aller Workflow-Instanzen für den angegebenen Workflow-Initiator oder den aktuellen Workflow-Empfänger zurück.
Die folgende Abfrage gibt z. B. den Pfad zweier Workflow-Instanzen vom Knoten
/var/workflow/instances
zurück, deren Workflow-Initiatorsrose
ist. -
Navigieren Sie zu einem Workflow-Instanzpfad, der von der Abfrage zurückgegeben wird. Die Statuseigenschaft zeigt den aktuellen Status der Workflow-Instanz an.
-
Navigieren Sie im Workflow-Instanzknoten zu
data/payload/
. Die Eigenschaftpath
speichert den Pfad zur Nutzlast für die Workflow-Instanz. Sie können zu dem Pfad navigieren, um auf Daten zuzugreifen, die in der Nutzlast gespeichert sind. -
Navigieren Sie zu den Speicherorten für Entwürfe und Verlauf für die Workflow-Instanz.
Zum Beispiel:
/var/fd/dashboard/instances/server0/2018-04-09/_var_workflow_instances_server0_2018-04-09_basicmodel_54/draft/
/var/fd/dashboard/instances/server0/2018-04-09/_var_workflow_instances_server0_2018-04-09_basicmodel_54/history/
-
Wiederholen Sie die Schritte 3 bis 5 für alle Workflow-Instanzen, die von der Abfrage in Schritt 2 zurückgegeben wurden.
note note NOTE Die AEM Forms Mobile App speichert auch im Offline-Modus Daten. Es ist möglich, dass Daten für eine Workflow-Instanz lokal auf einzelnen Geräten gespeichert und an den Forms-Server gesendet werden, wenn die Mobile App mit dem Server synchronisiert wird.
Löschen von Benutzerdaten delete-user-data
Wenn Sie AEM-Admin sind, können Sie Benutzerdaten aus Workflow-Instanzen löschen, indem Sie die folgenden Schritte ausführen:
-
Folgen Sie den Anweisungen in Auf Benutzerdaten zugreifen und beachten Sie Folgendes:
- Pfade zu Workflow-Instanzen, die der Benutzerin bzw. dem Benutzer zugeordnet sind
- Status der Workflow-Instanzen
- Pfade zu Payloads für die Workflow-Instanzen
- Pfade zu Entwürfen und Verlauf für die Workflow-Instanzen
-
Führen Sie diesen Schritt für Workflow-Instanzen mit dem Status RUNNING, SUSPENDED oder STALE aus:
-
Navigieren Sie zu
https://'[server]:[port]'/aem/start.html
und melden Sie sich als Administrator an. -
Navigieren Sie zu Tools > Workflow > Instanzen.
-
Wählen Sie relevante Workflow-Instanzen für die Person aus und wählen Sie dann Beenden aus, um laufende Instanzen zu beenden.
Weitere Informationen zum Arbeiten mit Workflow-Instanzen finden Sie unter Verwalten von Workflow-Instanzen.
-
-
Wechseln Sie zur CRXDE Lite-Konsole, navigieren Sie zum Nutzlastpfad für eine Workflow-Instanz und löschen Sie den Knoten
payload
. -
Navigieren Sie zum Entwurfspfad für eine Workflow-Instanz und löschen Sie den Knoten
draft
. -
Navigieren Sie zu dem Verlaufspfad für eine Workflow-Instanz und löschen Sie den Knoten
history
. -
Navigieren Sie zum Workflow-Instanzpfad für eine Workflow-Instanz und löschen Sie den Knoten
[workflow-instance-ID]
für den Workflow.note note NOTE Durch Löschen des Knotens der Workflow-Instanz wird die Workflow-Instanz für alle Workflow-Teilnehmer entfernt. -
Wiederholen Sie die Schritte 2 bis 6 für alle Workflow-Instanzen, die für eine Benutzerin bzw. einen Benutzer identifiziert wurden.
-
Identifizieren und löschen Sie Offline-Entwurfs- und -Sendedaten aus dem AEM Forms-Mobile-App-Postausgang von Workflow-Teilnehmern, um eine Übermittlung an den Server zu vermeiden.
Sie können APIs auch verwenden, um auf Knoten und Eigenschaften zuzugreifen und sie zu entfernen. Weitere Informationen finden Sie in den folgenden Dokumenten.