Edge Delivery Services を使用したアダプティブフォームの公開
アダプティブフォームを公開すると、Edge Delivery Services でエンドユーザーがアクセスおよび送信できます。このプロセスには、フォームの公開、セキュリティ設定の指定、ライブフォームへのアクセスという 3 つの主なフェーズが含まれます。
達成されること:
- フォームから Edge Delivery Services への公開
- フォーム送信のセキュリティ設定の指定
- 公開済みフォームへのアクセスと検証
- 適切な URL ルーティングと CORS ポリシーの設定
前提条件
- Edge Delivery Services テンプレートを使用して作成されたアダプティブフォーム
- フォームがテスト済みで、実稼動環境で使用できる状態
- AEM Forms のオーサー権限
- Cloud Manager へのアクセス(実稼動環境の設定用)
- フォームブロックコードへの開発者アクセス(送信設定用)
プロビジョニングプロセスの概要
Edge Delivery Services へのフォームの公開は、次の 3 段階のアプローチに従います。
- フェーズ 1:フォームの公開 - フォームを CDN に公開し、公開ステータスを確認します
- フェーズ 2:セキュリティ設定 - 安全な送信のために CORS ポリシーとリファラーフィルターを設定します
- フェーズ 3:アクセスと検証 - フォームの機能をテストし、ワークフロー全体を検証します
各フェーズは前のフェーズに基づいて作成され、安全で機能的なデプロイメントを確保します。
フェーズ 1:フォームの公開
-
フォームにアクセス:アダプティブフォームをユニバーサルエディターで開きます
-
公開を開始:ツールバーの「公開」アイコンをクリックします
-
公開アセットをレビュー:フォームを含む、公開中のすべてのアセットが表示されます
-
公開を確認:「公開」をクリックして続行します
-
成功を検証:確認メッセージを探します
ステータスを確認:現在のステータスを表示するには、「公開」アイコンをもう一度クリックします
検証チェックポイント:
- フォームのステータスがエディターに「公開済み」と表示される
- 公開プロセス中にエラーメッセージが表示されない
- フォームが公開済みアセットリストに表示される
フォームを非公開にするには:
- エディターでフォームを開きます
- 右上隅の 3 つのドットメニュー(⋯)をクリックします
- 「非公開」を選択します
フェーズ 2:セキュリティ設定の指定
安全なフォーム送信を有効にするには、次のセキュリティ設定を指定する必要があります。
- Edge Delivery Services が AEM にデータを送信できるようにする
- AEM インスタンスへの不正アクセスを防止する
- フォーム送信用の CORS(クロスオリジンリソース共有)を有効にする
- 正当な Edge Delivery ドメインのみを許可するようにリクエストをフィルタリングする
note important |
---|
IMPORTANT |
実稼動環境に必須:実稼動環境でフォーム送信が機能するには、これらの設定が必須です。 |
目的:AEM インスタンスへのフォーム送信を直接行います
ファイルの場所:Edge Delivery Services プロジェクトの blocks/form/constant.js
設定例:
code language-javascript |
---|
|
検証チェックポイント:
constant.js
ファイルが正しい AEM 公開 URL で更新されている- URL が環境(実稼動環境、ステージング環境、ローカル)と一致している
- URL の末尾にスラッシュが含まれていない
目的:Edge Delivery Services ドメインからのフォーム送信リクエストを許可します
実装:AEM Dispatcher または Apache 設定に CORS 設定を追加します
code language-apache |
---|
|
検証チェックポイント:
- Dispatcher 設定に CORS ルールが適用されている
- 必要なすべてのドメイン(localhost、hlx.page、hlx.live)が含まれている
- 設定がターゲット環境にデプロイされている
参照ドキュメント:
目的:書き込み操作を許可された Edge Delivery Services ドメインに制限します
実装方法:AEM as a Cloud Service の Cloud Manager 経由で設定します
設定ファイル:プロジェクトの OSGi 設定に追加します
code language-json |
---|
|
設定の分類:
allow.empty
:リファラーヘッダーのないリクエストを却下しますallow.hosts.regexp
:Edge Delivery Services ドメインからのリクエストを許可しますfilter.methods
:これらの HTTP メソッドにフィルタリングを適用しますexclude.agents.regexp
:フィルタリングからユーザーエージェントを除外します
検証チェックポイント:
- リファラーフィルター設定が Cloud Manager 経由でデプロイされている
- AEM パブリッシュインスタンスで設定がアクティブである
- Edge Delivery Services ドメインからのテストフォーム送信が機能している
- 不正ドメインからのフォーム送信がブロックされている
参照ドキュメント:
フェーズ 3:公開済みフォームへのアクセス
標準 URL 形式:
code language-none |
---|
|
URL コンポーネント:
<branch>
:Git 分岐名(通常はmain
)<repo>
:リポジトリ名<owner>
:GitHub 組織またはユーザー名<form_name>
:フォームの名前(小文字、ハイフン)
環境固有の URL:
code language-none |
---|
|
フォームアクセシビリティの検証:
- フォームの読み込みをテスト:フォームの URL にアクセスし、正しく読み込まれることを確認します
- フォーム送信をテスト:フォームに入力して送信し、データ処理を確認します
- レスポンシブデザインを確認:様々なデバイスと画面サイズでフォームをテストします
- セキュリティを検証:CORS とリファラーフィルターが正しく動作していることを確認します
期待される結果:
- エラーなしでフォームが読み込まれる
- すべてのフォームフィールドが正しくレンダリングされる
- フォーム送信プロセスが正常に完了する
- 設定した宛先(スプレッドシート、メールなど)にデータが表示される
- CORS やセキュリティポリシーに関連するコンソールエラーが発生しない