Poiché un modulo adattivo viene indirizzato a diversi utenti in AEM flusso di lavoro, è necessario nascondere o disattivare alcuni campi o pannelli in base alla persona che sta esaminando il modulo. Per soddisfare questi casi d’uso, in genere viene impostato un valore di un campo nascosto. In base al valore delle regole business di questo campo nascosto può essere creato per nascondere/disabilitare pannelli o campi appropriati.
In AEM Forms OSGi - dobbiamo creare un bundle OSGi personalizzato per impostare il valore dell'elemento dati JSON. Il bundle viene fornito come parte di questa esercitazione.
Usiamo Process Step nel flusso di lavoro AEM. Associamo il bundle OSGi "Set Value of Element in Json" a questo passaggio del processo.
Dobbiamo passare due argomenti al bundle di valori impostato. Il primo argomento è il percorso dell’elemento il cui valore deve essere impostato. Il secondo argomento è il valore da impostare.
Ad esempio, nella schermata precedente, stiamo impostando il valore dell’elemento inialStep su "N"
afData.afUnboundData.data.initialStep,N
Nel nostro esempio, abbiamo un semplice Modulo di richiesta Time Off. L’iniziatore del modulo compila il nome e l’ora del modulo. Al momento dell'invio, questo modulo va al "responsabile" per la revisione. Quando il gestore apre il modulo, i campi del primo pannello vengono disabilitati. Questo perché abbiamo impostato il valore dell’elemento del passaggio iniziale nei dati JSON su N.
In base al valore dei campi del passaggio iniziale, viene visualizzato il pannello approvatore in cui il "responsabile" può approvare o rifiutare la richiesta.
Dai un'occhiata alle regole impostate su "Passaggio iniziale". In base al valore del campo initialStep , recuperiamo i dettagli utente utilizzando Form Data Model e compiliamo i campi appropriati, quindi nascondiamo/disattiviamo i pannelli appropriati.
Per distribuire le risorse sul sistema locale:
Scarica e distribuisci il bundle setvalue. Questo è il bundle OSGI personalizzato che ti consente di impostare i valori di un elemento nei dati json inviati.
Scaricare ed estrarre il contenuto del file zip
Posiziona il browser su Forms e documenti
Fai clic su Crea | Caricamento file
Carica il file TimeOffRequestForm.zip
Questo modulo è stato creato con AEM Forms 6.4. Assicurati di essere su AEM Forms 6.4 o versione successiva
Apri modulo
Compila le date di inizio e di fine e invia il modulo.
Vai a "Inbox"
Aprire il modulo associato all'attività.
I campi nel primo pannello sono disabilitati.
Il pannello per approvare o rifiutare la richiesta è ora visibile.
Poiché il modulo adattivo viene precompilato utilizzando il profilo utente, assicurati che l’amministratore informazioni sul profilo utente . Assicurati almeno di aver impostato i valori dei campi Nome, Cognome e Email .
Puoi abilitare la registrazione di debug abilitando il logger per com.aemforms.setvalue.core.SetValueInJson da qui
Il bundle OSGi per l'impostazione del valore degli elementi dati in JSON Data attualmente supporta la possibilità di impostare un valore di elemento alla volta. Se desideri impostare più valori di elemento, dovrai utilizzare più volte il passaggio del processo.
Assicurati che il percorso del file dati nelle opzioni di invio del modulo adattivo sia impostato su "Data.xml". Questo perché il codice nel passaggio del processo cerca un file denominato Data.xml sotto la cartella payload.