Nellarea di lavoro di AEM Forms, sono supportati più tipi di moduli senza problemi. Comprendono:
In questo documento viene illustrato il funzionamento di questi renderer dal punto di vista della personalizzazione semantica e del riutilizzo dei componenti, in modo da soddisfare le esigenze dei clienti senza interrompere alcuna rappresentazione. Anche se 'area di lavoro di AEM Forms consente qualsiasi interfaccia utente/modifica semantica, si consiglia di non modificare la logica di rendering dei diversi tipi di modulo, altrimenti i risultati potrebbero essere imprevedibili. Questo documento è destinato alle linee guida/conoscenze per supportare il rendering dello stesso modulo, l’utilizzo degli stessi componenti dell’area di lavoro in portali diversi e non la modifica della logica di rendering stessa.
Il rendering dei PDF forms viene eseguito da PdfTaskForm View
.
Quando si esegue il rendering di un modulo XDP come PDF, il servizio FormsAugmenter aggiunge un FormBridge
JavaScript™. Questo JavaScript™ (all'interno del modulo PDF) consente di eseguire azioni quali l'invio, il salvataggio dei moduli o la messa in modalità offline dei moduli.
Nell'area di lavoro AEM Forms, la visualizzazione PDFTaskForm comunica con il codice FormBridge
javascript, tramite un codice HTML intermedio presente in /lc/libs/ws/libs/ws/pdf.html
. Il flusso è:
Visualizzazione PDFTaskForm - pdf.html
Comunica utilizzando window.postMessage
/ window.attachEvent('message')
Questo metodo è il metodo standard di comunicazione tra un fotogramma principale e un iframe. I listener di eventi esistenti provenienti da PDF forms aperti in precedenza vengono rimossi prima di aggiungerne uno nuovo. Questa eliminazione considera anche il passaggio tra la scheda del modulo e la scheda della cronologia nella visualizzazione dei dettagli dell'attività.
pdf.html - FormBridge
javascript nel PDF di cui è stato effettuato il rendering
Comunica utilizzando pdfObject.postMessage
/ pdfObject.messageHandler
Questo metodo è il metodo standard di comunicazione con un javascript PDF da un HTML. La visualizzazione PdfTaskForm si occupa anche di PDF semplice e lo riproduce in modo semplice.
Non è consigliabile modificare il contenuto pdf.html / della visualizzazione PdfTaskForm.
Il rendering dei nuovi moduli HTML viene eseguito dalla visualizzazione NewHTMLTaskForm.
Quando si esegue il rendering in HTML di un modulo XDP utilizzando il pacchetto di moduli mobili distribuito in CRX, viene aggiunto al modulo anche un codice JavaScript aggiuntivo FormBridge
, che espone metodi diversi per il salvataggio e l'invio dei dati del modulo.
Questo javascript è diverso da quello indicato nei PDF forms precedenti, ma ha uno scopo simile.
Non è consigliabile modificare il contenuto della visualizzazione NewHTMLTaskForm.
Il rendering di Flex Forms viene eseguito da SwfTaskForm e il rendering delle guide viene eseguito rispettivamente da HtmlTaskForm Views.
Nell'area di lavoro AEM Forms, queste viste comunicano con il file SWF effettivo che costituisce la forma/guida flessibile utilizzando un file SWF intermedio presente in /lc/libs/ws/libs/ws/WSNextAdapter.swf
La comunicazione avviene utilizzando swfObject.postMessage
/ window.flexMessageHandler
.
Questo protocollo è definito dalla WsNextAdapter.swf
. L'oggetto flexMessageHandlers
presente nella finestra, dai moduli SWF aperti in precedenza, viene rimosso prima di aggiungerne uno nuovo. La logica considera anche il passaggio tra la scheda del modulo e la scheda della cronologia nella visualizzazione dei dettagli dell'attività. WsNextAdapter.swf
viene utilizzato per eseguire varie azioni modulo, ad esempio salvare o inviare.
Non è consigliabile modificare WSNextAdapter.swf
o il contenuto della visualizzazione SwfTaskForm / HtmlTaskForm.
Il rendering delle applicazioni di terze parti viene eseguito utilizzando la visualizzazione ExtAppTaskForm.
Applicazione di terze parti per comunicazione area di lavoro AEM Forms
'area di lavoro di AEM Forms ascolta window.global.postMessage([Message],[Payload])
[Messagecan ] può essere una stringa specificata come SubmitMessage
| CancelMessage
| ErrorMessage
| actionEnabledMessage
nel runtimeMap
. Le applicazioni di terze parti devono utilizzare questa interfaccia per notificare 'area di lavoro di AEM Forms in base alle esigenze. L'utilizzo di questa interfaccia è obbligatorio, perché l'area di lavoro di AEM Forms deve sapere che quando l'attività viene inviata in modo da poter ripulire la finestra dell'attività.
area di lavoro AEM Forms alla comunicazione con applicazioni di terze parti
Se i pulsanti di azione diretta dell'area di lavoro AEM Forms sono visibili, chiama window.[External-App-Name].getMessage([Action])
, dove [Action]
viene letto dal routeActionMap
. L'applicazione di terze parti deve essere in ascolto su questa interfaccia, quindi inviare una notifica 'area di lavoro AEM Forms tramite l'API postMessage ()
.
Ad esempio, un’applicazione Flex può definire ExternalInterface.addCallback('getMessage', listener)
per supportare questa comunicazione. Se l’applicazione di terze parti desidera gestire l’invio del modulo tramite i propri pulsanti, è necessario specificare hideDirectActions = true() in the runtimeMap
e ignorare questo listener. Quindi, questo costrutto è facoltativo.
Per saperne di più sull'integrazione di applicazioni di terze parti con la gestione della corrispondenza, consultate Integrazione della gestione della corrispondenza nell'area di lavoro AEM Forms.