AEM Forms as a Cloud Service 上でコアコンポーネントとヘッドレスアダプティブフォームを使用して魅力的なフォームを作成する方法 build-engaging-forms-using-core-components-and-headless

ラボの概要 lab-overview

この実践ラボでは、次のことを学習します。

AEM Forms の最新のコアコンポーネントを使用して、アダプティブフォームを簡単に作成する方法。これらのコンポーネントは AEM Sites と一貫性があり、アダプティブフォームをヘッドレスフォームとして web、モバイル、チャットに配信することで、オムニチャネルのデータキャプチャエクスペリエンスを有効にします。また、スタイル設定、カスタマイズ、フロントエンド開発に関するベストプラクティスについても学習します。

重要ポイント key-takeaways

  • ビジネスの俊敏性:ビジネスユーザーは、複数のチャネル用のフォームエクスペリエンスを簡単に作成できます。

  • フロントエンド開発者に力を与える:フロントエンド開発者は、ヘッドレスフォームを使用してエンドユーザーエクスペリエンスを制御できます。

  • 開発者の速度:開発者は、Sites コンポーネントと Forms コンポーネントを簡単かつ一貫してカスタマイズできます。

前提条件 prerequisites

この実践ラボを利用するには:

レッスン 1 lesson-1

目的 lesson-1-objectives

AEM Forms as a Cloud Service 環境に慣れる。

レッスンのコンテキスト lesson-1-context

このレッスンでは、ユーザーインターフェイスをナビゲートして、AEM Forms as a Cloud Service の環境に慣れ親しみます。

演習 lesson-1-excercise

  1. ブラウザーを開き、Cloud Service オーサー環境の URL を入力します。

  2. Cloud Service オーサー環境にログインします。
    {width="50%"}

  3. AEM Forms UI に移動するには、Forms/フォームとドキュメント ​をクリックします。

    {width="50%"}

    環境設定や情報に関連するポップアップを解除します。使用可能なすべてのフォームが表示されます。

レッスン 2

目的

最新のコアコンポーネントを使用してアダプティブフォームを作成し、フォームを設定して送信します。

レッスンのコンテキスト

このレッスンでは、ビジネスユーザーとして、データ取得用の標準化された OOTB コアコンポーネントを使用して作成されたアダプティブフォームを使用して、web、モバイル、チャットなど複数のチャネル用のアダプティブフォームを作成します。

