はじめに - 開発者向けチュートリアル

今日のデジタル時代では、ユーザーにわかりやすいフォームを作成することはどの組織にとっても不可欠です。AEM Forms の Edge Delivery Services(EDS)を使用すると、Google Docs や Microsoft Office などの使い慣れたツールを使用してフォームを作成できます。

これらのフォームは、Microsoft Excel または Google Sheets ファイルに直接データを送信します。これにより、Google Sheets、Microsoft Excel、Microsoft SharePoint の活発なエコシステムと堅牢な API を使用して、送信されたデータを簡単に処理したり、既存のビジネスワークフローを開始したりできます。

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

この AEM Forms チュートリアルでは、新しい Adobe Experience Manager(AEM)Forms プロジェクトを使用して独自のカスタムフォームを作成、プレビュー、公開する方法について説明します。

前提条件

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

警告 このチュートリアルでは、macOS、Chrome および Visual Studio Code を使用します。この手順は他の設定にも適用できますが、スクリーンショットと特定の UI 要素は、選択したオペレーティングシステム、ブラウザー、コードエディターによって異なる場合があります。

アダプティブフォームブロックを使用した設定済みの新しい 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 をインストール画面で、「リポジトリのみを選択」オプションを選択し、新しく作成したリポジトリを選択します。「保存」をクリックします。

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

    note note
    NOTE
    GitHub Enterprise で IP フィルタリングを使用している場合は、次の IP(3.227.118.73)を許可リストに追加できます。

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

    • <branch> は、GitHub リポジトリのブランチを指します。
    • <repository> は GitHub リポジトリを示します。
    • <owner> は、GitHub リポジトリをホストする GitHub アカウントのユーザー名を指します。

    例えば、ブランチ名が main、リポジトリが wefinance、所有者が wkndforms の場合、web サイトは https://main—wefinance—wkndforms.hlx.page/ で稼働しています。

独自のコンテンツソースのリンク

新しく作成した GitHub リポジトリは、Google Drive フォルダーに保存されたサンプルコンテンツを指します。この読み取り専用コンテンツは、フォームの最適な出発点となります。必要に応じて、自身の Google Drive にコピーし、自由にカスタマイズしてください。

Google Drive のサンプルコンテンツ

サンプルコンテンツを自身のコンテンツフォルダーにコピーし、GitHub リポジトリが自身のコンテンツフォルダーを指すようにするには、次の手順を実行します。

  1. Google Drive または Microsoft SharePoint で、AEM コンテンツ専用の新しいフォルダーを作成します。このドキュメントでは、Microsoft SharePoint で作成されたフォルダーを使用します。

  2. Adobe Experience Manager ユーザー(helix@adobe.com)とフォルダーを共有します。

    「アクセスを管理」オプションを使用して、AEM ユーザーとフォルダーを共有する(SharePoint)

    「アクセスを管理」オプションを使用して、AEM ユーザーとフォルダーを共有する(Google Drive)

    フォルダーに対する編集権限が Adobe Experience Manager ユーザーに付与されていることを確認します。

    AEM ユーザーとフォルダーを共有し、編集権限を付与する(SharePoint)

    AEM ユーザーとフォルダーを共有し、編集権限を付与する(Google Drive)

  3. Google Drive フォルダーに保存されたサンプルコンテンツをフォルダーにコピーします。コピーする手順は、次のとおりです。

    1. ファイルを一緒にダウンロードするか、個々のファイルをダウンロードします。

      サンプルコンテンツのダウンロード

      nav および footer ファイルはページの基本レイアウトを定義し、プロジェクト全体で変更されることはほとんどありません。また、他のほとんどのコンテンツファイルとは異なる特定の構造を持っています。これらのファイルを調べると、AEM プロジェクトでコンテンツがどのように編成されているかがわかります。

    2. これらのファイルを Microsoft SharePoint または Google Drive フォルダーにアップロードします。

      Google Drive のサンプルコンテンツ

      必ず、サンプルコンテンツの enquiry シートを Google Drive または Microsoft SharePoint のフォルダーにコピーしてください。サンプルフォームの構造が含まれています。

  4. コンテンツフォルダーの設定が完了したので、以前に AEM Forms ボイラープレートを使用して作成した GitHub 上のプロジェクトにリンクします。接続する手順は、次のとおりです。

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

    2. fstab.yaml を開いて編集します。

    3. 既存の参照を、AEM ユーザー(helix@adobe.com)と共有したフォルダーのパスに置き換えます。

      Google Drive のサンプルコンテンツ

      Microsoft SharePoint を使用する場合、フォルダーパスは次の形式を使用します。

      code language-html
      https://<tenant>.SharePoint.com/sites/<sp-site>/Shared%20Documents/<folder-name>
      

      例:

      code language-html
      https://adobe.SharePoint.com/sites/wkndforms/Shared%20Documents/wefinance
      

      Microsoft SharePoint でのファイル管理について詳しくは、Adobe SharePoint の使用方法を参照してください。

    4. 参照を更新し、すべてが正しく表示されたら、更新された fsatb.yaml ファイルをコミットします。ビルドの問題が発生した場合は、GitHub ビルド問題のトラブルシューティングを参照してください。

      更新された fsatab.yaml ファイルのコミット

      これにより、コンテンツフォルダーが web サイトに接続されます。参照を更新した後、最初に「404 Not Found」というエラーが発生する場合があります。これは、コンテンツがまだプレビューされていないためです。次の節では、コンテンツのオーサリングとプレビューを開始する方法について説明します。

