ユニバーサルエディター(WYSIWYG)での AEM Forms の Edge Delivery Services の基本を学ぶ

バージョン
記事リンク
ユニバーサルエディターベースのオーサリング
この記事
ドキュメントベースのオーサリング
ここをクリックしてください

この機能は、早期アクセスプログラムを通じて使用できます。アクセスをリクエストするには、公式アドレスから aem-forms-ea@adobe.com に、GitHub の組織名とリポジトリ名を記載したメールを送信してください。例えば、リポジトリ URL が https://github.com/adobe/abc の場合、組織名は adobe で、リポジトリ名は abc になります。

今日のデジタル時代では、ユーザーにわかりやすいフォームはすべての組織にとって不可欠です。Edge Delivery Services フォームは、WYSIWYG(見たままが得られる)機能を提供するユニバーサルエディターを使用して作成されます。最新の直感的なインターフェイスで、効率的なフォームオーサリングを実現します。

AEM Forms には、アダプティブフォームブロックと呼ばれるブロックが用意されており、データを取得して保存する Edge Delivery Services フォームを簡単に作成できます。アダプティブフォームブロックで事前設定済みの新しい AEM プロジェクトを作成することも、アダプティブフォームブロックを既存の AEM プロジェクトに追加することもできます。

Github リポジトリのワークフロー {width="auto"}

このチュートリアルでは、ユニバーサルエディターの WYSIWYG オーサリングを使用して、新規または既存の Adobe Experience Manager サイトプロジェクトで独自のフォームを作成、プレビュー、公開する方法について説明します。

前提条件

  • GitHub アカウントを持っており、Git の基本を理解している。
  • HTML、CSS、JavaScript の基本を理解している。
  • ローカル開発用の Node/npm がインストールされている。

アダプティブフォームブロックを使用した設定済みの新しい AEM プロジェクトの作成

AEM Forms ボイラープレートテンプレートを使用すると、Adaptive Forms ブロックで設定済みの AEM プロジェクトをすぐに開始できます。 これは、AEM のベストプラクティスに従って、フォームの作成をすぐに開始する最も迅速かつ簡単な方法です。

AEM Forms ボイラープレートリポジトリテンプレートの基本を学ぶ

  1. AEM プロジェクトの GitHub リポジトリを作成します。 リポジトリを作成するには:

    1. https://github.com/adobe-rnd/aem-boilerplate-forms に移動します。

      AEM Forms ボイラープレート

    2. このテンプレートを使用」オプションをクリックし、「新しいリポジトリを作成」オプションを選択します。

      AEM Forms ボイラープレートを使用して新しいリポジトリを作成

      新しいリポジトリを作成 ​画面が開きます。

    3. 新しいリポジトリを作成 ​画面で、所有者 ​を選択し、リポジトリ名 ​を指定します。アドビでは、リポジトリを​ パブリック ​に設定することをお勧めします。したがって、「パブリック」オプションを選択し、「リポジトリを作成」をクリックします。

      リポジトリをパブリックに設定

  2. AEM Code Sync GitHub アプリをリポジトリにインストールします。 インストールするには:

    1. https://github.com/apps/aem-code-sync/installations/new に移動します。
    2. AEM Code Sync をインストール ​画面で、「リポジトリのみを選択」オプションを選択し、新しく作成したリポジトリを選択します。「保存」をクリックします。

    リポジトリをパブリックに設定

  3. 次に、AEM Forms ボイラープレートを使用して作成した GitHub リポジトリを AEM プロジェクトオーサリング環境にリンクします。接続する手順は、次のとおりです。

    1. AEM Forms ボイラープレートを使用して以前に作成した GitHub リポジトリに移動します。

    2. fstab.yaml ファイルを編集用に開きます。

      fstab.yaml ファイルを開く

    3. fstab.yaml ファイルを編集して、プロジェクトのマウントポイントを更新します。URL を AEM as a Cloud Service オーサリングインスタンスの URL に置き換えます。
      https://<aem-author>/bin/franklin.delivery/<owner>/<repository>/main

      fstab.yaml ファイルを編集

    4. 参照を更新し、すべてが正しく表示されたら、更新された fstab.yaml ファイルをコミットします。

      変更をコミット

      ビルドの問題が発生した場合は、GitHub ビルド問題のトラブルシューティングを参照してください。

新しい AEM プロジェクトの作成

