Utilizzo di LDAP con AEM Forms Workflow

Assegnazione dell’attività del flusso di lavoro AEM Forms al responsabile del mittente.

Quando si utilizza Modulo adattivo nel flusso di lavoro AEM, è consigliabile assegnare dinamicamente un’attività al responsabile dell’utente che ha inviato il modulo. Per eseguire questo caso d’uso, dovremo configurare AEM con Ldap.

I passaggi necessari per configurare AEM con LDAP sono descritti in dettaglio qui.

Ai fini del presente articolo, allego i file di configurazione utilizzati per la configurazione di AEM con Adobe Ldap. Questi file sono inclusi nel pacchetto che può essere importato utilizzando il gestore dei pacchetti.

Nella schermata seguente, stiamo recuperando tutti gli utenti appartenenti a un particolare centro di costo. Se desideri recuperare tutti gli utenti nel tuo LDAP non puoi usare il filtro aggiuntivo.

Configurazione LDAP

Nella schermata seguente, assegniamo i gruppi agli utenti recuperati da LDAP a AEM. Tenere presente il gruppo utenti-moduli assegnato agli utenti importati. L’utente deve essere membro di questo gruppo per l’interazione con AEM Forms. Memorizziamo anche la proprietà manager sotto il nodo profilo/gestore in AEM.

Synchandler

Una volta configurato LDAP e importato gli utenti in AEM, possiamo creare un flusso di lavoro che assegnerà l'attività al manager dei sottomettitori. Ai fini di questo articolo, abbiamo sviluppato un semplice flusso di lavoro di approvazione in un solo passaggio.

Il primo passaggio nel flusso di lavoro imposta il valore di initialstep su No. La regola business nel modulo adattivo disabiliterà il pannello "Dettagli mittente" e mostrerà il pannello "Approvato da" in base al valore del passaggio iniziale.

Il secondo passaggio assegna l'attività al responsabile del mittente. Otteniamo il responsabile del mittente utilizzando il codice personalizzato.

Assegna attività

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

}

Lo snippet di codice è responsabile del recupero dell'ID manager e dell'assegnazione dell'attività al manager.

Individuiamo la persona che ha avviato il flusso di lavoro. Poi otteniamo il valore della proprietà manager.

A seconda di come la proprietà manager viene memorizzata nel tuo LDAP, potrebbe essere necessario eseguire una qualche manipolazione di stringa per ottenere l'id manager.

Leggi questo articolo per implementare il tuo ParticipantChooser .

Per eseguire il test sul sistema (ad Adobe, i dipendenti possono utilizzare questo esempio)

NOTA

Questo codice personalizzato per l'estrazione del nome del manager è stato testato su LDAP Adobe. Se esegui questo codice su un LDAP diverso, dovrai modificare o scrivere la tua implementazione getParticipant per ottenere il nome del manager.

In questa pagina