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

data-integration

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

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

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

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

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

    create-af-1-1

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

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

    create-af-2-1

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

    create-af-3

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

    メモ

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

    data-model-objects-tab

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

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

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

サンプルデータが取り込まれた状態のアダプティブフォームをプレビューするには、オーサーモードでアダプティブフォームを開いて「プレビュー」をタップします。

フォームデータモデルサービスを使用したデータの事前入力

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

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

prefill-service

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

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

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

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

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

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

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

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

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

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

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

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

フォームデータモデルに基づくアダプティブフォームの場合、ルールを作成して、フォームデータモデル内で設定されているサービスを呼び出すことができます。ルール内の「サービスを起動」操作を実行すると、フォームデータモデル内のすべての有効なサービスが一覧表示され、任意のサービスの入力フィールドと出力フィールドを選択できます。「指定値」というルールタイプを使用してフォームデータモデルサービスを呼び出し、そのサービスから返された出力に対するフィールドの値を設定することもできます。

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

invoke-service

また、guidelib.dataIntegrationUtils.executeOperation API を使用して、ルールエディターのコードエディターで JavaScript を記述することもできます。

このページ