Des variables de type ArrayList ont été introduites dans AEM Forms 6.5. Un cas d’utilisation courant pour l’utilisation de la variable ArrayList consiste à définir des itinéraires personnalisés à utiliser dans AssignTask.
Pour utiliser la variable ArrayList dans un processus AEM, vous devez créer un formulaire adaptatif qui génère des éléments répétés dans les données envoyées. Une pratique courante consiste à définir un schéma contenant un élément de tableau . Pour les besoins de cet article, j’ai créé un schéma JSON simple contenant des éléments de tableau. Le cas d’utilisation est celui d’un employé qui remplit un rapport de dépenses. Dans le rapport de dépenses, nous capturons le nom du responsable de l’émetteur et celui du responsable. Les noms du responsable sont stockés dans un tableau appelé managerchain. La capture d’écran ci-dessous montre le formulaire de rapport de dépenses et les données de l’envoi du Forms adaptatif.
Voici les données provenant de l’envoi du formulaire adaptatif. Le formulaire adaptatif était basé sur le schéma JSON. Les données liées au schéma sont stockées sous l’élément de données de l’élément afBoundData . La chaîne de gestion est un tableau et nous devons remplir la liste ArrayList avec l’élément name de l’objet dans le tableau managerchain.
{
"afData": {
"afUnboundData": {
"data": {
"numericbox_2762582281554154833426": 700
}
},
"afBoundData": {
"data": {
"Employee": {
"Name": "Conrad Simms",
"Department": "IT",
"managerchain": [{
"name": "Gloria Rios"
}, {
"name": "John Jacobs"
}]
},
"expense": [{
"description": "Hotel",
"amount": 300
}, {
"description": "Air Fare",
"amount": 400
}]
}
},
"afSubmissionInfo": {
"computedMetaInfo": {},
"stateOverrides": {},
"signers": {},
"afPath": "/content/dam/formsanddocuments/helpx/travelexpensereport",
"afSubmissionTime": "20190402102953"
}
}
}
Pour initialiser la variable ArrayList de la chaîne de sous-type, vous pouvez utiliser le mode de notation JSON ou de mappage XPath. La capture d’écran suivante vous montre comment renseigner une variable ArrayList appelée CustomRoutes à l’aide de la notation JSON. Veillez à pointer vers un élément d’un objet de tableau comme illustré dans la capture d’écran ci-dessous. Nous renseignons le tableau ArrayList CustomRoutes avec les noms de l’objet de tableau managerchain.
La liste ArrayList CustomRoutes est ensuite utilisée pour renseigner les itinéraires dans le composant AssignTask
Une fois la variable ArrayList CustomRoutes initialisée avec les valeurs des données envoyées, les Routes du composant AssignTask sont alors renseignées à l’aide de la variable CustomRoutes . La capture d’écran ci-dessous vous montre les itinéraires personnalisés dans une tâche AssignTask
Pour tester ce workflow sur votre système, procédez comme suit :