フォームデータモデルの使用 use-form-data-model
AEM Formsのデータ統合機能を使用すると、異なるバックエンドデータソースを使用して、様々なアダプティブフォームやインタラクティブ通信ワークフローでスキーマとして使用できるフォームデータモデルを作成できます。 データソースの設定と、データソースで使用可能なデータモデルオブジェクトとサービスに基づくフォームデータモデルの作成が必要です。 詳しくは、以下のトピックを参照してください。
JSON スキーマの拡張機能であるフォームデータモデルを使用して、以下の処理を行うことができます。
アダプティブフォームとアダプティブフォームフラグメントを作成する create-af
次の項目を作成できます。 アダプティブフォーム および アダプティブフォームフラグメント フォームデータモデルに基づく。 アダプティブフォームまたはアダプティブフォームフラグメントを作成する際にフォームデータモデルを使用するには、以下の手順を実行します。
-
プロパティを追加画面の「フォームモデル」タブで、 次から選択 ドロップダウンリストから「フォームデータモデル」を選択します。
-
「フォームデータモデルを選択」をタップして展開します。使用可能なすべてのフォームデータモデルが表示されます。
データモデルからを選択します。
-
(アダプティブフォームフラグメントのみ) フォームデータモデル内の 1 つのデータモデルオブジェクトのみに基づいて、アダプティブフォームフラグメントを作成することができます。 フォームデータモデル定義 ドロップダウンを展開します。指定したフォームデータモデル内のすべてのデータモデルオブジェクトが一覧表示されます。 リストからデータモデルオブジェクトを選択します。
フォームデータモデルに基づいてアダプティブフォームまたはアダプティブフォームフラグメントを作成すると、アダプティブフォームエディターのコンテンツブラウザーの「データモデルオブジェクト」タブにフォームデータモデルオブジェクトが表示されます。
データモデルオブジェクトをアダプティブフォームまたはアダプティブフォームフラグメントにドラッグアンドドロップすると、フォームフィールドを追加することができます。追加されたフォームフィールドには、メタデータのプロパティが保持され、データモデルオブジェクトのプロパティとの連結が保持されます。 連結により、フォームの送信時に対応するデータソースのフィールド値が更新され、フォームのレンダリング時に事前入力されます。
インタラクティブ通信の作成 create-ic
フォームデータモデルに基づいてインタラクティブ通信を作成し、設定済みのデータソースのデータをインタラクティブ通信に事前入力することができます。 また、テキスト、リスト、条件のドキュメントフラグメントなどのインタラクティブ通信の構築ブロックは、フォームデータモデルに基づいて作成できます。
インタラクティブ通信またはドキュメントフラグメントを作成する際に、フォームデータモデルを選択できます。 次の図は、[ インタラクティブ通信を作成 ] ダイアログの [ 全般 ] タブを示しています。
インタラクティブ通信を作成ダイアログの「一般」タブ
詳しくは、次を参照してください。
サンプルデータを使用したプレビュー preview-ic
フォームデータモデルエディターを使用すると、フォームデータモデル内のデータモデルオブジェクトのサンプルデータを生成し、編集することができます。 このデータを使用して、インタラクティブ通信とアダプティブフォームをプレビューし、テストすることができます。 プレビュー表示を行う前に、「フォームデータモデルの操作」の説明に従って、サンプルデータを生成する必要があります。
サンプルのフォームデータモデルデータを使用してインタラクティブ通信をプレビューするには:
- AEM オーサーインスタンスで、フォーム/フォームとドキュメント に移動します。
- インタラクティブ通信を選択してツールバーで「プレビュー」をタップし、「Web チャネル」、「印刷チャネル」、または「両方のチャネル」を選択します。これにより、選択したインタラクティブ通信のプレビューが表示されます。
- プレビューの[チャネル]ダイアログで、「フォームデータモデルのデータのテスト」が選択されていることを確認して「プレビュー」をタップします。
サンプルデータが取り込まれた状態のインタラクティブ通信が表示されます。
同様に、サンプルデータが取り込まれた状態のアダプティブフォームをプレビュー表示するには、作成者モードでアダプティブフォームを開いて「プレビュー」をタップします。
フォームデータモデルサービスを使用した事前入力 prefill
AEM Formsには、すぐに使用できるフォームデータモデル事前入力サービスが用意されています。このサービスを使用して、フォームデータモデルに基づいたアダプティブフォームとインタラクティブ通信を有効にすることができます。 事前入力サービスは、アダプティブフォームおよびインタラクティブ通信内のデータモデルオブジェクトに対してデータソースに対してクエリを実行し、その結果、フォームまたは通信のレンダリング中にデータを事前入力します。
アダプティブフォームのフォームデータモデル事前入力サービスを有効にするには、アダプティブフォームコンテナのプロパティを開き、「 フォームデータモデルの事前入力サービス から 事前入力サービス 「基本」アコーディオンのドロップダウン。 次に、各プロパティを保存します。
インタラクティブ通信でフォームデータモデル事前入力サービスを設定するには、インタラクティブ通信の作成時に「事前入力サービス」ドロップダウンで「フォームデータモデル事前入力サービス」を選択します。後でプロパティを編集することもできます。
インタラクティブ通信のプロパティを編集ダイアログ
送信後のアダプティブフォームデータをデータソースに書き込む write-af
ユーザーがフォームデータモデルに基づいてフォームを送信するとき、データモデルオブジェクトの送信データがそのデータソースに書き込まれるようにフォームを設定することができます。この使用例を実現するために、AEM Formsでは、 フォームデータモデルの送信アクション:フォームデータモデルに基づくアダプティブフォームでのみ、そのまま使用できます。 これにより、データモデルオブジェクトに送信されたデータが、そのデータソースに書き込まれます。
フォームデータモデル送信アクションを設定するには、アダプティブフォームコンテナのプロパティを開き、送信アコーディオンの「送信アクション」ドロップダウンで「フォームデータモデルを使用して送信」を選択します。次に、 送信するデータモデルオブジェクトの名前 ドロップダウンで、目的のデータモデルオブジェクトを探して選択します。各プロパティを保存します。
フォームの送信時に、設定済みのデータモデルオブジェクトのデータが各データソースに書き込まれます。
バイナリデータモデルオブジェクトのプロパティを使用して、フォームの添付ファイルをデータソースに送信することもできます。 添付ファイルを JDBC データソースに送信するには、次の手順を実行します。
-
バイナリプロパティを含むデータモデルオブジェクトをフォームデータモデルに追加します。
-
アダプティブフォームで、「添付ファイル」コンポーネントをコンポーネントブラウザーからアダプティブフォームにドラッグ&ドロップします。
-
追加されたコンポーネントをタップして選択し、次に をタップして、そのコンポーネントのプロパティブラウザーを開きます。
-
「バインド参照」フィールドで をタップし、フォームデータモデルに追加したバイナリプロパティに移動してそのプロパティを選択します。必要に応じて、他のプロパティを設定します。
をタップしてプロパティを保存します。これで、添付フィールドがフォームデータモデルのバイナリプロパティにバインドされました。
-
アダプティブフォームコンテナプロパティの「送信」セクションで、 フォーム添付ファイルを送信. バイナリプロパティフィールド内の添付ファイルが、フォーム送信時にデータソースに送信されます。
ルールを使用してアダプティブフォーム内のサービスを呼び出す invoke-services
フォームデータモデルに基づくアダプティブフォームの場合、ルールを作成して、フォームデータモデル内で設定されているサービスを呼び出すことができます。ルール内の「サービスの呼び出し」操作を実行すると、フォームデータモデル内のすべての有効なサービスが一覧表示され、サービスの入力フィールドと出力フィールドを選択することができます。また、 値を設定 ルールタイプ:フォームデータモデルサービスを呼び出し、サービスから返される出力にフィールドの値を設定します。
例えば以下のルールの場合、従業員 ID を入力として使用する Get サービスが呼び出され、このサービスから返された値が、フォーム内の対応する扶養家族 ID フィールド、姓フィールド、名フィールド、性別フィールドに設定されます。
また、guidelib.dataIntegrationUtils.executeOperation
API を使用して、ルールエディターのコードエディターで JavaScript を記述することもできます。API について詳しくは、「フォームデータモデルサービスを呼び出すための API」を参照してください。