GitHub プロジェクトが完成したら、AEM as a Cloud Service オーサリングインスタンスで新しい AEM プロジェクトを作成して公開できます。

  1. 新しい AEM プロジェクトを作成するには:

    1. AEM as a Cloud Service オーサリングインスタンスにログインし、「Sites」を選択します。

      「Sites」を選択

    2. 作成テンプレートからサイト ​をクリックします。

      サイトを作成

    3. Edge Delivery Services サイトテンプレートを選択し、「次へ」をクリックします。

      サイトテンプレートを選択

      note note
      NOTE
      • オーサリングインスタンスで Edge Delivery Services サイトテンプレートが使用できない場合は、「読み込み」ボタンをクリックしてテンプレートをアップロードします。
      • Edge Delivery Services サイトテンプレートは、GitHub からダウンロードできます。
    4. 新しい AEM プロジェクトを作成するには、次の詳細を入力します。

      • サイトのタイトル - サイトを説明するタイトルを追加します。
      • サイトのタイトル - 前の手順で定義した site-name を使用します。
      • GitHub URL - 前の手順で作成した GitHub プロジェクトの URL を使用します。

      AEM サイトを作成

    5. サイトを作成 ​ダイアログが表示されたら、「OK」をクリックします。

      「OK」をクリック

      わずか数分で、新しい AEM プロジェクトが作成されます。

    6. Sites コンソールで新しく作成した AEM プロジェクトに移動し、「編集」をクリックします。
      この場合、説明のために index.html ページを使用しています。

      AEM サイトを編集

      AEM プロジェクトがユニバーサルエディターの新しいタブで開き、WYSIWYG オーサリングが可能になります。これで、AEM プロジェクトを編集できます。

      ユニバーサルエディターでサイトが開く

  2. 作成した AEM プロジェクトの公開

    AEM プロジェクトの編集が完了したら、プロジェクトを公開します。公開するには:

    1. Sites コンソールで、すべての AEM プロジェクトページを選択し、「クイック公開」をクリックします。

      AEM Sites プロジェクトを公開

    2. クイック公開 ​確認ダイアログが表示されたら、「公開」をクリックして公開プロセスを開始します。

      クイック公開確認ダイアログ

      または、ユニバーサルエディターのユーザーインターフェイスから AEM プロジェクトページを直接公開することもできます。

      クイック公開確認ダイアログ

    これで完了です。 https://<branch>--<repo>--<owner>.aem.page/content/<site-name>/ で新しい web サイトを実行しています。

    • <branch> は、GitHub リポジトリのブランチを指します。
    • <repository> は GitHub リポジトリを示します。
    • <owner> は、GitHub リポジトリをホストする GitHub アカウントのユーザー名を指します。
    • <site-name> は、作成したサイト名の名前を指します。

    例えば、分岐名が main、リポジトリが edsforms、所有者が wkndformssite-nameeds-forms の場合、web サイトは https://main--edsforms--wkndforms.aem.page/content/eds-forms/ で稼動しています。

    note note
    NOTE
    • AEM プロジェクトの index.html ページを表示するには、次の URL を使用します。https://<branch>--<repo>--<owner>.aem.page/content/<site-name>/
    • AEM プロジェクトの index page 以外のページを表示するには、次の URL を使用します。https://<branch>--<repo>--<owner>.aem.page/content/<site-name>/<site-page-name>

これで、フォームの作成と AEM プロジェクトへの追加を開始できます。

既存の AEM プロジェクトへのアダプティブフォームブロックの追加

既存の AEM プロジェクトがある場合は、アダプティブフォームブロックを現在のプロジェクトに統合して、フォームの作成を開始できます。

NOTE
この手順は、AEM ボイラープレートを使用して作成したプロジェクトに適用されます。 AEM Forms ボイラープレートを使用して AEM プロジェクトを作成した場合は、この手順をスキップできます。

