レンダラーのためのドキュメントの詳細

はじめに

AEM Forms Workspace では、複数のフォームタイプをシームレスにサポートしています。次の機能が含まれます。

  • PDF フォーム(XDP / Acroform / Flat PDF)
  • 新規 HTML フォーム
  • 画像
  • サードパーティアプリケーション(たとえば、Correspondence Management など)

このドキュメントでは、表示を中断することなく顧客の要件を満たすように、セマンティックカスタマイゼーションおよびコンポーネントの再利用の観点からこれらのレンダラーの動作を説明します。AEM Forms Workspace ではユーザーインターフェイスやセマンティックの変更が可能ですが、様々なフォームタイプのレンダリングロジックは変更しないことをお勧めします。そうしないと、予測できない結果が生じる場合があります。 このドキュメントは、別々のポータルで同じワークスペースコンポーネントを使用する、同じフォームのレンダリングをサポートするためのガイド/ナレッジであり、レンダリングロジック自体を変更するためのものではありません。

PDF フォーム

PDF formsは PdfTaskForm View.

XDP フォームが PDF としてレンダリングされると、FormsAugmenter サービスは FormBridge JavaScript™ を追加します。この JavaScript™ (PDF フォーム内)が、フォーム送信、フォーム保存、またはフォームをオフラインにするなどのアクションを実行する手助けをします。

AEM Forms Workspace では、PDFTaskForm ビューは FormBridgejavascript( にある中間HTML経由 ) /lc/libs/ws/libs/ws/pdf.html. フローを以下に示します。

PDFTaskForm 表示 - pdf.html

次を使用する通信 window.postMessage / window.attachEvent('message')

このメソッドは、親フレームと I フレーム間の標準的な通信方法です。以前に開いていた PDF フォームからの既存のイベントリスナーは、新しく追加する前に削除されます。この削除では、タスクの詳細表示でフォームタブと履歴タブを切り替えることも考慮しています。

レンダリングされた PDF 内の pdf.html - FormBridge javascript

次を使用する通信 pdfObject.postMessage / pdfObject.messageHandler

このメソッドは、HTML からの PDF javascript との標準的な通信方法です。PdfTaskForm 表示は、フラット PDF にも対応していて、平面的にレンダリングします。

メモ

pdf.html / PdfTaskForm 表示の内容はを変更しないことをお勧めします。

新規 HTML フォーム

新規 HTML フォームは、NewHTMLTaskForm 表示によってレンダリングされます。

XDP フォームが CRX にデプロイされたモバイルフォームのパッケージを使用して HTML としてレンダリングされた場合は、追加の FormBridge javascript もフォームに追加します。これは、フォームデータを保存して送信するのに異なるメソッドを示します。

この javascript は上記の PDF フォームで言及したものとは異なりますが、同じ用途に使用できます。

メモ

NewHTMLTaskForm ビューのコンテンツを変更することはお勧めしません。

Flex フォームおよびガイド

Flex フォームは SwfTaskForm によってレンダリングされ、ガイドは HtmlTaskForm 表示によってレンダリングされます。

AEM Forms Workspace では、これらの表示は、にある中間SWFを使用して Flex フォーム/ガイドを構成する実際のSWFと通信します。 /lc/libs/ws/libs/ws/WSNextAdapter.swf

通信は swfObject.postMessage / window.flexMessageHandler.

このプロトコルは WsNextAdapter.swf によって定義されています。ウィンドウオブジェクトの既存の flexMessageHandlers は、新しく追加される前に、以前に開いていた SWF フォームから削除されます。このロジックでは、タスクの詳細表示でフォームタブと履歴タブを切り替えることも考慮しています。WsNextAdapter.swf は、保存や送信などの様々なフォームアクションの実行に使用されます。

メモ

WSNextAdapter.swf または SwfTaskForm / HtmlTaskForm 表示の内容を変更することはお勧めしません。

サードパーティアプリケーション(たとえば、Correspondence Management など)

サードパーティアプリケーションは、ExtAppTaskForm 表示を使用してレンダリングされます。

AEM Forms Workspace との通信に対するサードパーティアプリケーション

AEM Forms workspace のリッスン window.global.postMessage([Message],[Payload])

[メッセージ] は、 SubmitMessage| CancelMessage| ErrorMessage| actionEnabledMessageruntimeMap. サードパーティアプリケーションは、必要に応じてAEM Forms Workspace に通知するには、このインターフェイスを使用する必要があります。 AEM Forms Workspace はタスクウィンドウをクリーンアップできるように、タスクの送信時を知っている必要があるので、このインターフェイスの使用は必須です。

AEM Forms workspace とサードパーティアプリケーションとの通信

AEM Forms Workspace の直接アクションボタンが表示されている場合は、を呼び出します。 window.[External-App-Name].getMessage([Action])で、 [Action]routeActionMap. サードパーティアプリケーションは、このインターフェイスをリッスンして、 postMessage () API

例えば、Flexアプリケーションは ExternalInterface.addCallback('getMessage', listener) この通信をサポートするために。 サードパーティアプリケーションが独自のボタンを使用してフォームの送信を処理する場合は、次を指定する必要があります hideDirectActions = true() in the runtimeMap この聞き手をスキップしてもかまいません。 従って、この構築はオプションです。

サードパーティアプリケーションの Correspondence Management との統合の詳細については、「AEM Forms Workspace での Correspondence Management の統合」を参照してください。

このページ