フォームデータモデルの使用

AEM Forms のデータ統合機能により、各種のバックエンドデータソースを使用してフォームデータモデルを作成することができます。作成したデータフォームは、様々なアダプティブフォームとインタラクティブ通信のワークフローで、スキーマとして使用することができます。そのためには、データソースの設定を行い、そのデータソース内の有効なデータモデルオブジェクトとデータモデルサービスに基づいて、フォームデータモデルを作成する必要があります。詳しくは、次のトピックを参照してください。

JSON スキーマの拡張機能であるフォームデータモデルを使用して、以下の処理を行うことができます。

アダプティブフォームとアダプティブフォームフラグメントを作成する

フォームデータモデルに基づいて、アダプティブフォームアダプティブフォームフラグメントを作成することができます。フォームデータモデルを使用してアダプティブフォームまたはアダプティブフォームフラグメントを作成するには、以下の手順を実行します。

  1. プロパティを追加画面の「フォームモデル」タブで、「次から選択」ドロップダウンリストから「フォームデータモデル」を選択します。

    create-af-1-1

  2. フォームデータモデルを選択」をタップして展開します。すべての有効なフォームデータモデルが一覧表示されます。

    任意のフォームデータモデルを選択します。

    create-af-2-1

  3. アダプティブフォームフラグメントのみ)フォームデータモデル内の 1 つのデータモデルオブジェクトだけに基づいて、アダプティブフォームフラグメントを作成することができます。「フォームデータモデル定義」ドロップダウンを展開します。指定したフォームデータモデル内のすべてのデータモデルオブジェクトがリスト表示されます。リストから、任意のデータモデルオブジェクトを選択します。

    create-af-3

フォームデータモデルに基づいてアダプティブフォームまたはアダプティブフォームフラグメントを作成すると、アダプティブフォームエディターのコンテンツブラウザーの「データモデルオブジェクト」タブにフォームデータモデルオブジェクトが表示されます。

メモ

アダプティブフォームフラグメントの場合、オーサリング時に選択されたデータモデルオブジェクトと、関連するデータモデルオブジェクトのみが「データモデルオブジェクト」タブに表示されます。

data-model-objects-tab

データモデルオブジェクトをアダプティブフォームまたはアダプティブフォームフラグメントにドラッグアンドドロップすると、フォームフィールドを追加することができます。追加されたフォームフィールドには、メタデータのプロパティが保存されます。また、データモデルオブジェクトプロパティとのバインドに関する情報も保存されます。このバインド情報により、フォームの送信時に、対応するデータソース内のフィールド値が更新され、フォームのレンダリング時に、対応するデータソース内のフィールドに値が取り込まれます。

インタラクティブ通信の作成

フォームデータモデルに基づいて、インタラクティブ通信を作成することができます。フォームデータモデルを使用して、設定済みデータソースのデータをインタラクティブ通信に事前に取り込むことができます。また、フォームデータモデルに基づいて、インタラクティブ通信の構築ブロック(テキスト、リストおよび条件のドキュメントフラグメントなど)を作成することができます。

インタラクティブ通信またはドキュメントフラグメントの作成時に、フォームデータモデルを選択することができます。以下の図は、インタラクティブ通信作成ダイアログの「一般」タブを示しています。

創造的な

インタラクティブ通信作成ダイアログの「一般」タブ

詳しくは、次を参照してください。

インタラクティブ通信の作成

インタラクティブ通信内のテキスト

インタラクティブ通信内の条件

リストフラグメント

サンプルデータを使用したプレビュー表示

フォームデータモデルエディターでは、フォームデータモデル内のデータモデルオブジェクト用のサンプルデータを生成して編集することができます。このサンプルデータを使用して、インタラクティブ通信とアダプティブフォームのプレビュー表示とテストを実行することができます。プレビュー表示を行う前に、「フォームデータモデルの操作」の説明に従い、サンプルデータを生成する必要があります。

フォームデータモデルのサンプルデータを使用してインタラクティブ通信のプレビューを表示するには、以下の手順を実行します。

  1. AEMオーサーインスタンスで、Forms>Forms&ドキュメント​に移動します。
  2. 任意のインタラクティブ通信を選択し、ツールバーで「プレビュー」をタップして、「Web チャネル」、「印刷チャネル」、または「両方のチャネル」を選択します。これにより、選択したインタラクティブ通信のプレビューが表示されます。
  3. 「プレビュー​[チャネル]」ダイアログで、「フォームデータモデル​のテストデータ」が選択されていることを確認し、「プレビュー」をタップします。

サンプルデータが取り込まれた状態のインタラクティブ通信が表示されます。