統合するには:

  1. 必要なファイルとフォルダーを追加

    1. 次のフォルダーとファイルを AEM Forms ボイラープレートから AEM プロジェクトにコピー&ペーストします。

  2. コンポーネント定義とモデルファイルを更新

    1. AEM プロジェクト内の ../models/_component-definition.json ファイルに移動し、AEM Forms ボイラープレート内の _component-definition.json ファイルからの変更を使用して更新します。

    2. AEM プロジェクト内の ../models/_component-models.json ファイルに移動し、AEM Forms ボイラープレート内の _component-models.json ファイルからの変更を使用して更新します。

  3. エディタースクリプトにフォームエディターを追加

    1. AEM プロジェクト内の ../scripts/editor-support.js ファイルに移動し、AEM Forms ボイラープレート内の editor-support.js file ファイルからの変更を使用して更新します。
  4. ESLint 設定ファイルを更新

    1. AEM プロジェクトの ../.eslintignore ファイルに移動し、次のコード行を追加して、フォームブロックルールエンジンに関連するエラーを防ぎます。

      code language-none
          blocks/form/rules/formula/*
          blocks/form/rules/model/*
      
  5. これらの変更を GitHub 上の AEM プロジェクトリポジトリにコミットしてプッシュします。

これで作業は完了です。アダプティブフォームブロックが AEM プロジェクトの一部になりました。フォームの作成と AEM プロジェクトへの追加を開始できます。

WYSIWYG を使用した Forms の作成

WYSIWYG オーサリング用のユニバーサルエディターで AEM プロジェクトを開き、プロジェクトを編集し、AEM プロジェクトページに Edge Delivery Services フォームを含める「アダプティブフォーム」セクションを追加できます。

  1. AEM プロジェクトページに「アダプティブフォーム」セクションを追加します。追加するには:

    1. Sites コンソールで AEM プロジェクトに移動し、編集するサイトページを選択して、「編集」をクリックします。編集用にユニバーサルエディターで AEM プロジェクトページが開きます。
      この場合、説明のために index.html ページを使用しています。
    2. コンテンツツリーを開き、「アダプティブフォーム」セクションを追加するセクションに移動します。
    3. 追加」アイコンをクリックし、コンポーネントリストから​ アダプティブフォーム ​コンポーネントを選択します。

    コンテンツツリー

    「アダプティブフォーム」セクションが追加されます。これで、AEM プロジェクトページへのフォームコンポーネントの追加を開始できます。

  2. 追加した「アダプティブフォーム」セクションにフォームコンポーネントを追加します。フォームコンポーネントを追加するには:

    1. コンテンツツリーで、追加した「アダプティブフォーム」セクションに移動します。

      追加したアダプティブフォームブロック

    2. 追加」アイコンをクリックし、アダプティブフォームコンポーネント ​リストから目的のコンポーネントを追加します。

      コンポーネントを追加

      また、ユニバーサルエディターには直感的なドラッグ&ドロップ機能が用意されているので、必要なアダプティブフォームコンポーネントをドラッグ&ドロップすることもできます。

    3. 追加したアダプティブフォームコンポーネントを選択し、プロパティ ​を使用して、そのプロパティを更新します。

      プロパティを開く

    4. フォームをプレビューします。
      以下のスクリーンショットは、WYSIWYG オーサリングを使用して AEM プロジェクトで作成されたフォームを示しています。

      追加したフォーム

      プレビューが完了したら、ユーザーはページの公開に進むことができます。

      note note
      NOTE
      変更を行った後は、AEM プロジェクトページを再度公開することが重要です。そうしないと、更新がブラウザーに表示されません。
  3. AEM プロジェクトページを再公開します。

    1. フォームを追加した後、「公開」をクリックして AEM プロジェクトページを再度公開します。

      フォームを公開

    2. 画面に​ 公開 ​確認ダイアログが表示されたら、「公開」をクリックして公開を開始します。

      form1 を公開

      公開」ボタンをクリックすると、Publish started successfully メッセージが表示されます。

      form2 を公開

    これで、次の URL で Edge Delivery Services フォームが追加された AEM プロジェクトページを表示できます。
    https://<branch>--<repo>--<owner>.aem.page/content/<site-name>/

    例えば、分岐名が main、リポジトリが edsforms、所有者が wkndforms、サイト名が eds-forms の場合、URL は次のようになります。
    https://main--edsforms--wkndforms.aem.page/content/eds-forms/

    インデックスページ

アダプティブフォームブロックの .css ファイルと .js ファイルを編集し、ローカル AEM 開発環境を設定して Edge Delivery Services フォームをスタイル設定すると、変更がブラウザーで即座に表示できます。

ローカル AEM 開発環境の設定

カスタムスタイルとコンポーネントをローカルで開発するローカル AEM 開発環境を設定できます。ローカル AEM 開発環境をすぐに起動して実行するには:

  1. AEM CLI をインストールします。AEM CLI により、開発タスクが簡素化されます。npm を使用してグローバルにインストールしましょう。

    code language-bash
        npm install -g @adobe/aem-cli
    
  2. GitHub プロジェクトのクローンを作成します。次のコマンドを使用して、GitHub から AEM プロジェクトリポジトリのクローンを作成します。 リポジトリの所有者と リポジトリ名を置き換えます。

    code language-none
    git clone https://github.com/<owner>/<repo>
    
  3. ローカル環境を起動します。プロジェクトディレクトリに移動し、次の 1 つのコマンドでローカル AEM インスタンスを起動します。

    code language-none
    cd <repo>
    aem up
    

フォームのスタイル設定とコーディングについては、アダプティブフォームブロックの blocks/form フォルダーでローカルの変更を行うことができます。このディレクトリ内の .css または .js ファイルを編集すると、変更がブラウザーに即座に反映されることがわかります。

変更が完了したら、Git コマンドを使用して変更をコミットおよびプッシュします。これにより、次の URL からアクセスできるプレビュー環境と実稼動環境が更新されます(プレースホルダーをプロジェクトの詳細に置き換えます)。

プレビュー:https://<branch>--<repo>--<owner>.aem.page/content/<site-name>

実稼動:https://<branch>--<repo>--<owner>.aem.live/content/<site-name>

GitHub ビルドの問題のトラブルシューティング

潜在的な問題に対処することで、GitHub ビルドプロセスがスムーズに行われるようにします。

  • lint エラーの処理:
    lint エラーが発生した場合は、回避できます。 [EDS プロジェクト]/package.json ファイルを開き、「lint」スクリプトを "lint": "npm run lint:js && npm run lint:css" から "lint": "echo 'skipping linting for now'" に変更します。 ファイルを保存し、変更を GitHub プロジェクトにコミットします。

  • モジュールパスエラーの解決:
    「モジュール '…/…/scripts/lib-franklin.js' へのパスを解決できません」というエラーが発生した場合は、[EDS プロジェクト]/blocks/forms/form.js ファイルに移動します。 lib-franklin.js ファイルを aem.js ファイルに置き換えて、読み込みステートメントを更新します。

関連トピック

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