ArrayList-Variable in AEM Workflow

Variablen des Typs ArrayList wurden in AEM Forms 6.5 eingeführt. Ein gängiges Anwendungsbeispiel für die Verwendung der Variablen ArrayList besteht darin, benutzerdefinierte Routen zu definieren, die in AssignTask verwendet werden sollen.

Um die Variable ArrayList in einem AEM Workflow zu verwenden, müssen Sie ein adaptives Formular erstellen, das sich wiederholende Elemente in den gesendeten Daten generiert. Eine gängige Praxis besteht darin, ein Schema zu definieren, das ein Array-Element enthält. Für die Zwecke dieses Artikels habe ich ein einfaches JSON-Schema erstellt, das Array-Elemente enthält. Der Anwendungsfall besteht darin, dass ein Mitarbeiter einen Ausgabenbericht ausfüllt. Im Spesenbericht erfassen wir den Vorlagennamen des Absenders und den Vorgesetzten-Namen. Die Namen des Managers werden in einem Array namens "managerchain"gespeichert. Der folgende Screenshot zeigt das Ausgabeberichtsformular und die Daten aus der adaptiven Forms-Übermittlung.

Ausgabenbericht

Im Folgenden finden Sie die Daten aus der Übermittlung des adaptiven Formulars. Das adaptive Formular basierte auf einem JSON-Schema, bei dem die an das Schema gebundenen Daten im Datenelement afBoundData gespeichert werden. Die Verwaltungskette ist ein Array und wir müssen die ArrayList mit dem name -Element des Objekts innerhalb des managerchain-Arrays füllen.

{
    "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"
            }
        }
}

Um die ArrayList-Variable des Untertypstrings zu initialisieren, können Sie entweder die JSON Dot Notation oder den XPath-Zuordnungsmodus verwenden. Der folgende Screenshot zeigt Ihnen, wie Sie eine ArrayList-Variable namens CustomRoutes mit der JSON Dot Notation ausfüllen. Vergewissern Sie sich, dass Sie auf ein Element in einem Array-Objekt verweisen, wie im Screenshot unten dargestellt. Wir füllen die CustomRoutes ArrayList mit den Namen des Managerchain-Array-Objekts.
Die CustomRoutes ArrayList wird dann zum Ausfüllen der Routen in der AssignTask-Komponente verwendet
customroutes
Sobald die Variable CustomRoutes ArrayList mit den Werten aus den gesendeten Daten initialisiert wurde, werden die Routen der Komponente AssignTask mithilfe der Variablen CustomRoutes gefüllt. Der folgende Screenshot zeigt die benutzerdefinierten Routen in einer AssignTask
asingtask

Gehen Sie wie folgt vor, um diesen Workflow auf Ihrem System zu testen:

Auf dieser Seite