AEM Forms Workspace では、複数のフォームタイプをシームレスにサポートしています。次の機能が含まれます。
このドキュメントでは、表示を中断することなく顧客の要件を満たすように、セマンティックカスタマイゼーションおよびコンポーネントの再利用の観点からこれらのレンダラーの動作を説明します。AEM Forms Workspace ではユーザーインターフェイスやセマンティックの変更が可能ですが、様々なフォームタイプのレンダリングロジックは変更しないことをお勧めします。そうしないと、予測できない結果が生じる場合があります。 このドキュメントは、別々のポータルで同じワークスペースコンポーネントを使用する、同じフォームのレンダリングをサポートするためのガイド/ナレッジであり、レンダリングロジック自体を変更するためのものではありません。
PDF formsは PdfTaskForm View
.
XDP フォームが PDF としてレンダリングされると、FormsAugmenter サービスは FormBridge
JavaScript™ を追加します。この JavaScript™ (PDF フォーム内)が、フォーム送信、フォーム保存、またはフォームをオフラインにするなどのアクションを実行する手助けをします。
AEM Forms Workspace では、PDFTaskForm ビューは FormBridge
javascript( にある中間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 フォームは、NewHTMLTaskForm 表示によってレンダリングされます。
XDP フォームが CRX にデプロイされたモバイルフォームのパッケージを使用して HTML としてレンダリングされた場合は、追加の FormBridge
javascript もフォームに追加します。これは、フォームデータを保存して送信するのに異なるメソッドを示します。
この javascript は上記の PDF フォームで言及したものとは異なりますが、同じ用途に使用できます。
NewHTMLTaskForm ビューのコンテンツを変更することはお勧めしません。
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 表示の内容を変更することはお勧めしません。
サードパーティアプリケーションは、ExtAppTaskForm 表示を使用してレンダリングされます。
AEM Forms Workspace との通信に対するサードパーティアプリケーション
AEM Forms workspace のリッスン window.global.postMessage([Message],[Payload])
[メッセージ] は、 SubmitMessage
| CancelMessage
| ErrorMessage
| actionEnabledMessage
内 runtimeMap
. サードパーティアプリケーションは、必要に応じて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 の統合」を参照してください。