Festlegen von Werten für das JSON-Datenelement in AEM Forms Workflow setting-value-of-json-data-element-in-aem-forms-workflow

Da ein adaptives Formular im AEM-Workflow an verschiedene Benutzende weitergeleitet wird, müssen bestimmte Felder oder Panels abhängig davon, wer sich das Formular ansieht, ausgeblendet oder deaktiviert werden. Um diesen Anwendungsfällen gerecht zu werden, legen wir normalerweise ein Wert für ein ausgeblendetes Feld fest. Basierend auf dem Wert dieses ausgeblendeten Felds können Geschäftsregeln erstellt werden, um entsprechende Panels oder Felder auszublenden/zu deaktivieren.

Festlegen eines Elementwerts in JSON-Daten

In AEM Forms OSGi müssen wir ein benutzerdefiniertes OSGi-Bundle erstellen, um den Wert des JSON-Datenelements festzulegen. Dieses Bundle wird im Rahmen dieses Tutorials bereitgestellt.

Wir verwenden den Prozessschritt in AEM-Workflow. Wir verknüpfen das OSGi-Bundle „Set Value of Element in Json“ mit diesem Prozessschritt.

Wir müssen zwei Argumente an das Bundle zum Festlegen der Werte übergeben. Das erste Argument ist der Pfad zum Element, dessen Wert festgelegt werden muss. Das zweite Argument ist der Wert, der festgelegt werden muss.

Im obigen Screenshot ist beispielsweise für das initialStep-Element der Wert „N“ festgelegt.

afData.afUnboundData.data.initialStep,N

In unserem Beispiel haben wir einen einfachen Urlaubsantrag vorliegen. Die Person, die dieses Formular aufgerufen hat, gibt ihren Namen und die Urlaubstage ein. Bei der Übermittlung wird dieses Formular zur Überprüfung an die Vorgesetzte oder den Vorgesetzten gesendet. Wenn die oder der Vorgesetzte das Formular öffnet, sind die Felder im ersten Bedienfeld deaktiviert. Dies liegt daran, dass wir für das initialStep-Element in den JSON-Daten den Wert „N“ festgelegt haben.

Basierend auf dem Wert des initialStep-Feldes lassen wir das Bedienfeld für genehmigende Personen anzeigen, über das die oder der Vorgesetzte den Antrag genehmigen oder ablehnen kann.

Sehen Sie sich bitte die Regeln an, die für „InitialSetup“ festgelegt wurden. Basierend auf dem Wert des initialStep-Feldes lassen wir die Benutzerdetails mithilfe des Formulardatenmodells abrufen, die entsprechenden Felder auffüllen und die entsprechenden Panels ausblenden/deaktivieren.

So stellen Sie die Assets auf Ihrem lokalen System bereit:

NOTE
Da wir das adaptive Formular anhand des Benutzerprofils vorab ausfüllen, stellen Sie sicher, dass die Admin-Benutzerprofilinformationen korrekt sind. Sie müssen zumindest sicherstellen, dass die Feldwerte für „FirstName“, „LastName“ und „Email“ festgelegt sind.
Sie können die Debugging-Protokollierung aktivieren, indem Sie den Logger für „com.aemforms.setvalue.core.SetValueInJson“ hier aktivieren.
NOTE
Das OSGi-Bundle zum Festlegen des Werts von Datenelementen in JSON-Daten ermöglicht es, jeweils einen Elementwert festzulegen. Wenn Sie mehrere Elementwerte festlegen möchten, müssen Sie den Prozessschritt mehrmals anwenden.
Stellen Sie sicher, dass der Datendateipfad in den Sendeoptionen des adaptiven Formulars auf „Data.xml“ festgelegt ist. Der Code im Prozessschritt sucht nämlich nach der Datei „Data.xml“ im Payload-Ordner.
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e