Utilisation de LDAP avec le workflow AEM Forms

Affectation d’une tâche de workflow AEM Forms au responsable de l’émetteur.

Lors de l’utilisation d’un formulaire adaptatif dans AEM processus, vous souhaitez affecter de manière dynamique une tâche au gestionnaire de l’auteur du formulaire. Pour réaliser ce cas d’utilisation, nous devrons configurer AEM avec Ldap.

Les étapes nécessaires à la configuration d'AEM avec LDAP sont expliquées dans détail ici.

Pour les besoins de cet article, je joins les fichiers de configuration utilisés pour configurer AEM avec Adobe Ldap. Ces fichiers sont inclus dans le package qui peut être importé à l’aide du gestionnaire de packages.

Dans la capture d’écran ci-dessous, nous récupérons tous les utilisateurs appartenant à un centre de coûts spécifique. Si vous souhaitez récupérer tous les utilisateurs de votre LDAP, vous ne pouvez pas utiliser le filtre supplémentaire.

Configuration du protocole LDAP

Dans la capture d’écran ci-dessous, nous assignons les groupes aux utilisateurs récupérés depuis LDAP dans AEM. Notez le groupe forms-users affecté aux utilisateurs importés. L’utilisateur doit être membre de ce groupe pour interagir avec AEM Forms. Nous stockons également la propriété manager sous le noeud profile/manager dans AEM.

Synchandler

Une fois que vous avez configuré le protocole LDAP et importé des utilisateurs dans AEM, nous pouvons créer un workflow qui assignera la tâche au responsable de l'expéditeur. Pour les besoins de cet article, nous avons développé un simple processus d’approbation en une seule étape.

La première étape du workflow définit la valeur de l’étape initiale sur Non. La règle de fonctionnement du formulaire adaptatif désactive le panneau "Détails de l’émetteur" et affiche le panneau "Approuvé par" en fonction de la valeur de l’étape initiale.

La deuxième étape affecte la tâche au responsable de l’émetteur. Nous obtenons le responsable de l’expéditeur à l’aide du code personnalisé.

Assigner une tâche

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

}

Le fragment de code est chargé de récupérer l’identifiant du responsable et d’affecter la tâche au responsable.

Nous prenons contact avec la personne qui a lancé le workflow. Nous obtenons ensuite la valeur de la propriété manager.

Selon la manière dont la propriété manager est stockée dans votre LDAP, vous devrez peut-être effectuer une manipulation de chaîne pour obtenir l’identifiant du gestionnaire.

Lisez cet article pour implémenter votre propre ParticipantChooser .

Pour le tester sur votre système (pour les employés d’Adobe, vous pouvez utiliser cet exemple prêt à l’emploi)

REMARQUE

Ce code personnalisé d’extraction du nom du gestionnaire a été testé par rapport au LDAP Adobe. Si vous exécutez ce code sur un autre LDAP, vous devrez modifier ou écrire votre propre implémentation getParticipant pour obtenir le nom du responsable.

Sur cette page