ローカル開発環境と初期開発プロジェクトの設定

​ Adobe Experience Manager Forms as a ​ Cloud Service 環境を設定する場合は、開発環境、ステージング環境および実稼動環境をクラウドに設定します。また、ローカル開発環境を設定および構成することもできます。

ローカル開発環境を使用すると、クラウド開発環境にログインせずに次の操作を実行できます。

アダプティブフォームまたは関連アセットがローカル開発インスタンスまたはアプリケーションで[カスタマーコミュニケーション]を生成する準備が整ったら、アダプティブフォームまたはカスタマーコミュニケーションアプリケーションをローカル開発環境から Cloud Service 環境にエクスポートして、さらにテストを実施したり、実稼動環境に移行したりできます。

また、カスタムコンポーネントや事前入力サービスなどのカスタムコードを、ローカル開発環境上で開発し、テストすることもできます。カスタムコードがテストされ、準備が整ったら、Cloud Service 開発環境の Git リポジトリーを使用して、カスタムコードをデプロイできます。

新しいローカル開発環境を設定し、それを使用してアクティビティ向けに開発するには、以下の操作をリストに記載された順序で実行します。

前提条件

ローカル開発環境を設定するには、以下のソフトウェアが必要です。ローカル開発環境の設定を開始する前に、以下をダウンロードしてください。

ソフトウェア 説明 ダウンロードリンク
Adobe Experience Manager as a Cloud Service SDK SDK には、Adobe Experience Manager QuickStart ツールと Dispatcher ツールが含まれています ソフトウェア配布から最新の SDK をダウンロード
Adobe Experience Manager Forms 機能アーカイブ(AEM Forms アドオン) アダプティブフォームおよびその他の Adobe Experience Manager Forms 機能を作成、スタイル設定、最適化するためのツール ソフトウェア配布からダウンロード
(オプション)Adobe Experience Manager Forms 参照コンテンツ アダプティブフォームおよびその他の Adobe Experience Manager Forms 機能を作成、スタイル設定、最適化するためのツール ソフトウェア配布からダウンロード
(オプション)Adobe Experience Manager Forms Designer アダプティブフォームおよびその他の Adobe Experience Manager Forms 機能を作成、スタイル設定、最適化するためのツール ソフトウェア配布からダウンロード

ソフトウェア配布から最新バージョンのソフトウェアをダウンロード

最新バージョンの Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms 機能アーカイブ(AEM Forms アドオン)、Forms 参照アセット、Forms Designer をソフトウェア配布からダウンロードするには:

  1. Adobe ID を使用して、https://experience.adobe.com/#/downloads にログイン

    メモ

    AEM as a Cloud Service SDK をダウンロードするには、アドビ組織が AEM as a Cloud Service に対してプロビジョニングされている必要があります。

  2. AEM as a Cloud Service」タブに移動します。

  3. 公開日を降順で並べ替えます。

  4. 最新の Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms 機能アーカイブ(AEM Forms アドオン)、Forms 参照アアセット、Forms Designer をクリックします。

  5. ソフトウェア利用許諾契約を確認し、同意します。「ダウンロード」ボタンをタップします。

AEM プロジェクト用の開発ツールの設定

Adobe Experience Manager Forms プロジェクトはカスタムコードベースです。Cloud Manager を介して Adobe Experience Manager as a Cloud Service にデプロイされるコード、設定およびコンテンツが含まれます。AEM プロジェクトの Maven アーキタイプは、プロジェクトのベースライン構造を提供します。

Adobe Experience Manager プロジェクトに使用する以下の開発ツールを設定します。

開発ツールを設定する詳しい手順については、「開発ツールの設定」を参照してください。

開発用のローカル Experience Manager 環境の設定

Cloud Service SDK は、QuickStart ファイルを提供します。Experience Manager のローカルバージョンを実行します。オーサーインスタンスまたはパブリッシュインスタンスはローカルで実行できます。

QuickStart はローカル開発経験を提供しますが、Adobe Experience Manager as a Cloud Service で利用できるすべての機能を備えているわけではありません。そのため、機能をステージングまたは実稼動に移す前に、常に Adobe Experience Manager as a Cloud Service 開発環境を使用して機能とコードをテストしてください。

ローカル Experience Manager 環境をインストールおよび設定するには、以下の手順を実行します。

