Edge Delivery Services を使用したアダプティブフォームでの事前入力サービスの設定

フォームの事前入力とは、ユーザーがフォームを開くとすぐに、外部ソースからの関連データをフォームフィールドに自動的に入力するプロセスです。事前入力により、ユーザープロファイル、データベース、保存されたドラフト、その他のバックエンドシステムからの情報を活用してフォーム入力エクスペリエンスが効率化され、手動入力の削減、エラーの最小化、完了の高速化が実現します。これにより、ユーザー満足度が向上するだけでなく、フォームの送信が成功する可能性も高まります。

フォームの事前入力のメリット

メリット
説明
より速く完成
手動によるデータ入力を削減し、ユーザーがフォームをすばやく完成できるようにします
ユーザーエクスペリエンスの向上
特に繰り返し使用するユーザーにとって、Forms はよりパーソナライズされ、便利だと感じます。
コンバージョン率の上昇
必要なユーザーの労力を最小限に抑えることで、フォームの放棄を削減します。
入力エラーの削減
信頼できるソースからのデータにより、入力ミスや誤った入力が削減されます。
データ品質の向上
バックエンドシステムの構造化された、正確で一貫性のあるデータを確保します。

事前入力の仕組み

次の図に、ユーザーがアダプティブフォームを開いた際に実行される自動事前入力プロセスを示します。

フォームの事前入力プロセスフロー

事前入力プロセスには、次の 4 つの主な手順が含まれます。

  1. ユーザーがフォームを開く:ユーザーは URL またはナビゲーションを通じてアダプティブフォームにアクセスします
  2. データソースを特定:事前入力サービスにより、設定済みのデータソース(フォームデータモデルまたはドラフトサービス)が決定されます。
  3. データを取得:システムにより、コンテキスト、パラメーター、ユーザー ID に基づいて関連するユーザーデータが取得されます
  4. マッピングと表示:データは bindRef プロパティを使用してフォームフィールドにマッピングされ、入力したフォームがユーザーに表示されます。

この自動処理されたプロセスにより、ユーザーは関連情報が事前入力されたフォームを必ず確認できるので、ユーザーエクスペリエンスとフォーム完了率が大幅に向上します。

事前入力用データ構造

アダプティブフォームは、次の 2 つのタイプのフィールドをサポートしています。

  • バインドされたフィールド:空でない bindRef プロパティを持つデータソースに接続されたフィールド
  • バインドされていないフィールド:空の bindRef 値を持つスタンドアロンフィールド

事前入力データ構造には、次が含まれます。

  • afBoundData:バインドされたフィールドとパネルのデータが含まれます
  • afUnBoundData:バインドされていないフィールドのデータが含まれます

データ形式は、次のフォームモデルと一致する必要があります。

  • XFA フォーム:XFA テンプレートスキーマに準拠した XML
  • XML スキーマフォーム:スキーマ構造に一致する XML
  • JSON スキーマフォーム:スキーマに準拠した JSON
  • フォームデータモデル(FDM)フォーム:FDM 構造に一致する JSON
  • スキーマレスフォーム:すべてのフィールドはバインドされておらず、バインドされていない XML を使用します

前提条件

事前入力サービスを設定する前に、次を確認します。

必須の設定

アクセス要件

  • AEM Forms as a Cloud Service へのアクセス
  • フォームを作成および編集する権限
  • 必要な拡張機能を有効にしたユニバーサルエディターへのアクセス
TIP
フォームを編集して、ユニバーサルエディターでフォームデータモデル(FDM)を統合し、様々なバックエンドソースからデータを取得することもできます。詳しくは、ユニバーサルエディターでのフォームとフォームデータモデルの統合の記事を参照してください。

事前入力サービスオプション

ユニバーサルエディターには、次の 2 つの事前入力サービスオプションが用意されています。

