Variable ArrayList dans le flux de travail AEM

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 flux de travail AEM, vous devez créer un formulaire adaptatif qui génère des éléments répétitifs dans les données envoyées. Une pratique courante consiste à définir un schéma qui contient un élément de tableau. Aux fins de cet article, j'ai créé un schéma JSON simple contenant des éléments de tableau. Le cas d'utilisation consiste à ce qu'un employé remplisse un état des dépenses. Dans l'état des dépenses, nous capturons le nom du responsable de l'expéditeur et celui du responsable. Les noms du gestionnaire 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 de Forms adaptatif.

rapport de dépenses

Voici les données issues 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 renseigner 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 mappage JSON Dot Notation ou XPath. La capture d'écran suivante vous montre comment renseigner une variable ArrayList appelée CustomRoutes à l'aide de la notation de point JSON. Assurez-vous de pointer vers un élément d'un objet de tableau comme le montre la capture d'écran ci-dessous. Nous renseignons le tableau CustomRoutes ArrayList avec les noms de l'objet de tableau managerchain.
La liste de tableaux CustomRoutes est ensuite utilisée pour renseigner les itinéraires dans le composant AssignTask
customroutes
Une fois que la variable CustomRoutes ArrayList est initialisée avec les valeurs des données envoyées, les Routes du composant AssignTask sont ensuite 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
asingtask

Pour tester ce processus sur votre système, suivez les étapes ci-après.

  • Téléchargez et enregistrez le fichier ArrayListVariable.zip dans votre système de fichiers.
  • Importer le fichier zip à l’aide de l’AEM Package Manager
  • Ouvrez le formulaire TravelExpenseReport.
  • Entrez deux ou trois dépenses et les deux noms du directeur
  • Cliquez sur le bouton Envoyer.
  • Ouvrez votre boîte de réception
  • Vous devriez voir une nouvelle tâche intitulée "Affecter à l'administrateur des dépenses".
  • Ouvrez le formulaire associé à la tâche.
  • Vous devriez voir deux itinéraires personnalisés avec les noms du responsable
    Explorez le processus ReviewExpenseReportWorkflow. Ce processus utilise la variable ArrayList, la variable de type JSON, l’éditeur de règles dans le composant OrSplit.

Sur cette page