演習

  1. フォームの送信エンドポイントを作成します。

    1. 新しいブラウザータブで、https://pipedream.com/requestbin を開きます。

    2. 公開 bin を作成 をクリックし、エンドポイント URL をコピーします。
      {width="50%"}

      {width="50%"}

  2. ウィザードインターフェイスを使用してアダプティブフォームを作成します。

    1. レッスン 1 で使用したブラウザータブで、AEM Forms as a Cloud Service web インターフェイスに移動し、フォーム&ドキュメントに移動します。

    2. 作成アダプティブフォーム をクリックします。

    3. 選択画面から、コアコンポーネントを使用した空白 テンプレートを選択します(下図を参照)。

    4. スタイル」タブをクリックし、「wknd-theme」テーマを選択します(下図を参照)。

    5. 送信」タブをクリックし、「REST エンドポイントに送信」カードを選択し、「POST リクエストの URL」フィールドで公開 bin を指定します(下図を参照)。

    6. 作成」をクリックします。フォームの名前とタイトルを指定します。例えば、登録 ​などです。「作成」をクリックします。

    7. アダプティブフォームエディターが開きます。ポップアップまたはダイアログを閉じて、環境設定や情報を表示します。左側のパネルにあるコンポーネントブラウザーをクリックし、ヘッダー ​コンポーネントと​ フッター コンポーネントをそれぞれ空白のフォームの上部と下部に追加します。

    8. コンポーネントブラウザーからコンポーネントをドラッグ&ドロップして、次のようなフォームを作成します。

      {width="50%"}

  3. フォームに検証機能を追加します。

    1. 電話番号 ​コンポーネントをクリックして、ポップアップメニューを表示します。レンチアイコン ​をクリックして、フィールドを設定します。

    2. 「検証」タブ ​を開き、フィールドに​ 必須 ​とマークを付け、「完了」をクリックします。成功メッセージが表示されます。
      {width="50%"}

      {width="50%"}

  4. フォームをプレビューして送信します.

    1. プレビュー」をクリックして、エンドユーザーの観点からフォームをプレビューします。

    2. ダミーデータでフォームに入力します。

    3. フォームを送信します。

    4. 「リクエスト bin」タブで、送信されたデータを確認します。

  5. ルールを使用してフォームにインタラクティブ機能を追加します。

    1. チェックボックスをオンにして 5%オフを受け取る」コンポーネントをクリックします。オプションツールバーで、ルールアイコンをクリックします。「ルールエディター」オプションが開きます。

    2. ルールを作成します。「チェックボックスをオンにして 5%オフを受け取ります」オプションが選択されている場合、クレジットカードを適用するオプションは無効になります。

  6. フォームを公開します。

    1. AEM Forms 管理インターフェイス(例:https://author-p105303-e986623.adobeaemcloud.com/ui%23/aem/aem/forms.html/content/dam/formsanddocuments)を開き、フォームを選択します。

    2. 公開する」をクリックします。

      成功メッセージが表示されます。

      フォームの公開 URL は、次のようになります。https://publish-p105303-e986623.adobeaemcloud.com/content/forms/af/registration.html

    3. 公開されたフォームを表示するには、上記の URL のプログラム ID(pXXXXXX)と環境 ID(eXXXXXX)を、お使いの環境の ID に置き換えます。

レッスン 3

目的

フロントエンド開発のベストプラクティスを使用して、スタイルを更新します。

レッスンのコンテキスト

このレッスンでは、フロントエンド開発者が、以前に作成したアダプティブフォームのスタイル設定を簡単に更新する方法を学習します。

演習

テーマのローカルリポジトリを設定します。

  1. 管理者権限でコマンドプロンプトまたはシェルを開きます。

    {width="50%"}

  2. コマンドプロンプトで、次のコマンドを使用して c:\git フォルダーに移動します。

    code language-shell
    cd c:\git
    
  3. 次のコマンドを使用して、テーマのフロントエンドコードを複製します。

    code language-shell
    git clone -b WKND https://github.com/adobe/aem-forms-theme-canvas
    
  4. 次のコマンドをリストに表示された順序で使用して、aem-forms-theme-canvas ディレクトリに移動し、Visual Studio Code を開きます。

    code language-shell
    cd aem-forms-theme-canvas
    code .
    

  5. 親フォルダー内のすべてのファイルの作成者を信頼する」を選択し、「はい、私は作成者を信頼します」をクリックします。

    {width="50%"}

  6. クラウドサービスのパブリッシュ環境でホストされているフォームをレンダリングするには、env_template ファイルの名前を変更します。ファイル名を変更するには、env_template ファイルを右クリックして、「名前を変更」オプションを選択します。

    {width="50%"}

    {width="50%"}

  7. .env ファイルの変数に次の値を設定して、ファイルを保存します。

    • AEM_URL:クラウドサービスのパブリッシュ環境を指定します。例:https://publish-p105303-e986623.adobeaemcloud.com/

    • AEM_ADAPTIVE_FORM:フォームのパスを指定します。例えば、フォームのパスが /content/forms/af/registration の場合、この変数の値は registration になります。

      {width="50%"}

  8. AEM 環境でローカルユーザーを作成します。

    note note
    NOTE
    ローカルユーザーを作成するには、AEM HomeToolsSecurityUsers に移動します。
    ユーザーが forms-users グループのメンバーであることを確認してください。
  9. コマンドプロンプトウィンドウで、次のコマンドを実行します。

    code language-shell
    npm install
    

    note note
    NOTE
    • npm notice Run npm nstall -g npm@9.6.0 コマンドを使用して npm をアップデートするように求めるメッセージが表示された場合、メッセージを無視します。
    • ワークブックに指示がない限り、他の npm コマンドは実行しないでください。
  10. 次のコマンドを実行して、フォームをプレビューします。

    code language-shell
    npm run live
    

    上記のコマンドを実行したら、 webpack compiled メッセージが表示され、AEM ログインページにリダイレクトされます。

  11. AEM ログインページで「ローカルでログイン(管理者タスクのみ)」をクリックします。

  12. 作成したローカルユーザーの資格情報を入力すると、フォームがブラウザーのタブに表示されます。

    note note
    NOTE
    npm run live コマンドを実行した後、ブラウザーで 3~4 分以上空白の画面が表示される場合は、ブラウザーの URL の localhost を 127.0.0.1 に変更して Enter キーを押します。

    {width="50%"}

  13. Visual Studio Code で、PROJECT\src\site\_variables.scss ファイルを開きます。$error のカラーは赤の網掛けです。

    {width="50%"}

  14. ブラウザーでフォームを送信して、「名前(名)」フィールドが赤くなるのを確認します。

  15. $error の色を #5736eb に設定して、ファイルを保存します。

    {width="50%"}

  16. ブラウザーを更新し、フォームを送信します。名フィールドのエラーカラーが、それに応じて変更されました。

  17. コマンドプロンプトで、Ctrl + C キーを押して、Y キーを押し、Enter キー を押して npm プロセスを終了します。次の一連の演習と競合しないように、npm サーバーを停止することが重要です。

  18. Visual Studio Code とコマンドプロンプトウィンドウを閉じます。

レッスン 4

目的

フォームをヘッドレスフォームとして web/モバイルおよび他のインターフェイスにレンダリングします。

レッスンのコンテキスト

このレッスンでは、フロントエンド開発者として、React スペクトルデザインフレームワークを使用して、前にヘッドレスフォームとして作成したアダプティブフォームをレンダリングする方法を学びます。

演習

React スタータープロジェクトを使用してローカルリポジトリを設定します。

  1. 管理者権限でコマンドプロンプトを開きます。

    {width="50%"}

  2. コマンドプロンプトで、次のコマンドを使用して c:\git フォルダーに移動します。

    code language-shell
    cd c:\git
    
  3. 次のコマンドを使用して、アダプティブフォームの React スタータープロジェクトを複製します。

    code language-shell
    git clone https://github.com/adobe/react-starter-kit-aem-headless-forms
    

  4. 次のコマンドをリストに表示された順序で使用して、react-starter-kit-aem-headless-forms ディレクトリに移動し、Visual Studio Code を開きます。

    code language-shell
    cd react-starter-kit-aem-headless-forms
    
    code .
    

    Visual Studio Code ウィンドウが開きます。

    {width="50%"}

クラウドサービスのパブリッシュ環境でホストされるフォームをレンダリングするには、次の手順に従います。

  1. env_template ファイルを.env ファイルに名前変更します。名前を変更するには、env_template ファイルを右クリックし、「名前を変更」オプションを選択します。

    {width="50%"}

  2. .env ファイル内の変数に次の値を設定します。変数を更新したら、ファイルを保存します。

    • AEM_URL:クラウドサービスパブリッシュ環境の URL を指定します。例:https://publish-p105303-e986623.adobeaemcloud.com

    • AEM_FORM_PATH:前のレッスンで作成したアダプティブフォームのパスを指定します。例:/content/forms/af/registration/

  3. コマンドウィンドウを開き、react-starter-kit-aem-headless-forms ディレクトリにいることを確認し、次のコマンドを実行します。

    code language-shell
    npm install
    

  4. コマンドプロンプトウィンドウで、次のコマンドを実行します。

    code language-shell
    npm start
    

    上記のコマンドは、React スペクトルフロントエンドライブラリを使用して AEM から取得したフォーム定義をヘッドレス方式でレンダリングするローカル開発サーバーを起動します。

    note note
    NOTE
    npm start コマンドを実行した後、ブラウザーで 3~4 分以上空白の画面が表示される場合は、ブラウザーの URL の localhost を 127.0.0.1 に変更して Enter キーを押します。

このヘッドレスフォームのルールの実行を確認しましょう。

  1. チェックボックスをオンにして 5%オフを受け取る」オプションを選択します。クレジットカードを適用する後続のオプションは無効になります。

  2. チェックボックスをオンにして 5%オフを受け取る」のチェックを解除して、クレジットカードオプションを有効にします。

サーバー上のフォームをビジネスユーザーとして変更し、ヘッドレスフォームに自動的に反映された変更を表示します。

  1. ブラウザーで AEM Forms 管理インターフェイスを開きます。

  2. contactus フォームを選択し、「編集」をクリックします。アダプティブフォームエディターでフォームが開きます。

  3. 電話番号」フィールドを選択し、ツールバーの​ 編集アイコン(鉛筆アイコン) ​をクリックします。ポップアップツールバーが表示されない場合は、編集モードに切り替えます。 右上の「編集」ボタンをクリックし、左にある「プレビュー」ボタンをクリックします。

  4. ラベルを「携帯電話番号」に変更します。フォーム内の空のスペースをクリックすると、フォームに加えた変更が保存されます。

更新したフォームを公開して、変更をパブリッシュ環境に反映します。

  1. 「AEM Forms 管理インターフェイス」タブで、登録フォームを選択し、「非公開」をクリックします。「非公開」ボタンが表示されない場合、手順 3 に進んで変更を直接公開します。

  2. 非公開」をクリックします。次のダイアログで「閉じる」をクリックします。

  3. ブラウザーが更新されたら、登録フォームを選択し、「公開」をクリックします。

  4. 公開する」をクリックします。次のダイアログで「閉じる」をクリックします。

  5. ヘッドレスフォームが表示された状態で、ブラウザータブを更新します。「電話番号」のラベルが「携帯電話番号」に変更されていることに注意してください。

  6. react-starter-kit-aem-headless-forms プロジェクトの起動に使用するコマンドプロンプトウィンドウを開き、CTRL + C キーを押し、
    Y」を入力して、Enter キーを押して npm プロセスを終了します。次の一連の演習と競合しないように、npm サーバーを停止することが重要です。

  7. Visual Studio Code とコマンドプロンプトウィンドウを閉じます。

レッスン 5

目的

Google Material UI を使用してフォームをヘッドレスフォームとしてレンダリングする

レッスンのコンテキスト

このレッスンでは、フロントエンド開発者が Google Material UI を使用して、前の手順でヘッドレスフォームとして作成したアダプティブフォームをレンダリングする方法を学びます。

演習

Material UI スタータープロジェクトを使用してローカルリポジトリを設定します。

  1. 管理者権限でコマンドプロンプトを開きます。

    {width="50%"}

  2. コマンドプロンプトで、次のコマンドを使用して c:\git フォルダーに移動します。

    code language-shell
    cd c:\git
    
  3. 次のコマンドをリストに表示された順序で実行して、mui という名前のフォルダーを作成し、次のコマンドを使用して mui フォルダーに移動します。

    code language-shell
    mkdir mui
    
    cd mui
    
  4. 次のコマンドを使用して、アダプティブフォームの React スタータープロジェクトを複製します。

    code language-shell
    git clone -b mui-lab https://github.com/adobe/react-starter-kit-aem-headless-forms
    

  5. 次のコマンドをリストに表示された順序で使用して、react-starter-kit-aem-headless-forms フォルダーに移動し、Visual Studio Code でコードを開きます。

    code language-shell
    cd react-starter-kit-aem-headless-forms
    
    code .
    

クラウドサービスのパブリッシュ環境でホストされるフォームをレンダリングするには、次の手順に従います。

  1. env_template ファイルを .env ファイルに名前変更します。名前を変更するには、env_template ファイルを右クリックし、「名前を変更」を選択します。

    {width="50%"}

  2. .env ファイル内の変数に次の値を設定します。変数を更新したら、ファイルを保存します。Ctrl + S キーを使用してファイルを保存します。

    • AEM_URL:クラウドサービスパブリッシュ環境の URL を指定します。例:https://publish-p105303-e986623.adobeaemcloud.com

    • AEM_FORM_PATH:前のレッスンで作成したアダプティブフォームのパスを指定します。例:/content/forms/af/registration/

  3. コマンドウィンドウを開き、react-starter-kit-aem-headless-forms ディレクトリにいることを確認し、次のコマンドを実行します。

    code language-shell
    npm install
    

  4. コマンドプロンプトウィンドウで、次のコマンドを実行します。

    code language-shell
    npm start
    

    このコマンドは、ローカル開発サーバーを起動し、Google Material UI フロントエンドライブラリを使用して、AEM から取得したフォーム定義をヘッドレスにレンダリングします。

    note note
    NOTE
    npm start コマンドを実行した後、ブラウザーで 3~4 分以上空白の画面が表示される場合は、ブラウザーの URL の localhost を 127.0.0.1 に変更して Enter キーを押します。

  5. このフォームレンディションで同じビジネスロジックの実行を評価するには:

    チェックボックスをオンにして 5%オフを受け取る」を選択します。後続のオプション「We.Finance のコーポレートクレジットカードフォームを申し込みますか?」が無効になります。

    {width="50%"}

レッスン 6

目的

Material UI コンポーネントのバリエーションを使用して、ヘッドレスフォームの代替ルックアンドフィールを作成する

レッスンのコンテキスト

このレッスンでは、フロントエンド開発者として、様々なコンポーネントの代替表現を作成する方法を学びます。ビジネスユーザーが以前に作成したアダプティブフォームには、Material UI を使用します。

演習

ヘッドレスプロジェクト内のコンポーネントのバリエーションを更新します。Mterial UI のテキスト入力コンポーネントのバリアントを OutlinedInput に変更する手順は次のとおりです。

  1. Visual Code で、src/components/textinput/index.tsx にある index.tsx ファイルを開いて、テキスト入力コンポーネントに移動します。

  2. コード 103 行目の先頭に // を追加します。行がコメントに変換されます。

    code language-shell
    //const Cmp = \'outlined\' === appliedCssClassNames ? OutlinedInput: Input;
    
  3. 別のバリアントのコンポーネントを使用するために、104 行目に次のコードを追加して、ファイルを保存します。Ctrl + S キーを使用してファイルを保存します。

    code language-shell
    const Cmp = OutlinedInput;
    

    「OutlinedInput」バリアントは正しく大文字と小文字を使用する必要があります。さもないと、コンパイルが失敗します。ローカル開発環境のコンパイルは、コマンドプロンプトで自動的に開始されます。次のメッセージが表示されるまで待ちます

    webpack 5.75.0 compiled with 3 warnings in 6659 ms
    inside proxy req
    setting new origin header

  4. 自動的に更新されない場合は、ブラウザーを更新し、テキスト入力コンポーネントが別のバリアントを使用していることを確認します。

    この変更は、エンドユーザーに対して AEM Forms Server のフォーム定義に変更を加えずに行われ、検討中のヘッドレスチャネルに固有のものです。
    例えば、このラボの web チャネルです。

    {width="50%"}

  5. Visual Studio Code とコマンドプロンプトウィンドウを閉じます。

よくある質問(FAQ)

アダプティブフォームウィザードは一般公開されていますか?
はい、AEM Forms as a Cloud Service で使用できます。
コアコンポーネントは一般公開されていますか?
はい、アダプティブフォームのコアコンポーネントは、AEM Forms as a Cloud Service で使用できます。
ヘッドレスフォームは公開されていますか?
はい、ヘッドレスフォームは、AEM Forms as a Cloud Service で使用できます。
ヘッドレスフォームには別のライセンスが必要ですか?
いいえ、ヘッドレスフォームは同じライセンス値指標、フォーム送信数を使用します。
コアコンポーネントとヘッドレスフォームは AEM 6.5 Forms で使用できますか?
はい。アダプティブフォームのコアコンポーネントとヘッドレスフォームは、AEM Forms 6.5 サービスパック 16 以降で使用できます。

次の手順

これで、アダプティブフォームを作成し、ヘッドレスフォームを使用して複数のチャネルにアダプティブフォームを配信する方法がわかりました。これらのスキルを使用すると、ユーザーがどこにいても、スケーラブルで高品質なデータキャプチャエクスペリエンスを作成できます。

リソース

recommendation-more-help
ce8b2828-9203-402e-a565-7b758c99b2ba