In de AEM Forms-werkruimte worden meerdere formuliertypen naadloos ondersteund. Deze omvatten:
In dit document wordt uitgelegd hoe deze renderers werken vanuit het perspectief van semantische aanpassing/hergebruik van componenten, zodat aan de vereisten van de klant wordt voldaan zonder dat een renditie wordt verbroken. Hoewel in de AEM Forms-werkruimte alle gebruikersinterface-/semantische wijzigingen mogelijk zijn, wordt aangeraden de renderinglogica van verschillende formuliertypen niet te wijzigen, anders kunnen de resultaten onvoorspelbaar zijn. Dit document is bedoeld als leidraad/kennis ter ondersteuning van rendering van hetzelfde formulier, waarbij dezelfde werkruimtecomponenten in verschillende portalen worden gebruikt, en niet voor het wijzigen van de renderinglogica zelf.
PDF forms worden gerenderd door PdfTaskForm View
.
Wanneer een XDP-formulier wordt weergegeven als PDF, wordt een FormBridge
JavaScript™ toegevoegd door de FormsAugmenter-service. Met dit JavaScript™ (in het PDF-formulier) kunt u handelingen uitvoeren zoals het verzenden, opslaan of offline maken van formulieren.
In de AEM Forms-werkruimte communiceert de PDFTaskForm-weergave met de FormBridge
javascript, via een tussenliggende HTML die zich op /lc/libs/ws/libs/ws/pdf.html
bevindt. De stroom is:
PDFTaskForm, weergave - pdf.html
Communiceert met window.postMessage
/ window.attachEvent('message')
Dit is de standaardmanier van communicatie tussen een bovenliggend frame en een iframe. De bestaande gebeurtenislisteners van eerder geopende PDF forms worden verwijderd voordat een nieuwe wordt toegevoegd. Bij deze bewerking wordt ook gekeken naar het schakelen tussen het tabblad Formulier en het tabblad Historie in de weergave met taakdetails.
pdf.html - FormBridge
javascript in de gerenderde PDF
Communiceert met pdfObject.postMessage
/ pdfObject.messageHandler
Dit is de standaardmanier voor communicatie met een PDF-javascript vanuit een HTML. In de PDFTaskForm-weergave wordt ook de platte PDF verzorgd en weergegeven.
Het wordt niet aanbevolen de inhoud van de PDFTaskForm-weergave te wijzigen.
Nieuwe HTML-formulieren worden gegenereerd door de NewHTMLTaskForm View.
Als een XDP-formulier wordt weergegeven als HTML met het pakket voor mobiele formulieren dat wordt geïmplementeerd op CRX, wordt ook extra FormBridge
javascript toegevoegd aan het formulier, dat verschillende methoden voor het opslaan en verzenden van formuliergegevens beschikbaar maakt.
Deze javascript is anders dan de JavaScript-code die in de bovenstaande PDF forms wordt genoemd, maar heeft een soortgelijk doel.
Het wordt afgeraden de inhoud van de weergave NewHTMLTaskForm te wijzigen.
Flex Forms wordt gerenderd door SWFTaskForm en de hulplijnen worden gerenderd door respectievelijk HTMLTaskForm Views.
In de AEM Forms-werkruimte communiceren deze weergaven met het SWF-bestand dat de flex-vorm/hulplijn vormt met behulp van een intermediair SWF-bestand dat zich op /lc/libs/ws/libs/ws/WSNextAdapter.swf
bevindt
De communicatie gebeurt met swfObject.postMessage
/ window.flexMessageHandler
.
Dit protocol wordt bepaald door WsNextAdapter.swf
. Het bestaande flexMessageHandlers
object in het venster, van eerder geopende SWF-formulieren, wordt verwijderd voordat een nieuwe wordt toegevoegd. De logica houdt ook rekening met het schakelen tussen formuliertabblad en historietabblad in de weergave met taakdetails. WsNextAdapter.swf
wordt gebruikt voor het uitvoeren van verschillende formulierhandelingen, zoals opslaan of verzenden.
Het wordt niet aanbevolen om WSNextAdapter.swf
of de inhoud van de weergave SwfTaskForm / HTMLTaskForm te wijzigen.
Toepassingen van derden worden gerenderd met de ExtAppTaskForm-weergave.
Communicatie van externe toepassingen naar de AEM Forms-werkruimte
AEM Forms-werkruimte luistert naar window.global.postMessage([Message],[Payload])
[Het ] bericht kan een tekenreeks zijn die is opgegeven als SubmitMessage
| CancelMessage
| ErrorMessage
| actionEnabledMessage
in het runtimeMap
gebied. Toepassingen van derden moeten deze interface gebruiken om AEM Forms-werkruimte naar behoefte op de hoogte te stellen. Het gebruik van deze interface is verplicht, omdat de AEM Forms-werkruimte moet weten dat wanneer de taak wordt verzonden, zodat deze het taakvenster kan opschonen.
AEM Forms-werkruimte voor communicatie met toepassingen van derden
Als de directe actieknoppen van de werkruimte van AEM Forms zichtbaar zijn, wordt window.[External-App-Name].getMessage([Action])
aangeroepen, waarbij [Action]
wordt gelezen van routeActionMap
. De externe toepassing moet luisteren naar deze interface en vervolgens de AEM Forms-werkruimte via de API postMessage ()
op de hoogte stellen.
Een Flex-toepassing kan bijvoorbeeld ExternalInterface.addCallback('getMessage', listener)
definiëren om deze communicatie te ondersteunen. Als de toepassing van derden het verzenden van formulieren via eigen knoppen wil verwerken, moet u hideDirectActions = true() in the runtimeMap
opgeven en kunt u deze listener overslaan. Deze constructie is dus optioneel.
U kunt meer lezen over de integratie van toepassingen van derden met betrekking tot Correspondence Management op Correspondentiebeheer integreren in de AEM Forms-werkruimte.