ウェブプレビュー

同様に、アダプティブフォームにサンプルデータをプレビューするには、アダプティブフォームを作成者モードで開き、プレビュー​をタップします。

フォームデータモデルサービスを使用して事前にデータを取り込む

AEM Forms には、すぐに使用できるフォームデータモデル事前入力サービスが付属しています。フォームデータモデルに基づいて、このサービスをアダプティブフォームとインタラクティブ通信で使用することができます。この事前入力サービスは、アダプティブフォームとインタラクティブ通信内のデータモデルオブジェクトに対してデータソースのクエリーを実行し、フォームまたは通信のレンダリング時にデータを取り込みます。

アダプティブフォームに対してフォームデータモデル事前入力サービスを有効にするには、アダプティブフォームコンテナのプロパティを開き、基本アコーディオンの「事前入力サービス」ドロップダウンで「フォームデータモデル事前入力サービス」を選択します。次に、各プロパティを保存します。

事前入力サービス

インタラクティブ通信でフォームデータモデル事前入力サービスを設定するには、インタラクティブ通信の作成時に「事前入力サービス」ドロップダウンで「フォームデータモデル事前入力サービス」を選択します。後でプロパティを編集することもできます。

edit-ic-props

インタラクティブ通信のプロパティ編集ダイアログ

送信されたアダプティブフォームのデータをデータソースに書き込む

フォームデータモデルに基づくフォームを送信した場合、そのフォームを設定して、特定のデータモデルオブジェクトに対して送信されたデータをそのデータモデルオブジェクトのデータソースに書き込むことができます。この設定を行うために、AEM Forms には、すぐに使用できるフォームデータモデル送信アクションが用意されています。これは、フォームデータモデルをベースとするアダプティブフォーム専用のアクションです。このアクションを実行すると、特定のデータモデルオブジェクトに対して送信されたデータが、そのデータモデルオブジェクトのデータソースに書き込まれます。

Form Data Modelの送信アクションを設定するには、アダプティブフォームコンテナのプロパティを開き、送信アコーディオンの下の送信アクションドロップダウンから「Submit using Form Data Model」を選択します。 次に、「送信するデータモデルオブジェクトの名前」ドロップダウンで、目的のデータモデルオブジェクトを探して選択します。その後、各プロパティを保存します。

フォームを送信すると、設定されているデータモデルオブジェクトのデータが、各データソースに書き込まれます。

データ送信

バイナリデータモデルオブジェクトのプロパティを使用して、フォームの添付ファイルをデータソースに送信することもできます。添付ファイルを JDBC データソースに送信するには、以下の手順を実行します。

  1. バイナリプロパティが含まれているデータモデルオブジェクトをフォームデータモデルに追加します。

  2. アダプティブフォームで、添付ファイル​コンポーネントをコンポーネントブラウザーからアダプティブフォームにドラッグ&ドロップします。

  3. をタップして追加したコンポーネントを選択し、settings_iconをタップして、コンポーネントのプロパティブラウザーを開きます。

  4. 連結参照フィールドで、foldersearch_18をタップし、フォームデータモデルに追加したバイナリプロパティを選択します。 必要に応じて、他のプロパティを設定します。

    チェックボタンをタップして、プロパティを保存します。 この操作により、添付ファイルフィールドが、フォームデータモデルのバイナリプロパティにバインドされます。

  5. アダプティブフォームコンテナプロパティの「送信」セクションで、「フォームの添付ファイルを送信」を有効にします。これにより、フォームの送信時に、バイナリプロパティフィールド内の添付ファイルがデータソースに送信されるようになります。

ルールを使用してアダプティブフォーム内のサービスを呼び出す

フォームデータモデルに基づくアダプティブフォームの場合、ルールを作成して、フォームデータモデル内で設定されているサービスを呼び出すことができます。ルールリストの​Invoke Services​操作は、フォームデータモデルで使用可能なすべてのサービスを呼び出し、サービスの入力フィールドと出力フィールドを選択できます。 「指定値」というルールタイプを使用してフォームデータモデルサービスを呼び出し、そのサービスから返された出力に対するフィールドの値を設定することもできます。

例えば以下のルールの場合、従業員 ID を入力として使用する Get サービスが呼び出され、このサービスから返された値が、フォーム内の対応する扶養家族 ID フィールド、姓フィールド、名フィールド、性別フィールドに設定されます。

invoke-service

また、guidelib.dataIntegrationUtils.executeOperation APIを使用して、ルールエディターのコードエディターでJavaScriptを記述することもできます。 APIについて詳しくは、API to invoke form data model serviceを参照してください。

このページ