サービスタイプ
目的
データソース
次に最適
フォームポータルドラフトの事前入力
部分的に完了したフォームを再開します
フォームポータルに保存されたドラフト
不完全な用途の継続
フォームデータモデルの事前入力
外部システムからフィールドに入力します
FDM 経由のバックエンドデータベース
ユーザープロファイルデータの自動入力

詳細な比較

機能
ドラフト事前入力サービス
FDM 事前入力サービス
認証
ドラフトアクセスにはユーザーログインが必須
データソースに基づいて設定可能
設定の複雑さ
最小限の設定
FDM の設定およびマッピングが必須
データタイプ
静的な保存済みデータ
リアルタイムの動的データ
ユースケース
保存済みアプリケーションを再開
ユーザープロファイルまたはデータベースから事前入力

フォームの事前入力サービスの設定

フェーズ 1:フォームデータモデルの設定

手順 1:フォームデータモデルを作成

  1. AEM Forms as a Cloud Service インスタンスにログインします

  2. Adobe Experience ManagerFormsデータ統合 ​に移動します

  3. 作成フォームデータモデル ​を選択します

  4. データソース設定 ​を選択し、設定済みの​ データソース ​を選択します

    作成済みのフォームデータモデル

    note tip
    TIP
    フォームデータモデルの作成手順について詳しくは、フォームデータモデルの作成を参照してください。