ローカルのオーサーおよびパブリッシュインスタンスへの Forms アーカイブの追加と Forms 専用のユーザーの設定

リストに記載された順序で以下の手順を実行して、Forms アーカイブを Experience Manager インスタンスに追加し、Forms 専用のユーザーを設定します。

最新の Forms アドオン機能アーカイブのインストール

Adobe Experience Manager Forms as a Cloud Service 機能アーカイブは、ローカル開発環境でアダプティブフォームを作成、スタイル設定、最適化するためのツールを提供します。パッケージをインストールしてアダプティブフォームを作成し、AEM Forms のその他の様々な機能を使用します。パッケージをインストールするには、以下を実行します。

  1. ソフトウェア配布から、お使いのオペレーティングシステム用の最新の AEM Forms アーカイブをダウンロードして抽出します。

  2. crx-quickstart/install ディレクトリに移動します。フォルダーが存在しない場合は作成します。

  3. AEM インスタンスを停止し、AEM Forms アドオン機能アーカイブ、aem-forms-addon-<version>.far をインストールフォルダーに配置して、インスタンスを再起動します。

ユーザーと権限の設定

フォーム開発者やフォーム担当者などのユーザーを作成し、これらのユーザーを事前定義されたフォームグループに追加して、必要な権限を与えます。以下の表に、フォームユーザーのタイプごとに、すべてのタイプのユーザーと事前定義済みのグループを示します。

ユーザータイプ AEM グループ
フォーム担当者/ forms-users(AEM Forms ユーザー)、template-authors、workflow-users、workflow-editors、fdm-authors
フォーム開発者 forms-users(AEM Forms ユーザー)、template-authors、workflow-users、workflow-editors、fdm-authors
カスタマーエクスペリエンスリードまたは UX デザイナー forms-users、template-authors
AEM 管理者 aem-administrators、fd-administrators
エンドユーザー ユーザーがアダプティブフォームを表示および送信するためにログインする必要がある場合は、そのユーザーを forms-users グループに追加します。
アダプティブフォームへのアクセスにユーザー認証が必要ない場合は、グループを割り当てません。

レコードのドキュメント用のローカル開発環境の設定(DoR)

AEM Forms as a Cloud Services は、レコードのドキュメントの開発を容易にし、その他の microservices を使用するための、Docker ベースの SDK 環境を提供します。これにより、プラットフォーム固有のバイナリやアダプテーションを手動で設定する必要がなくなります。環境を設定するには:

  1. Docker のインストールおよび設定:

    • (Microsoft® Windows の場合)Docker Desktop をインストールします。お使いのマシン上で Docker Enginedocker-compose が設定されます。

    • (Apple macOS の場合)Docker Desktop for Mac をインストールします。これには、Docker Engine、Docker CLI クライアント、Docker Compose、Docker Content Trust、Kubernetes、Credential Helper が含まれています。

    • (Linux® の場合)Docker EngineDocker Compose をお使いのマシンにインストールします。

    メモ
    • Apple macOS の場合は、ローカルの AEM オーサーインスタンスを格納したフォルダーを許可リストに加えます。

    • Windows 用 Docker Desktop は、Hyper-V
      (レガシー)と WSL2(最新)という 2 つのバックエンドをサポートします。ファイル共有は、WSL2(最新)を使用する場合、
      自動的に Docker によって管理されます。Hyper-V(レガシー)を
      使用している間に、ファイル共有を明示的に構成します。

  2. オーサーインスタンスとパブリッシュインスタンスに並行して、aem-sdk などのフォルダーを作成します。例:C:\aem-sdk

  3. aem-forms-addon-<version>.zip\aem-forms-addon-native-<version>.zip ファイルを解凍します。

    抽出された aem forms add on native

  4. 環境変数 AEM_HOME を作成し、AEM オーサーのローカルのインストール先を指定します。例:C:\aem\author\

  5. sdk.bat または sdk.sh を開いて編集します。AEM_HOME に、AEM オーサーのローカルのインストール先を設定します。例:C:\aem\author\

  6. コマンドプロンプトを開き、aem-forms-addon-native-<version> フォルダーに移動します。

  7. ローカルの AEM オーサーインスタンスが稼働中であることを確認します。次のコマンドを実行して SDK を開始します。

    • (Microsoft® Windows の場合)sdk.bat start
    • (Linux®または Apple macOS の場合)AEM_HOME=[local AEM Author installation] ./sdk.sh start
    メモ

    sdk.sh ファイルに環境変数を定義してある場合、コマンドラインでは環境変数の指定を省略できます。環境変数をコマンドラインで定義するオプションは、シェルスクリプトを更新せずにコマンドを実行するために用意されています。

    start-sdk-command

