手順 2:フォームデータモデルを作成する
AEM Forms には、設定済みデータソースからフォームデータモデルを作成するための直感的なユーザーインターフェイスが用意されています。1 つのフォームデータモデル内で複数のデータソースを使用することができます。このユースケースでは、既に設定されている MySQL データソースを使用できます。
フォームデータモデルを作成するには、以下の手順を実行します。
-
AEM オーサーインスタンスで、フォーム/データ統合 に移動します。
-
「作成/フォームデータモデル」を選択します。
-
フォームデータモデル作成ダイアログで、フォームデータモデルの 名前 を指定します。例えば、customer-shipping-billing-details などを指定します。「次へ」を選択します。
-
データソース選択画面に、すべての設定済みデータソースが一覧表示されます。「WeRetailMySQL」データソースを選択して「作成」を選択します。
customer-shipping-billing-details というフォームデータモデルが作成されます。
手順 3:フォームデータモデルを設定する
フォームデータモデルを設定するには、次の操作を行います。
- データモデルオブジェクトとサービスを追加する
- データモデルオブジェクトの読み取りサービスと書き込みサービスの設定
フォームデータモデルを設定するには、次の手順に従います。
-
AEM オーサーインスタンスで、フォーム/データ統合 に移動します。デフォルトの URL は、https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm です。
-
前の手順で作成した customer-shipping-billing-details というフォームデータモデルが表示されます。編集モードで開きます。
選択したデータソース WeRetailMySQL がフォームデータモデルで設定されます。
-
データソースツリーで WeRailMySQL データソースを展開します。weretail/customerdetails スキーマで、以下のデータモデルオブジェクトをフォームデータモデルに対して選択します。
-
データモデルオブジェクト:
- id
- name
- shippingAddress
- 市区町村
- ステート
- 郵便番号
-
サービス:
- 取得
- 更新
「選択項目を追加」を選択して、フォームデータモデルに対して選択したデータモデルオブジェクトおよびサービスを追加します。
NOTE
JDBC データソースのデフォルトの get サービス、update サービス、insert サービスは、フォームデータモデルでそのまま使用することができます。 -
-
データモデルオブジェクトに読み取りサービスおよび書き込みサービスを設定します。
-
customerdetails データモデルオブジェクトを選択して、「プロパティを編集」を選択します。
-
「読み取りサービス」ドロップダウンで「get」を選択します。customerdetails データモデルオブジェクトのプライマリキーである id 引数が自動的に追加されます。タグ
-
同様に、書き込みサービスとして「更新」を選択します。customerdetails オブジェクトが引数として自動的に追加されます。引数は次のように設定されます。
id 引数を追加して以下のように設定します。
-
「完了」を選択して、データモデルオブジェクトのプロパティを保存します。 次に「保存」を選択して、フォームデータモデルを保存します。
get サービスと update サービスが、データモデルオブジェクトのデフォルトのサービスとして追加されます。
-
-
「サービス」タブに移動し、get サービスと update サービスを設定します。
-
get サービスを選択して「プロパティの編集」を選択します。プロパティダイアログが開きます。
-
プロパティを編集ダイアログで、以下のプロパティを指定します。
-
タイトル:サービスのタイトルを指定します。例:配送先住所を取得します。
-
説明:サービスの詳細な機能を含む説明を指定します。例:
このサービスは MySQL データベースから配送先住所などの顧客についての詳細を取得します
-
出力モデルオブジェクト:顧客データを保管するスキーマを選択します。例:
customerdetail スキーマ
-
配列を返す:「配列を返す」オプションを無効にします。
-
引数:ID という引数を選択します。
「完了」を選択します。これで、顧客の詳細情報を MySQL データベースから取得するサービスが設定されました。
-
-
update サービスを選択して「プロパティの編集」を選択します。プロパティダイアログが開きます。
-
プロパティを編集ダイアログで、以下を指定します。
-
タイトル:サービスのタイトルを指定します。例えば、「配送先住所を更新」などです。
-
説明:サービスの詳細な機能を含む説明を指定します。例:
このサービスは、配送先住所とそれに関連するフィールドを MySQL データベース内で更新します
-
入力モデルオブジェクト:顧客データを保管するスキーマを選択します。例:
customerdetail スキーマ
-
出力タイプ:「ブール演算式」を選択します。
-
引数:ID という引数と customerdetails という引数を選択します。
「完了」を選択します。MySQL データベース内の顧客の詳細情報を更新する update サービスが設定されました。
-
-
フォームデータモデル内のデータモデルオブジェクトとサービスが設定されています。これで、フォームデータモデルをテストできます。
手順 4:フォームデータモデルをテストする
データモデルオブジェクトとサービスをテストすることにより、フォームデータモデルが正しく設定されているかどうかを確認することができます。
テストを実行するには、以下の手順を実行します。
-
「モデル」タブに移動し、customerdetails データモデルオブジェクトを選択し、「モデルオブジェクトをテスト」を選択します。
-
モデル/サービスのテストウィンドウの「モデル/サービスを選択」ドロップダウンで「モデルオブジェクトを読み込み」を選択します。
-
「customerdetails」セクションで、設定済み MySQL データベース内の id 引数を指定して「テスト」を選択します。
指定した id 引数に関連付けられている顧客の詳細情報がデータベースから取得され、以下のように Output セクションに表示されます。
-
同様に、書き込みモデルオブジェクトおよびサービスをテストできます。
次の例では、更新サービスは、データベース内の ID 7102715 のアドレスの詳細を正常に更新します。
この状態で、7102715 という ID に対して読み取りモデルサービスのテストをもう一度実行すると、以下のように、更新後の顧客の詳細情報が画面に表示されます。