手順 2:FDM サービスを設定する

  1. Adobe Experience ManagerFormsデータ統合 ​に移動します

  2. フォームデータモデルを編集モードで開きます

  3. データモデルオブジェクトを選択し、「プロパティを編集」をクリックします

  4. 選択したデータモデルオブジェクトの​ 読み取り ​サービスと​ 書き込み ​サービスを設定します。

    読み取り/書き込みサービスを設定

  5. サービス引数を設定します。

    • 読み取りサービス引数の「編集」アイコンをクリックします
    • 引数を​ ユーザープロファイル属性リクエスト属性 ​または​ リテラル値 ​に連結します
    • 連結値を指定します(例:ペット登録フォームの場合は petid

    ペット ID 引数を設定

  6. 完了」をクリックして引数を保存し、「保存」をクリックして FDM を保存します

    note note
    NOTE
    FDM サービスの設定について詳しくは、フォームデータモデル(FDM)の操作を参照してください。
フェーズ 2:アダプティブフォームの作成と設定

手順 3:アダプティブフォームを作成する

  1. Adobe Experience ManagerFormsフォームとドキュメント ​に移動します

  2. 作成アダプティブフォーム ​を選択します

  3. ソース」タブで、Edge Delivery Services テンプレートを選択します

    Edge Delivery Services テンプレート

  4. 作成」をクリックして、フォームを作成 ​ウィザードを開きます

    データソースの設定は「データ」タブから行うことも、後でフォームのプロパティを編集して行うこともできます。

  5. フォームの詳細を指定します。

    • 名前:フォームのわかりやすい名前を入力します
    • タイトル:わかりやすいタイトルを指定します
    • GitHub URL:リポジトリ URL を入力します(例:https://github.com/wkndforms/edsforms
  6. 作成」をクリックします。

    スキーマベースのフォームを作成

オーサリング用にユニバーサルエディターでフォームを開きます。

手順 4:フォームデータソースを設定する

  1. フォームを選択し、「プロパティ」をクリックします

    フォームプロパティを選択

  2. フォームモデル」タブを開きます

  3. 選択元 ​ドロップダウンから「フォームデータモデル(FDM)」を選択します

  4. ドロップダウンから、作成したフォームデータモデル(例:PetFDM)を選択します

    「フォームモデル」タブを選択

  5. 保存して閉じる」をクリックします。

  6. フォームをユニバーサルエディターで編集用に開きます

FDM のフォーム要素は、コンテンツブラウザー ​の「データソース」タブに表示されます。

手順 5:フォームフィールドにデータ連結を追加する

  1. データソース」タブからデータ要素を選択します

  2. 追加」をクリックするか、要素をドラッグ&ドロップしてフォームを作成します

    スキーマベースのフォームを示すユニバーサルエディターのスクリーンショット

  3. フォームフィールドにデータ連結を追加します。

    • フォームフィールドを選択します

    • プロパティ ​パネルで、連結参照 ​プロパティを見つけます

    • 適切なデータ連結参照を選択します

      データバインディング

フェーズ 3:事前入力サービスの設定

手順 6:必須の拡張機能を有効にする

ユニバーサルエディターで次の拡張機能が有効になっていることを確認します。

  1. AEM フォームプロパティ拡張機能

    • ユニバーサルエディターで Extension Manager を開きます
    • AEM フォームプロパティ ​拡張機能を有効にします

    「フォームプロパティ」アイコン

  2. データソース拡張機能

    • データソース」アイコンが表示されない場合は、データソース拡張機能 ​を有効にします

    ユニバーサルエディターの Extension Manager のスクリーンショット

    note tip
    TIP
    拡張機能の管理手順について詳しくは、Extension Manager 機能のハイライトを参照してください。

手順 7:事前入力サービスを設定する

  1. アダプティブフォームをユニバーサルエディターで開きます

  2. AEM フォームプロパティ ​拡張機能アイコンをクリックします

    「フォームプロパティ」アイコンを選択

  3. 事前入力」タブをクリックします

  4. フォームデータモデルの事前入力サービス」を選択します

    事前入力サービスを選択

  5. 保存して閉じる」をクリックします。

フェーズ 4:事前入力設定のテスト

手順 8:プレビューとテスト

  1. Formsフォームとドキュメント ​に移動します

  2. アダプティブフォームを選択します

  3. HTML としてプレビュー」を選択します

  4. 次の URL にパラメーターを追加して、事前入力をテストします。

    https://your-preview-url.com?<bindreferencefield>=<value>

    例:

    https://your-preview-url.com?petid=12345

    フォームに事前入力

フォームには、指定したパラメーターに基づいてデータが自動的に入力されます。

事前入力データ構造のサンプル

FDM ベースのフォームの JSON の例:

  {
    "afBoundData": {
      "user": {
        "firstName": "John",
        "lastName": "Doe",
        "email": "john.doe@example.com",
        "phone": "+1-555-0123"
      }
    },
    "afUnBoundData": {
      "additionalInfo": "User preferences loaded"
    }
  }

XFA ベースのフォームの XML の例:

  <?xml version="1.0" encoding="UTF-8"?>
  <afData>
    <afBoundData>
      <user>
        <firstName>John</firstName>
        <lastName>Doe</lastName>
        <email>john.doe@example.com</email>
      </user>
    </afBoundData>
  </afData>

事前入力 URL の例

以下の URL は、説明のみを目的としており、そのままでは機能しません。事前入力機能をテストする際は、ホストとパラメーターを独自の環境に関連したものに置き換えます。

基本的な事前入力テスト:

https://preview.example.com/form.html?userId=12345

複数パラメーターのテスト:

https://preview.example.com/form.html?userId=12345&category=premium

トラブルシューティング

よくある問題と解決策
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
問題 考えられる原因 解決策
フォームフィールドが事前入力されない bindRef 値が正しくありません bindRef が FDM フィールド名と完全に一致することを検証します
データ形式エラー データ構造が一致しません 事前入力データがフォームモデルスキーマと一致することを確認します
サービスが見つからない FDM 設定の問題 FDM サービスが適切に設定および保存されていることを確認します
認証エラー データソースの接続 データソースの資格情報と接続を検証します
部分的なデータが読み込まれている フィールドマッピングがありません すべての必須フィールドに適切なデータ連結があることを確認します
デバッグ手順
  1. FDM 設定を検証:

    • サービスが正しく設定されているかどうかを確認します
    • FDM サービスを個別にテストします
    • データソースの接続を検証します
  2. フォーム設定を確認:

    • フォームが正しい FDM に関連付けられていることを確認します
    • フィールド bindRef 値を検証します
    • 最初に事前入力なしでフォームをテストします
  3. データフローをテスト:

    • ブラウザーの開発者ツールを使用して、ネットワークリクエストを調べます
    • コンソールで JavaScript エラーを確認します
    • 応答データの形式を検証します
  4. 一般的なエラーメッセージ:

    • 「事前入力サービスが見つかりません」: サービス設定を確認します
    • 「データ連結に失敗しました」:bindRef の精度を検証します
    • 「無効なデータ形式」:データがスキーマと一致することを確認します

ベストプラクティス

設定のベストプラクティス
  • わかりやすい名前を使用:FDM とサービスに明確な名前を付けます
  • データスキーマを検証:データ構造がフォームの要件と一致していることを確認します
  • 段階的にテスト:一度に 1 つのフィールドを設定してテストします
  • ドキュメントマッピング:フィールドとデータのマッピングを追跡します
パフォーマンスの最適化
  • データ量を最小化:必要なフィールドのみを事前入力します
  • キャッシュを使用:頻繁にアクセスされるデータに対して適切なキャッシュを設定します
  • クエリを最適化:データベースクエリが効率的であることを確認します
  • パフォーマンスを監視:事前入力を有効にして、フォームの読み込み時間を追跡します
セキュリティに関する考慮事項
  • 入力パラメーターを検証:URL パラメーターを常に検証します
  • データを削除:フォームに事前入力する前にデータを削除します
  • アクセス制御を実装:ユーザーが自身のデータにのみアクセスできるようにします
  • HTTPS を使用:データ転送には常に安全な接続を使用します
ユーザーエクスペリエンスのガイドライン
  • フィードバックを提供:データ取得中に読み込みインジケーターを表示します
  • エラーを適切に処理:役に立つエラーメッセージを表示します
  • 上書きを許可:ユーザーが事前入力されたデータを変更できるようにします
  • 一貫性を維持:フォーム間で一貫性のある事前入力動作を使用します

よくある質問

事前入力が正しく機能しているかどうかをテストするにはどうすればよいですか?
フォームをプレビューし、?<bindreferencefield>=<value> という形式を使用して URL に事前入力パラメーターを追加します。フィールドに、データ構造に一致する有効な bindRef があることを確認します。ブラウザーの開発者ツールを使用して、ネットワークリクエストを調べ、データが正しく取得されていることを検証します。
アダプティブFormsの事前入力には、どのようなデータ形式がサポートされていますか?

アダプティブフォームは、フォームモデルに応じて、次の複数の形式をサポートしています。

  • XFA フォーム:XFA スキーマに一致する XML
  • JSON スキーマフォーム:スキーマに準拠した JSON データ
  • FDM フォーム:データモデル構造にマッピングされる JSON
  • XML スキーマフォーム:スキーマ構造に一致する XML
連結されたフィールドと連結されていないフィールドの両方を事前入力することはできますか?
はい、両方のタイプのフィールドを事前入力できます。バインドされたフィールドには、afBoundData セクションを使用し、フォームモデルスキーマと一致する必要があります。バインドされていないフィールドには、afUnBoundData セクションを使用し、任意の追加データを含めることができます。
一部のフィールドのみ事前入力されている場合はどうすればよいですか?
すべてのフィールドに、FDM と完全に一致する正しい bindRef 値が設定されていることを確認します。データソースにすべての必須フィールドが含まれ、データ構造がフォームモデルスキーマと一致することを検証します。
複数の事前入力サービスを 1 つのフォームで使用できますか?
フォームごとに 1 つのプライマリ事前入力サービスを設定できます。ただし、単一のフォームデータモデル内で異なるデータソースを組み合わせて、同様の機能を実現できます。
事前入力サービスの認証はどのように扱われますか?
認証は、データソース設定によって異なります。FDM ベースの事前入力の場合は、データソース設定で認証を設定します。 ドラフトの事前入力の場合は、ユーザーは通常、ログインして保存済みのドラフトにアクセスする必要があります。

関連トピック

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab