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

概要

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

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

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

PDF フォーム

PDF formsはPdfTaskForm Viewによってレンダリングされます。

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

AEM Formsのワークスペースでは、PDFTaskForm表示は/lc/libs/ws/libs/ws/pdf.htmlにある仲介者のHTMLを介してFormBridgejavascriptと通信します。 フローを以下に示します。

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のワークスペースでは、これらの表示は実際のSWFと通信します。これにより、/lc/libs/ws/libs/ws/WSNextAdapter.swfにある中間のSWFを使用してFlexフォーム/ガイドを構成します

通信はswfObject.postMessage / window.flexMessageHandlerを使用して行われます。

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

メモ

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

サードパーティアプリケーション(Correspondence Managementなど)

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

AEM Forms・ワークスペース通信へのサード・パーティ・アプリケーション

AEM Formsワークスペースはwindow.global.postMessage([Message],[Payload])をリッスンします

[] Messagecは次のように指定された文字列にすることができます。 SubmitMessage| CancelMessage| ErrorMessage| actionEnabledMessageが含まれ runtimeMapます。サードパーティアプリケーションは、必要に応じてAEM FormsWorkspaceに通知するには、このインターフェイスを使用する必要があります。 このインターフェイスの使用は必須です。これは、AEM Formsワークスペースがタスクーウィンドウをクリーンアップするためにタスクが送信されたことを知る必要があるからです。

AEM Formsワークスペースからサードパーティアプリケーションへの通信

AEM Formsワークスペースの直接アクションボタンが表示されている場合は、window.[External-App-Name].getMessage([Action])を呼び出します。[Action]routeActionMapから読み取られます。 サードパーティアプリケーションは、このインターフェイスをリッスンし、postMessage () APIを介してAEM Formsのワークスペースに通知する必要があります。

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

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

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now