これで、ローカル開発環境を使用して、レコードのドキュメントをレンダリングできるようになりました。テストするには、XDP ファイルをお使いの環境にアップロードしてレンダリングします。例:http://localhost:4502/libs/xfaforms/profiles/default.print.pdf?template=crx:///content/dam/formsanddocuments/cheque-request.xdp は XDP ファイルを PDF 文書に変換します。

Experience Manager アーキタイプに基づいた Forms の開発プロジェクトの設定

このプロジェクトを使用して、アダプティブフォームの作成、設定の更新、オーバーレイのデプロイ、カスタムアダプティブフォームコンポーネントの作成、テスト、ローカル Experience Manager Forms SDK へのカスタムコードの導入を行います。ローカルでテストした後、プロジェクトを Experience Manager Forms as a Cloud Service の実稼動環境および非実稼動環境にデプロイできます。プロジェクトをデプロイすると、次の AEM Forms アセットもデプロイされます。

テーマ テンプレート フォームデータモデル
Canvas 3.0 基本 Microsoft® Dynamics 365
Tranquil 空白 Salesforce
Urbane
Ultramarine
Beryl
メモ

Microsoft® Dynamics 365 および Salesforce フォームデータモデルを AEM Forms as a Cloud Service で取得および使用するには、AEM アーキタイプバージョン 30 以降に基づくプロジェクトをセットアップします。
Tranquil、Urbane、Ultramarine テーマを AEM Forms as a Cloud Service で取得および使用するには、AEM アーキタイプバージョン 32 以降に基づくプロジェクトをセットアップします。

プロジェクトを設定するには、以下を実行します。

  1. ローカル開発インスタンス上に Cloud Manager Git リポジトリーを複製する: Cloud Manager Git リポジトリーには、デフォルトの AEM プロジェクトが含まれています。AEM アーキタイプに基づいています。Cloud Manager UI のセルフサービス Git アカウント管理を使用して Cloud Manager Git リポジトリーを複製し、プロジェクトをローカル開発環境に移行します。リポジトリーへのアクセスについて詳しくは、リポジトリーへのアクセスを参照してください。

  2. Experience Manager Forms as a [Cloud Service] プロジェクトを作成する:AEM アーキタイプ 32 以降に基づいて Experience Manager Forms as a [Cloud Service] プロジェクトを作成します。このアーキタイプは、開発者が AEM Forms as a Cloud Service の開発を容易に開始するのに役立ちます。また、すぐに使い始めるのに役立つテーマとテンプレートのサンプルも含まれています。

    コマンドプロンプトを開き、以下のコマンドを実行して Experience Manager Forms as a Cloud Service プロジェクトを作成します。

    mvn -B archetype:generate -DarchetypeGroupId=com.adobe.aem -DarchetypeArtifactId=aem-project-archetype-DarchetypeVersion=32 -DaemVersion="cloud" -DappTitle="My Site" -DappId="mysite" -DgroupId="com.mysite" -DincludeFormsenrollment="y" -DincludeFormscommunications="y" -DincludeExamples="y"
    

    上記のコマンドで appTitleappIdgroupId を変更し、環境に反映します。

    • includeFormsenrollment=y オプションを使用して、アダプティブフォームの作成に必要なフォーム固有の設定、テーマ、テンプレート、コアコンポーネントおよび依存関係を含めます。フォームポータルを使用している場合、includeExamples=y オプションを設定します。これにより、フォームポータルのコアコンポーネントがプロジェクトに追加されます。

    • includeFormscommunications=y オプションを使用して、Forms コアコンポーネントとカスタマーコミュニケーション機能を含めるために必要な依存関係を含めます。

  3. プロジェクトをローカル開発環境にデプロイします。以下のコマンドを使用して、ローカル開発環境にデプロイできます

    mvn -PautoInstallPackage clean install

    コマンドの完全なリストについては、 構築とインストール を参照してください

  4. AEM Forms as a Cloud Service 環境にコードをデプロイします

