このチュートリアルは、 最初のアダプティブフォームを作成する 系列。 チュートリアルの使用例を理解、実行、デモするために、時系列に従うことをお勧めします。
AEM Forms のデータ統合モジュールにより、AEM ユーザープロファイル、RESTful Web サービス、SOAP ベースの Web サービス、OData サービス、リレーショナルデータベースなど、様々なバックエンドデータソースを使用してフォームデータモデルを作成することができます。フォームデータモデル内でデータモデルオブジェクトとサービスを設定し、アダプティブフォームに関連付けることができます。 アダプティブフォームのフィールドは、データモデルオブジェクトのプロパティに連結されます。 このサービスを使用すると、アダプティブフォームに事前に入力し、送信されたフォームデータをデータモデルオブジェクトに書き戻すことができます。
フォームデータの統合機能とフォームデータモデルについて詳しくは、「AEM Forms のデータ統合機能」を参照してください。
このチュートリアルでは、フォームデータモデルを準備し、作成し、設定し、アダプティブフォームに関連付ける手順について説明します。 このチュートリアルを完了すると、次の操作を実行できるようになります。
フォームデータモデルは、次のように表示されます。
A. 設定済みのデータソース B. データソーススキーマ C. 利用可能なサービス D. データモデルオブジェクト E. 設定済みサービス
開始する前に、次の点を確認してください。
様々なタイプのデータソースを設定して、フォームデータモデルを作成できます。 このチュートリアルでは、サンプルデータを設定して入力した MySQL データベースを設定します。 その他のサポート対象データソースとその設定方法について詳しくは、 AEM Forms Data Integration.
MySQL データベースを設定するには、以下の手順を実行します。
以下の手順により、MySQL データベース用の JDBC ドライバーを OSGi バンドルとしてインストールします。
AEM Forms のオーサーインスタンスに管理者としてログインし、AEM Web コンソールバンドルに移動します。デフォルトの URL は http://localhost:4502/system/console/bundles.
Install/Update をタップします。「Upload / Install Bundles」ダイアログが表示されます。
「Choose File」をタップし、MySQL JDBC ドライバーの OSGi バンドルを探して選択します。「バンドルを開始」と「パッケージを更新」を選択して「インストールまたはアップデート」をタップします。Corporation の MySQL 用 JDBCOracleがアクティブであることを確認します。 ドライバーがインストールされます。
MySQL データベースをデータソースとして設定する:
AEM Web コンソール ( ) に移動します。 http://localhost:4502/system/console/configMgr.
「Apache Sling Connection Pooled DataSource」という設定を探し、その設定をタップして編集モードで開きます。
設定ダイアログで、次の詳細を指定します。
jdbc:mysql://[server]:3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
上記以外のプロパティはデフォルト値のままにして Save をタップします。
以下のような設定が作成されます。
AEM Formsは、 フォームデータモデルを作成する 設定済みのデータソースから。 1 つのフォームデータモデル内で複数のデータソースを使用することができます。このユースケースでは、設定済みの MySQL データソースを使用します。
フォームデータモデルを作成するには、以下の手順を実行します。
AEMオーサーインスタンスで、に移動します。 Forms > データ統合 s.
作成/フォームデータモデルの順にタップします。
フォームデータモデル作成ダイアログで、フォームデータモデルの名前を指定します。例えば、customer-shipping-billing-details などを指定します。「次へ」をタップします。
データソース選択画面に、すべての設定済みデータソースが一覧表示されます。「WeRetailMySQL」データソースを選択して「作成」をタップします。
customer-shipping-billing-details というフォームデータモデルが作成されます。
フォームデータモデルを設定するには、次の操作を行います。
フォームデータモデルを設定するには、以下の手順を実行します。
AEM オーサーインスタンスで、フォーム/データ統合に移動します。デフォルトの URL は http://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
前の手順で作成した customer-shipping-billing-details というフォームデータモデルが表示されます。編集モードで開きます。
選択したデータソース WeRetailMySQL がフォームデータモデル内に設定されている。
データソースツリーで WeRailMySQL データソースを展開します。weretail/customerdetails スキーマで、以下のデータモデルオブジェクトをフォームデータモデルに対して選択します。
データモデルオブジェクト:
サービス:
タップ 選択項目を追加 選択したデータモデルオブジェクトとサービスをフォームデータモデルに追加する場合。
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 データベースの顧客の詳細を更新するサービスが設定されました。
フォームデータモデル内のデータモデルオブジェクトとサービスが設定されています。 これで、フォームデータモデルをテストできます。
データモデルオブジェクトとサービスをテストすることにより、フォームデータモデルが正しく設定されているかどうかを確認することができます。
テストを実行するには、以下の手順を実行します。
次に移動: モデル タブで、 customerdetails データモデルオブジェクトを選択し、をタップします。 モデルオブジェクトのテスト.
モデル/サービスのテストウィンドウの「モデル/サービスを選択」ドロップダウンで「モデルオブジェクトを読み込み」を選択します。
内 customerdetails セクションで、 id 引数が設定済みの MySQL データベースに存在し、をタップします。 テスト.
指定した id 引数に関連付けられている顧客の詳細情報がデータベースから取得され、以下のように Output セクションに表示されます。
同様に、書き込みモデルのオブジェクトとサービスをテストできます。
次の例では、更新サービスは、データベース内の ID 7102715のアドレスの詳細を正常に更新します。
この状態で、7102715 という ID に対して読み取りモデルサービスのテストをもう一度実行すると、以下のように、更新後の顧客の詳細情報が画面に表示されます。