Verwenden von LDAP mit AEM Forms Workflow

Zuweisen der AEM Forms-Workflow-Aufgabe zum Manager des Absenders.

Bei Verwendung des adaptiven Formulars in AEM Workflow möchten Sie dem Manager des Formularübermittlers eine Aufgabe dynamisch zuweisen. Um dieses Anwendungsbeispiel zu erstellen, müssen wir AEM mit Ldap konfigurieren.

Die Schritte, die zum Konfigurieren von AEM mit LDAP erforderlich sind, werden hier unter Details erläutert.

Für die Zwecke dieses Artikels füge ich Konfigurationsdateien an, die beim Konfigurieren von AEM mit Adobe LDAP verwendet werden. Diese Dateien sind im Package enthalten, das mit dem Package Manager importiert werden kann.

Im folgenden Screenshot rufen wir alle Benutzer ab, die zu einem bestimmten Kostenzentrum gehören. Wenn Sie alle Benutzer in Ihrem LDAP abrufen möchten, können Sie den zusätzlichen Filter nicht verwenden.

LDAP-Konfiguration

Im folgenden Screenshot weisen wir die Gruppen den Benutzern zu, die von LDAP in AEM abgerufen wurden. Beachten Sie, dass den importierten Benutzern die Gruppe forms-users zugewiesen ist. Der Benutzer muss Mitglied dieser Gruppe sein, um mit AEM Forms interagieren zu können. Außerdem speichern wir die Eigenschaft manager unter dem Knoten profile/manager in AEM.

Synchandler

Nachdem Sie LDAP konfiguriert und Benutzer in AEM importiert haben, können wir einen Workflow erstellen, der die Aufgabe dem Verantwortlichen des Absenders zuordnet. Für die Zwecke dieses Artikels haben wir einen einfachen einstufigen Genehmigungs-Workflow entwickelt.

Im ersten Schritt des Workflows setzen Sie den Wert von initialstep auf Nein. Die Geschäftsregel im adaptiven Formular deaktiviert das Bedienfeld "Details des Absenders"und zeigt das Bedienfeld "Genehmigt von"basierend auf dem Wert des ersten Schritts an.

Im zweiten Schritt wird die Aufgabe dem Manager des Absenders zugewiesen. Der Manager des Absenders wird mithilfe des benutzerdefinierten Codes abgerufen.

Assign Task

public String getParticipant(WorkItem workItem, WorkflowSession wfSession, MetaDataMap arg2) throws WorkflowException{
resourceResolver = wfSession.adaptTo(ResourceResolver.class);
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
Authorizable workflowInitiator = userManager.getAuthorizable(workItem.getWorkflow().getInitiator());
.
.
String managerPorperty = workflowInitiator.getProperty("profile/manager")[0].getString();
.
.

}

Der Codeausschnitt ist dafür verantwortlich, die Manager-ID abzurufen und die Aufgabe dem Manager zuzuweisen.

Wir erfassen die Person, die den Workflow initiiert hat. Dann erhalten wir den Wert der Eigenschaft manager .

Abhängig davon, wie die Eigenschaft manager in Ihrem LDAP gespeichert ist, müssen Sie möglicherweise einige Zeichenfolgenmanipulationen durchführen, um die Manager-ID abzurufen.

Lesen Sie diesen Artikel, um Ihre eigene ParticipantChooser zu implementieren.

Um dies auf Ihrem System zu testen (für Mitarbeiter von Adoben können Sie dieses Beispiel standardmäßig verwenden)

HINWEIS

Dieser benutzerdefinierte Code zum Extrahieren des Managernamens wurde mit Adobe LDAP getestet. Wenn Sie diesen Code für ein anderes LDAP ausführen, müssen Sie Ihre eigene getParticipant -Implementierung ändern oder schreiben, um den Namen des Managers zu erhalten.

Auf dieser Seite