ローカル Dispatcher ツールの設定

Dispatcher は、CDN と AEM パブリッシュ層の間にセキュリティとパフォーマンスのレイヤーを提供する Apache HTTP Web サーバーモジュールです。Dispatcher は、Experience Manager アーキテクチャ全体に不可欠な要素であり、ローカル開発環境の一部にする必要があります。

以下の手順を実行してローカル Dispatcher を設定し、それに Forms 専用のルールを追加します。

ローカル Dispatcher の設定

Experience Manager as a Cloud Service SDK には、推奨される Dispatcher ツールのバージョンが含まれており、これにより、Dispatcher をローカルで設定、検証、シミュレーションできます。Dispatcher ツールは Docker ベースで、Apache HTTP Web サーバーおよび Dispatcher 設定ファイルを互換性のある形式に変換し、Docker コンテナで実行される Dispatcher にデプロイするコマンドラインツールを提供します。

Dispatcher 上のキャッシュを使用すると、AEM Forms は、アダプティブフォームをクライアントで事前入力できます。キャッシュにより、事前入力されたフォームのレンダリング速度が向上します。

Dispatcher を設定する詳細な手順については、「ローカル Dispatcher ツールの設定」を参照してください。

Dispatcher への Forms 専用のルールの追加

以下の手順を実行して、Experience Manager Forms as a Cloud Service の Dispatcher キャッシュを設定します。

  1. AEM プロジェクトを開き、\src\conf.dispatcher.d\available_farms に移動します

  2. default.farm ファイルのコピーを作成します(例:forms.farm)。

  3. 新しく作成した forms.farm ファイルを開いて編集し、以下のコードを置き換えます。

    #/ignoreUrlParams {
    #/0001 { /glob "*" /type "deny" }
    #/0002 { /glob "q" /type "allow" }
    #}
    

    以下に置き換えます。

    /ignoreUrlParams {
    /0001 { /glob "*" /type "deny" }
    /0002 { /glob "dataRef" /type "allow" }
    }
    
  4. ファイルを保存して閉じます。

  5. conf.d/enabled_farms に移動し、forms.farm ファイルへのシンボリックリンクを作成します。

  6. プロジェクトをコンパイルし、AEM Forms as a Cloud Service 環境にデプロイします。

キャッシュに関する考慮事項

  • Dispatcher のキャッシュを使用すると、AEM Forms は、アダプティブフォームをクライアントで事前入力できます。キャッシュにより、事前入力されたフォームのレンダリング速度が向上します。
  • セキュリティで保護されたコンテンツのキャッシュ機能は、デフォルトで無効になっています。この機能を有効にするには、「セキュリティで保護されたコンテンツのキャッシュ」の記事に記載されている手順を実行します
  • Dispatcher は、アダプティブフォームと関連するアダプティブフォームの一部を無効にできない場合があります。このような問題を解決するには、トラブルシューティングの節の AEM Forms キャッシュ を参照してください。
  • ローカライズされたアダプティブフォームのキャッシュ:
    • http://host:port/content/forms/af/afName.html?afAcceptLang=<locale> の代わりに http://host:port/content/forms/af/<afName>.<locale>.html の URL 形式を使用して、アダプティブフォームのローカライズ版をリクエストします。
    • 「ブラウザーロケール」オプションは、デフォルトで無効になっています。ブラウザーロケール設定を変更するには
  • URL 形式 http://host:port/content/forms/af/<adaptivefName>.html を使用し、設定マネージャーで「ブラウザーロケールを使用」が無効になっている場合、アダプティブフォームの非ローカライズ版が提供されます。非ローカライズ言語とは、アダプティブフォームの開発時に使用される言語です。ブラウザーに設定されているロケール(ブラウザーロケール)は考慮されず、アダプティブフォームの非ローカライズ版が提供されます。
  • URL 形式 http://host:port/content/forms/af/<adaptivefName>.html を使用し、設定マネージャーで「ブラウザーロケールを使用」が有効になっている場合、アダプティブフォームのローカライズ版が提供されます(利用可能な場合)。ローカライズされたアダプティブフォームの言語は、ブラウザーに設定されたロケール(ブラウザーロケール)に基づきます。これは、[アダプティブフォームの最初のインスタンスのみがキャッシュされる]原因になる可能性があります。インスタンスで問題が発生しないようにするには、トラブルシューティングの節の「アダプティブフォームの最初のインスタンスのみがキャッシュされる」を参照してください。

