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.
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.
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.
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)
- Hämta och distribuera setvalue-paketet. Det här är det anpassade OSGI-paketet för att ställa in chefens egendom.
- Hämta och installera DevelopingWithServiceUserBundle
- Importera den Assets som är associerad med den här artikeln till AEM med pakethanteraren.Som ingår i det här paketet är LDAP-konfigurationsfiler, arbetsflöde och ett anpassat formulär.
- Konfigurera AEM med LDAP med lämpliga LDAP-autentiseringsuppgifter.
- Logga in på AEM med dina LDAP-autentiseringsuppgifter.
- Öppna timeoffrequestForm
- Fyll i formuläret och skicka.
- Den som skickar in formuläret bör hämta det för granskning.