[AEM Forms]{class="badge positive" title="AEM Formsに適用)。"}

同じアダプティブフォームに対する環境固有のREST エンドポイントの設定

アダプティブフォームを開発からステージングから実稼動に昇格させる場合、フォーム自体は同じままですが、通常、各環境の​different REST エンドポイントにフォームを送信する必要があります。 フォームの送信アクションでエンドポイント URLをハードコーディングすると、同じURLがフォームとともにあらゆる環境に移動するため、これを壊します。

この記事では、ポータブルな単一のアダプティブフォームを保持し、そのREST エンドポイントに送信 アクションを各環境の正しいエンドポイントに解決する方法について説明します。 フォームはURLではなく名前​ でREST設定 ​を参照し、各環境はその設定に独自の値を提供します。

前提条件 prerequisites

ステージングでのRESTful サービス設定の作成 create-rest-configuration

ステージング作成者インスタンスで、フォームが参照する名前付き設定を作成します。 サービスエンドポイント URL​をステージング用のRESTまたはWebhook エンドポイントに設定します。

  1. ツールクラウドサービスデータソース​に移動します。

  2. 設定コンテナを選択し、作成​を選択します。

  3. 一般」タブで、設定に「名前」を入力します(例:restTest)。 すべての環境で​ same ​の名前を使用して、プロモーション後にフォームが一貫して解決されるようにします。

  4. 認証設定」タブで、次の設定を行います。

    • RESTful サービス​を選択:サービスエンドポイント
    • メソッドの種類: 投稿
    • サービス エンドポイント URL: ステージング エンドポイント URL (ステージングからの送信をテストするために使用するWebhook URLなど)。
    • コンテンツタイプ:例:複数部品フォームデータ
    • 認証タイプ: エンドポイントで必要とされる場合(例:なし​または​基本認証)。
  5. 保存して閉じる」を選択します。

アダプティブフォームを設定コンテナにポイントします set-configuration-container

ステージング時に、フォームをREST設定を保持する設定コンテナに関連付けます。

  1. Formsとドキュメント​で、アダプティブフォームを選択し、プロパティ​を開きます。

  2. 基本」タブで、設定コンテナ​を、RESTful サービス設定を保持するコンテナ(/conf/restConfigTestなど)に設定します。

  3. 保存して閉じる」を選択します。

REST エンドポイントに送信アクションの設定 configure-submit-action

ステージング時に、ハードコードされたURLではなく、名前付きREST設定を使用して送信するフォームを設定します。 完全な送信アクションのリファレンスについては、REST エンドポイント送信アクション用のアダプティブフォームの設定を参照してください。

  1. アダプティブフォームを編集用に開き、ガイドコンテナ コンポーネントを選択し、その​アダプティブフォームコンテナ プロパティを開きます。

  2. 送信」タブを開き、送信アクション ドロップダウンリストから、REST エンドポイントに送信​を選択します。

  3. アクション設定​で、POST リクエストを有効にする​を選択します。

  4. オプションを選択​するには、設定URL​ではなく)を選択します。

  5. リストから名前付き設定(例:restTest)を選択します。

  6. 完了」を選択します。

フォームは、固定URLではなく、名前付き設定を使用して送信エンドポイントを解決するようになりました。

フォームをステージングから本番環境に宣伝します promote-across-environments

ステージングで設定およびテストを行った後、同じフォームと設定コンテナを実稼動環境に移動します。 次のいずれかの方法を使用できます。

オプション 1:オーサーとパッケージのアプローチ option-package

作成者が各環境でフォームと設定を直接管理する場合に使用します。

  1. ステージング オーサーインスタンスで、フォームとその設定コンテナを含むコンテンツパッケージを​ パッケージマネージャーに作成します。次に例を示します。

    • /content/dam/formsanddocuments/<your-form-path>
    • /content/forms/af/<your-form-path>
    • /conf/<your-config-container>.../settings/cloudconfigs/fdm/<your-config>を含む)
  2. パッケージをダウンロードし、本番 オーサーインスタンスにインストールします。

IMPORTANT
パッケージは、ステージングから​ サービスエンドポイント URL ​を含め、実稼動環境に同じ設定をインストールします。 本番環境でそのステージング URLを残さないでください。 次の節で説明するように、インストール後に実稼動環境のエンドポイントを更新します。

オプション 2:コンテキストに応じた上書きアプローチ(自動化に推奨) option-context-aware

このオプションは、デプロイメント後に手動で編集することなく、エンドポイント、ユーザー名、パスワードが環境ごとに自動的に解決されるパッケージ構成を1つ使用する場合に使用します。 この方法では、Cloud Managerの環境変数を使用して、設定プロパティを上書きします。

REST設定の場合、通常、serviceEndPointuserNamepasswordのプロパティの環境変数を作成し、プロジェクトのOsgiConfigurationOverrideProvider設定ファイルからそれらを参照します。

完全な手順については、​ コンテキストに応じたクラウド設定を参照してください。

実稼動時のエンドポイント URLの更新 configure-endpoint-on-production

実稼動環境にパッケージをインストールすると、アダプティブフォームとREST設定​name (例:restTest)がステージングと一致します。 この設定の​ サービスエンドポイント URL ​は、引き続きパッケージのステージングエンドポイントを指しています。 実稼動環境で設定を開き、実稼動環境のエンドポイント URLに置き換えます。

  1. 本番 オーサーインスタンスで、ツール > クラウドサービス > データソース​に移動します。

  2. デプロイした設定コンテナ (例:restConfigTest)を選択し、名前付き設定(例:restTest)を開きます。

  3. 認証設定」タブで、サービスエンドポイント URL​を実稼動RESTまたはWebhook エンドポイントに設定します。

  4. 保存して閉じる」を選択します。

テスト中に、Webhook キャプチャサービスなどのリクエストインスペクターによって環境ごとに一意のURLが提供されるため、各送信を受信するエンドポイントを確認できます。

ルーティングの確認 verify

ステージング環境と実稼動環境から同じフォームを送信し、各環境が他の環境のURLではなく、独自のエンドポイントに投稿することを確認します。

  1. ステージング​作成者インスタンスで、アダプティブフォームを開き、テストデータを使用して送信します(例:テキストフィールドにstagetestと入力します)。 POST リクエストが、ステージング時に設定した​ステージング サービスエンドポイント URL​に届くことを確認します。

  2. 本番 オーサーインスタンスで、同じアダプティブフォームを開き、テストデータを使用して送信します(例えば、テキストフィールドにprodtestと入力します)。 POST リクエストが、ステージング URLではなく、実稼動環境で設定した​実稼動 サービスエンドポイント URL​に届くことを確認します。

  3. 各リクエストが想定されるコンテンツタイプ(例:複数部品フォームデータ)を使用し、送信されたフォームデータを含んでいることを確認します。 本番環境では、実際のセキュアエンドポイント(HTTPS)を使用します。

ベストプラクティス best-practices

  • すべての環境で同じ設定​ name ​を使用して、プロモーション後にフォームが一貫して解決されるようにします。
  • エンドポイント value​は環境固有のままにします。 フォームの送信アクションに単一の環境のURLをハードコーディングしないでください。
  • 実稼動エンドポイントの場合は、URLがセキュア(HTTPS)であり、受信パスが認証モデルに応じてPOST リクエストを適切に処理するように設定されていることを確認します。
  • デプロイメントを繰り返し可能にし、デプロイメント後に手動で編集する必要がない場合は、コンテクストに応じた上書きアプローチを選択します。
recommendation-more-help
experience-manager-cloud-service-help-main-toc