ローカル開発環境の準備が整いました。

ローカル開発環境のアップグレード

SDK を新しいバージョンにアップグレードするには、ローカルの開発環境全体を置き換える必要があり、その結果、ローカルリポジトリー内のコード、設定およびコンテンツがすべて失われます。確実に、破棄すべきでないコード、設定またはコンテンツが Git に安全にコミットされるか、ローカル Experience Manager インスタンスから CRX パッケージとして書き出されるようにします。

SDK のアップグレード時にコンテンツの損失を防ぐ方法

SDK をアップグレードすると、新しいリポジトリー(AEM プロジェクトの設定)を含む、まったく新しいオーサーインスタンスとパブリッシュインスタンスが効果的に作成され、以前の SDK のリポジトリーに対する変更はすべて失われます。SDK のアップグレード間でコンテンツを継続的に保持する方法については、「AEM SDK のアップグレード時にコンテンツの損失を回避する方法」を参照してください。

Forms 専用のコンテンツのバックアップと新しい SDK 環境への読み込み

既存の SDK から新しい SDK 環境にアセットをバックアップして移動するには、以下を実行します。

  • 既存のコンテンツのバックアップを作成します。

  • SDK 環境を新規設定します。

  • 新しい SDK 環境にバックアップを読み込みます。

既存のコンテンツのバックアップの作成

アダプティブフォーム、テンプレート、フォームデータモデル、テーマ、設定およびカスタムコードをバックアップします。以下の操作を実行して、バックアップを作成できます。

  1. アダプティブフォーム、テーマ、PDF forms をダウンロードします。

  2. アダプティブフォームテンプレートの書き出します。

  3. フォームデータモデルをダウンロードします。

  4. 編集可能なテンプレート、クラウド設定、ワークフローモデルを書き出します。前述のすべての項目を既存の SDK から書き出すには、以下のフィルターを含む CRX-Package を作成します。

    • /conf/ReferenceEditableTemplates
    • /conf/global/settings/cloudconfigs
    • /conf/global/settings/wcm
    • /var/workflow/models
    • /conf/global/settings/workflow
  5. ローカル開発環境から電子メール設定、送信、事前入力アクションコードを書き出します。これらの設定と構成を書き出すには、以下のフォルダーとファイルのコピーをローカル開発環境上に作成します。

    • [Archetype Project in Cloud Service Git]/core/src/main/java/com/<program name>/core/service
    • [Archetype Project in Cloud Service Git] /core/src/main/java/com/<program name>/core/servlets/FileAttachmentServlet.java
    • [Archetype Project in Cloud Service Git]/ui.apps/src/main/content/jcr_root/apps/<program name>/config

新しい SDK 環境へのバックアップの読み込み

アダプティブフォーム、テンプレート、フォームデータモデル、テーマ、設定、カスタムコードを新しい環境に読み込みます。以下の操作を実行すると、バックアップを読み込めます。

  1. アダプティブフォーム、テーマおよび PDF forms を新しい SDK 環境に読み込みます。

  2. アダプティブフォームテンプレートを新しい SDK 環境に読み込みます。

  3. フォームデータモデルを新しい SDK 環境にアップロードします。

  4. 編集可能なテンプレート、クラウド設定、ワークフローモデルを読み込みます。前述のすべての項目を新しい SDK 環境に読み込むには、これらの項目を含む CRX パッケージを新しい SDK 環境に読み込みます。

  5. ローカル開発環境から、電子メール設定、送信、事前入力アクションのコードを読み込みます。これらの設定と構成を読み込むには、古いアーキタイププロジェクトから新しいアーキタイププロジェクトに以下のファイルを配置します。

    • [Archetype Project in Cloud Service Git]/core/src/main/java/com/<program name>/core/service
    • [Archetype Project in Cloud Service Git] /core/src/main/java/com/<program name>/core/servlets/FileAttachmentServlet.java
    • [Archetype Project in Cloud Service Git]/ui.apps/src/main/content/jcr_root/apps/<program name>/config

新しい環境に古い環境のフォームと関連アセットが追加されました。

このページ