コンテンツのプレビューと公開

最後の手順を完了しても、新しいコンテンツソースは空にはなりませんが、プレビューまたはライブステージに昇格されるまで、web サイトには表示されません。現在、これにより 404 エラーが発生する場合があります。

非公開のコンテンツをプレビューするには:

  1. AEM Sidekick という Chrome 拡張機能をインストールします。

    AEM SideKick をインストール

    拡張機能を Chrome にインストールした後、ピン留めしておくと、見つけやすくなります。

    AEM Sidekick をピン留め

  2. Sidekick Chrome 拡張機能を設定するには、以前に共有した Google Drive または Microsoft SharePoint フォルダーに移動し、ブラウザのツールバーにある拡張機能アイコンを右クリックして、「Add this project」を選択します。

    AEM Sidekick - プロジェクトを追加

    拡張機能がインストールされ、プロジェクトが追加されると、Google Drive からコンテンツをプレビューして公開する準備が整います。

  3. Microsoft SharePoint または Google Drive フォルダー内のすべてのドキュメントを選択します。Ctrl キー(Windows/Linux)または Cmd キー(Mac)を押しながらクリックすると、複数のドキュメントを選択できます。

    すべてのファイルを選択

  4. Chrome 拡張機能バーにピン留めされている AEM Sidekick アイコンをクリックします。画面にツールバーが表示されます。コンテンツのプレビューまたは公開を選択できます。

    indexnavfooter および enquiry ファイルをコピーした場合、これらはすべて独自のプレビューおよび公開サイクルを持つ別個のドキュメントになるので、すべてをプレビュー(および公開)します。

    ファイルをプレビューすると、新しいブラウザータブにドキュメントが表示されます。サンプルフォームをプレビューするには、次の URL に移動します。

    code language-html
    https://<branch>--<repository>--<owner>.hlx.live
    
    • <branch> は、GitHub リポジトリのブランチを参照します。
    • <repository> は GitHub リポジトリを示します。
    • <owner> は、GitHub リポジトリをホストする GitHub アカウントのユーザー名を参照します。

    https://<branch>--<repo>--<owner>.hlx.page/enquiry の URL。

    例えば、プロジェクトのリポジトリの名前が「wefinance」で、アカウント所有者「wkndforms」の下にあり、「main」ブランチを使用している場合、URL は次のようになります。

    https://main–wefinance–wkndforms.hlx.page

フォームの作成

サンプルコンテンツには、「お問い合わせ」フォームのテンプレートとなる「お問い合わせ」シートが含まれます。シートの各行はフォームフィールドを表し、列ヘッダーではフィールドのプロパティを定義します。このサンプルフォームを使用すると、フォームの作成を素早く開始できます。

お問い合わせフォーム

まず、フィールドラベルの更新から始めましょう。編集用に「お問い合わせ」シートを開き、送信ボタンのラベルを「Let's Chat」に変更し、AEM Sidekick を使用してファイルをプレビューして公開します。

お問い合わせフォーム

ファイルをプレビューまたは公開すると、ファイルの JSON バージョンが新しいタブに表示されます。ファイルのプレビュー(.hlx.page)または公開(.hlx.live)の URL をコピーします。

フォームスプレッドシートの JSON

enquiry ファイルを開き、フォームブロック内の URL を、前の手順でコピーしたファイルの URL に置き換えます。URL がハイパーリンクであることを確認します。

スプレッドシートの URL の .json URL を使用したお問い合わせファイル

AEM Sidekick を使用して、お問い合わせドキュメントをプレビューおよび公開します。

スプレッドシートの URL の .json URL を使用したお問い合わせファイル

更新されたお問い合わせフォームをプレビューするには、次の URL に移動します。

    https://<branch>--<repository>--<owner>.hlx.page/enquiry

送信ボタンのラベルが Let's Chat に更新されます。

お問い合わせフォーム

新しいフォームの作成と公開について詳しくは、フォームの作成ガイドを参照してください。

スタイル設定と機能の開発の開始

ローカル AEM 開発環境をすぐに起動して実行するには、次の手順を実行します。

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

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

    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>.hlx.page/
実稼動環境:https://<branch>--<repo>--<owner>.hlx.live/

これで完了です。ローカル開発環境が正常に設定され、変更がデプロイされました。

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

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

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

統合するには:

  1. アダプティブフォームブロックリポジトリ:https://github.com/adobe-rnd/aem-boilerplate-forms をコンピューターにクローンします。

  2. ダウンロードしたフォルダー内で、blocks/form フォルダーを見つけます。このフォルダーをコピーします。次に、AEM プロジェクトのローカル blocks フォルダーに移動し、コピーしたフォームフォルダーをここにペーストします。

  3. これらの変更を GitHub 上の AEM プロジェクトにコミットしてプッシュします。

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

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

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

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

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

関連トピック

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