Använda LDAP med AEM Forms Workflow

Tilldela AEM Forms-arbetsflödesuppgift till den som skickar in formuläret.

När du använder Adaptivt formulär i AEM arbetsflöde vill du dynamiskt tilldela en uppgift till formulärskickarens hanterare. För att uppnå detta måste vi konfigurera AEM med Ldap.

De steg som krävs för att konfigurera AEM med LDAP beskrivs i detalj här.

I den här artikeln bifogas konfigurationsfiler som används för att konfigurera AEM med Adobe Ldap. Dessa filer ingår i paketet som kan importeras med hjälp av pakethanteraren.

På skärmbilden nedan hämtar vi alla användare som tillhör ett visst kostnadsställe. Om du vill hämta alla användare i LDAP kanske du inte använder det extra filtret.

LDAP-konfiguration

På skärmbilden nedan tilldelar vi grupperna till de användare som hämtas från LDAP till AEM. Observera den formuläranvändargrupp som har tilldelats de importerade användarna. Användaren måste vara medlem i den här gruppen för interaktion med AEM Forms. Vi lagrar även egenskapen manager under noden profile/manager i AEM.

Synchandler

När du har konfigurerat LDAP och importerat användare till AEM, kan vi skapa ett arbetsflöde som tilldelar uppgiften till uppgiftshanteraren. För den här artikeln har vi utvecklat ett enkelt arbetsflöde för godkännande i ett steg.

I det första steget i arbetsflödet anges värdet för initialsteget till Nej. Affärsregeln i det adaptiva formuläret inaktiverar panelen "Information om avsändare" och visar panelen "Godkänd av" baserat på det initiala värdet.

I det andra steget tilldelas uppgiften till den som skickar in formuläret. Vi får inskickarens chef att använda den anpassade koden.

Tilldela uppgift

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();
.
.

}

Kodfragmentet ansvarar för att hämta hanterar-ID:t och tilldela uppgiften till hanteraren.

Vi får tag i den person som initierade arbetsflödet. Sedan får vi värdet för manager-egenskapen.

Beroende på hur hanteraregenskapen lagras i LDAP kan du behöva göra någon strängändring för att få hanterar-ID:t.

Läs den här artikeln för att implementera din egen ParticipantChooser.

Om du vill testa detta på datorn (för anställda på Adobe kan du använda det här exemplet direkt)

NOTE
Den här anpassade koden för att extrahera hanterarnamnet har testats mot Adobe LDAP. Om du kör den här koden mot en annan LDAP måste du ändra eller skriva en egen getParticipant-implementering för att få fram hanterarens namn.
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e