ユニバーサルエディター(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 プロジェクトに追加することもできます。
このチュートリアルでは、ユニバーサルエディターの WYSIWYG オーサリングを使用して、新規または既存の Adobe Experience Manager サイトプロジェクトで独自のフォームを作成、プレビュー、公開する方法について説明します。
前提条件
- GitHub アカウントを持っており、Git の基本を理解している。
- HTML、CSS、JavaScript の基本を理解している。
- ローカル開発用の Node/npm がインストールされている。
アダプティブフォームブロックを使用した設定済みの新しい AEM プロジェクトの作成
AEM Forms ボイラープレートテンプレートを使用すると、Adaptive Forms ブロックで設定済みの AEM プロジェクトをすぐに開始できます。 これは、AEM のベストプラクティスに従って、フォームの作成をすぐに開始する最も迅速かつ簡単な方法です。
AEM Forms ボイラープレートリポジトリテンプレートの基本を学ぶ
-
AEM プロジェクトの GitHub リポジトリを作成します。 リポジトリを作成するには:
-
https://github.com/adobe-rnd/aem-boilerplate-forms に移動します。
-
「このテンプレートを使用」オプションをクリックし、「新しいリポジトリを作成」オプションを選択します。
新しいリポジトリを作成 画面が開きます。
-
新しいリポジトリを作成 画面で、所有者 を選択し、リポジトリ名 を指定します。アドビでは、リポジトリを パブリック に設定することをお勧めします。したがって、「パブリック」オプションを選択し、「リポジトリを作成」をクリックします。
-
-
AEM Code Sync GitHub アプリをリポジトリにインストールします。 インストールするには:
- https://github.com/apps/aem-code-sync/installations/new に移動します。
- AEM Code Sync をインストール 画面で、「リポジトリのみを選択」オプションを選択し、新しく作成したリポジトリを選択します。「保存」をクリックします。
-
次に、AEM Forms ボイラープレートを使用して作成した GitHub リポジトリを AEM プロジェクトオーサリング環境にリンクします。接続する手順は、次のとおりです。
-
AEM Forms ボイラープレートを使用して以前に作成した GitHub リポジトリに移動します。
-
fstab.yaml ファイルを編集用に開きます。
-
fstab.yaml ファイルを編集して、プロジェクトのマウントポイントを更新します。URL を AEM as a Cloud Service オーサリングインスタンスの URL に置き換えます。
https://<aem-author>/bin/franklin.delivery/<owner>/<repository>/main
-
参照を更新し、すべてが正しく表示されたら、更新された fstab.yaml ファイルをコミットします。
ビルドの問題が発生した場合は、GitHub ビルド問題のトラブルシューティングを参照してください。
-
新しい AEM プロジェクトの作成
GitHub プロジェクトが完成したら、AEM as a Cloud Service オーサリングインスタンスで新しい AEM プロジェクトを作成して公開できます。
-
新しい AEM プロジェクトを作成するには:
-
AEM as a Cloud Service オーサリングインスタンスにログインし、「Sites」を選択します。
-
作成/テンプレートからサイト をクリックします。
-
Edge Delivery Services サイトテンプレートを選択し、「次へ」をクリックします。
note note NOTE - オーサリングインスタンスで Edge Delivery Services サイトテンプレートが使用できない場合は、「読み込み」ボタンをクリックしてテンプレートをアップロードします。
- Edge Delivery Services サイトテンプレートは、GitHub からダウンロードできます。
-
新しい AEM プロジェクトを作成するには、次の詳細を入力します。
- サイトのタイトル - サイトを説明するタイトルを追加します。
- サイトのタイトル - 前の手順で定義した
site-name
を使用します。 - GitHub URL - 前の手順で作成した GitHub プロジェクトの URL を使用します。
-
サイトを作成 ダイアログが表示されたら、「OK」をクリックします。
わずか数分で、新しい AEM プロジェクトが作成されます。
-
Sites コンソールで新しく作成した AEM プロジェクトに移動し、「編集」をクリックします。
この場合、説明のためにindex.html
ページを使用しています。AEM プロジェクトがユニバーサルエディターの新しいタブで開き、WYSIWYG オーサリングが可能になります。これで、AEM プロジェクトを編集できます。
-
-
作成した AEM プロジェクトの公開
AEM プロジェクトの編集が完了したら、プロジェクトを公開します。公開するには:
-
Sites コンソールで、すべての AEM プロジェクトページを選択し、「クイック公開」をクリックします。
-
クイック公開 確認ダイアログが表示されたら、「公開」をクリックして公開プロセスを開始します。
または、ユニバーサルエディターのユーザーインターフェイスから AEM プロジェクトページを直接公開することもできます。
これで完了です。
https://<branch>--<repo>--<owner>.aem.page/content/<site-name>/
で新しい web サイトを実行しています。<branch>
は、GitHub リポジトリのブランチを指します。<repository>
は GitHub リポジトリを示します。<owner>
は、GitHub リポジトリをホストする GitHub アカウントのユーザー名を指します。<site-name>
は、作成したサイト名の名前を指します。
例えば、分岐名が
main
、リポジトリがedsforms
、所有者がwkndforms
、site-name
がeds-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 プロジェクトがある場合は、アダプティブフォームブロックを現在のプロジェクトに統合して、フォームの作成を開始できます。
統合するには:
-
必要なファイルとフォルダーを追加
-
次のフォルダーとファイルを AEM Forms ボイラープレートから AEM プロジェクトにコピー&ペーストします。
- フォームブロックフォルダー
- form-common フォルダー
- form-components フォルダー
- form-editor-support.js ファイル
- form-editor-support.css ファイル
-
-
コンポーネント定義とモデルファイルを更新
-
AEM プロジェクト内の
../models/_component-definition.json
ファイルに移動し、AEM Forms ボイラープレート内の _component-definition.json ファイルからの変更を使用して更新します。 -
AEM プロジェクト内の
../models/_component-models.json
ファイルに移動し、AEM Forms ボイラープレート内の _component-models.json ファイルからの変更を使用して更新します。
-
-
エディタースクリプトにフォームエディターを追加
- AEM プロジェクト内の
../scripts/editor-support.js
ファイルに移動し、AEM Forms ボイラープレート内の editor-support.js file ファイルからの変更を使用して更新します。
- AEM プロジェクト内の
-
ESLint 設定ファイルを更新
-
AEM プロジェクトの
../.eslintignore
ファイルに移動し、次のコード行を追加して、フォームブロックルールエンジンに関連するエラーを防ぎます。code language-none blocks/form/rules/formula/* blocks/form/rules/model/*
-
-
これらの変更を GitHub 上の AEM プロジェクトリポジトリにコミットしてプッシュします。
これで作業は完了です。アダプティブフォームブロックが AEM プロジェクトの一部になりました。フォームの作成と AEM プロジェクトへの追加を開始できます。
WYSIWYG を使用した Forms の作成
WYSIWYG オーサリング用のユニバーサルエディターで AEM プロジェクトを開き、プロジェクトを編集し、AEM プロジェクトページに Edge Delivery Services フォームを含める「アダプティブフォーム」セクションを追加できます。
-
AEM プロジェクトページに「アダプティブフォーム」セクションを追加します。追加するには:
- Sites コンソールで AEM プロジェクトに移動し、編集するサイトページを選択して、「編集」をクリックします。編集用にユニバーサルエディターで AEM プロジェクトページが開きます。
この場合、説明のためにindex.html
ページを使用しています。 - コンテンツツリーを開き、「アダプティブフォーム」セクションを追加するセクションに移動します。
- 「追加」アイコンをクリックし、コンポーネントリストから アダプティブフォーム コンポーネントを選択します。
「アダプティブフォーム」セクションが追加されます。これで、AEM プロジェクトページへのフォームコンポーネントの追加を開始できます。
- Sites コンソールで AEM プロジェクトに移動し、編集するサイトページを選択して、「編集」をクリックします。編集用にユニバーサルエディターで AEM プロジェクトページが開きます。
-
追加した「アダプティブフォーム」セクションにフォームコンポーネントを追加します。フォームコンポーネントを追加するには:
-
コンテンツツリーで、追加した「アダプティブフォーム」セクションに移動します。
-
「追加」アイコンをクリックし、アダプティブフォームコンポーネント リストから目的のコンポーネントを追加します。
また、ユニバーサルエディターには直感的なドラッグ&ドロップ機能が用意されているので、必要なアダプティブフォームコンポーネントをドラッグ&ドロップすることもできます。
-
追加したアダプティブフォームコンポーネントを選択し、プロパティ を使用して、そのプロパティを更新します。
-
フォームをプレビューします。
以下のスクリーンショットは、WYSIWYG オーサリングを使用して AEM プロジェクトで作成されたフォームを示しています。プレビューが完了したら、ユーザーはページの公開に進むことができます。
note note NOTE 変更を行った後は、AEM プロジェクトページを再度公開することが重要です。そうしないと、更新がブラウザーに表示されません。
-
-
AEM プロジェクトページを再公開します。
-
フォームを追加した後、「公開」をクリックして AEM プロジェクトページを再度公開します。
-
画面に 公開 確認ダイアログが表示されたら、「公開」をクリックして公開を開始します。
「公開」ボタンをクリックすると、
Publish started successfully
メッセージが表示されます。
これで、次の 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 開発環境をすぐに起動して実行するには:
-
AEM CLI をインストールします。AEM CLI により、開発タスクが簡素化されます。npm を使用してグローバルにインストールしましょう。
code language-bash npm install -g @adobe/aem-cli
-
GitHub プロジェクトのクローンを作成します。次のコマンドを使用して、GitHub から AEM プロジェクトリポジトリのクローンを作成します。 リポジトリの所有者と リポジトリ名を置き換えます。
code language-none git clone https://github.com/<owner>/<repo>
-
ローカル環境を起動します。プロジェクトディレクトリに移動し、次の 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 ファイルに置き換えて、読み込みステートメントを更新します。