Introduction

Dans l’espace de travail AEM Forms, plusieurs types de formulaires sont pris en charge en toute simplicité. Ils comprennent :

  • Formulaires PDF (XDP / Acroform / PDF aplatis)
  • Nouveaux formulaires HTML
  • Images
  • Applications tierces (par exemple, Correspondence Management)
Ce document explique le fonctionnement de ces rendus du point de vue de la personnalisation sémantique/réutilisation des composants, afin que les exigences du client soient satisfaites sans compromettre le rendu. L’espace de travail AEM Forms autorise tous les changements d’interface utilisateur/sémantiques, mais il est recommandé de ne pas modifier la logique de rendu de différents types de formulaires, car les résultats peuvent être imprévisibles. Ce document fournit des conseils/des connaissances pour prendre en charge le rendu du même formulaire, avec les mêmes composants de Workspace dans différents portails, et non pour modifier la logique de rendu elle-même.

Formulaires PDF

Les formulaires PDF sont rendus par la vue PdfTaskForm.

Lorsqu’un formulaire XDP est rendu au format PDF, un FormBridge JavaScript™ est ajouté par le service FormsAugmenter. Ce JavaScript™ (dans le formulaire PDF) permet d’effectuer des actions telles que l’envoi d’un formulaire, la sauvegarde d’un formulaire ou la mise hors ligne d’un formulaire.

Dans l’espace de travail AEM Forms, la vue PDFTaskForm communique avec le javascript FormBridge par le biais d’un fichier HTML intermédiaire présent dans /lc/libs/ws/libs/ws/pdf.html. Le flux est :

Vue PDFTaskForm - pdf.html

Communique via window.postMessage / window.attachEvent(’message’)

Cette méthode est la méthode standard de communication entre un cadre parent et un iframe. Les écouteurs d’événement existants issus de formulaires PDF précédemment ouverts sont supprimés avant d’en ajouter un nouveau. Cette purge tient également compte du passage de l’onglet Formulaire à l’onglet Historique et vice-versa dans la vue Détails de la tâche.

PDF.html - FormBridge javascript dans le PDF rendu

Communique via pdfObject.postMessage / pdfObject.messageHandler

Cette méthode est la méthode standard de communication avec un javascript PDF d’un HTML. La vue PdfTaskForm prend aussi en charge le PDF aplati et effectue le rendu clair.

Remarque :

Il n’est pas recommandé de modifier le pdf.html/contenu de la vue PdfTaskForm.

Nouveaux formulaires HTML

Les nouveaux formulaires HTML sont rendus par la vue NewHTMLTaskForm.

Lorsqu’un formulaire XDP est rendu en tant que HTML à l’aide du package Mobile Forms déployé sur CRX, il ajoute également un javascript FormBridge supplémentaire au formulaire, qui fournit différentes méthodes pour l’enregistrement et l’envoi des données de formulaire.

Ce javascript est différent de celui des formulaires PDF décris ci-dessus, mais son but est identique.

Remarque :

Il n’est pas recommandé de modifier le contenu de la vue NewHTMLTaskForm.

Guides et formulaires Flex

Les formulaires Flex sont rendus par SwfTaskForm et les guides sont rendus par les vues HtmlTaskForm respectivement.

Dans l’espace de travail AEM Forms, ces vues communiquent avec le SWF réel qui constitue le formulaire/guide flex en utilisant un fichier SWF intermédiaire présent dans /lc/libs/ws/libs/ws/WSNextAdapter.swf

La communication se fait par swfobject.postMessage / window.flexMessageHandler.

Ce protocole est défini par le WsNextAdapter.swf. Les flexMessageHandlers existants sur l’objet de la fenêtre, issus des formulaires SWF précédemment ouverts sont supprimés avant d’en ajouter un nouveau. La logique tient également compte du passage de l’onglet Formulaire à l’onglet Historique et vice-versa dans la vue Détails de la tâche. WsNextAdapter.swf est utilisé pour effectuer diverses actions de formulaire, comme la sauvegarde ou l’envoi.

Remarque :

il n’est pas recommandé de modifier WSNextAdapter.swf ou le contenu de la vue SwfTaskForm / HtmlTaskForm.

Applications tierces (par exemple, Correspondence Management)

Les applications tierces sont rendues à l’aide de la vue ExtAppTaskForm.

Communication entre l’application tierce et l’espace de travail AEM Forms

L’espace de travail AEM Forms écoute sur window.global.postMessage([Message],[Payload])

[Message] peut être une chaîne spécifiée comme SubmitMessage | CancelMessage | ErrorMessage | actionEnabledMessage dans le runtimeMap. Les applications tierces doivent utiliser cette interface pour informer l’espace de travail AEM Forms selon les besoins. L’utilisation de cette interface est obligatoire, car l’espace de travail AEM Forms doit savoir lorsque la tâche est envoyée pour nettoyer la fenêtre de tâche.

Communication entre AEM Forms workspace et l’application tierce

Si des boutons d’action directe d’AEM Forms workspace sont visibles, il appelle la fenêtre.[External-App-Name].getMessage([Action]), où [Action] est lu à partir de routeActionMap. L’application tierce doit écouter sur cette interface, puis informer AEM Forms workspace via l’API postMessage ().

Par exemple, une application Flex peut définir ExternalInterface.addCallback('getMessage', listener) pour prendre en charge cette communication. Si l’application tierce souhaite gérer l’envoi de formulaire via ses propres boutons, vous devez spécifier hideDirectActions = true() dans le runtimeMap et vous pouvez ignorer cet écouteur. Par conséquent, cette syntaxe est facultative.

Pour plus d’informations sur l’interaction d’applications tierces, notamment Correspondence Management, voir Intégration de Correspondence Management dans l’espace de travail AEM Forms.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne