AEM Forms 用のローカル開発環境を設定 overview
Adobe Experience Manager Forms as a Cloud Service 環境を設定する場合は、開発環境、ステージング環境および実稼動環境をクラウドに設定します。また、ローカル開発環境を設定および構成することもできます。
ローカル開発環境を使用すると、クラウド開発環境にログインせずに次の操作を実行できます。
- フォームの作成および関連アセット(テーマ、テンプレート、カスタム送信アクションなど)の作成
- PDF forms のアダプティブフォームへの変換
- オンデマンドまたはバッチモードでカスタマーコミュニケーションを生成するアプリケーションの構築
アダプティブフォームまたは関連アセットがローカル開発インスタンスまたはアプリケーションで[カスタマーコミュニケーション]を生成する準備が整ったら、アダプティブフォームまたはカスタマーコミュニケーションアプリケーションをローカル開発環境から Cloud Service 環境にエクスポートして、さらにテストを実施したり、実稼動環境に移行したりできます。
また、カスタムコンポーネントや事前入力サービスなどのカスタムコードを、ローカル開発環境上で開発し、テストすることもできます。カスタムコードがテストされ、準備が整ったら、Cloud Service 開発環境の Git リポジトリーを使用して、カスタムコードをデプロイできます。
新しいローカル開発環境を設定し、それを使用してアクティビティ向けに開発するには、以下の操作をリストに記載された順序で実行します。
前提条件
ローカル開発環境を設定するには、以下のソフトウェアが必要です。ローカル開発環境の設定を開始する前に、以下をダウンロードしてください。
ソフトウェア配布から最新バージョンのソフトウェアをダウンロード software-distribution
最新バージョンの Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms 機能アーカイブ(AEM Forms アドオン)、Forms 参照アセット、Forms Designer をソフトウェア配布からダウンロードするには:
-
Adobe ID を使用して、https://experience.adobe.com/#/downloads にログイン
note note NOTE AEM as a Cloud Service SDK をダウンロードするには、アドビ組織が AEM as a Cloud Service に対してプロビジョニングされている必要があります。 -
「AEM as a Cloud Service」タブに移動します。
-
公開日を降順で並べ替えます。
-
最新の Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms 機能アーカイブ(AEM Forms アドオン)、Forms 参照アアセット、Forms Designer をクリックします。
note note NOTE Adobe Experience Manager as a Cloud Service SDK とシームレスに互換性を持たせるには、最新バージョンの Experience Manager Forms 機能アーカイブ(AEM Forms アドオン)、フォーム参照アセット、Forms Designer をダウンロードすることをお勧めします。 -
ソフトウェア利用許諾契約を確認し、同意します。「ダウンロード」ボタンを選択します。
AEM プロジェクト用の開発ツールの設定 setup-development-tools-for-AEM-projects
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 環境をインストールおよび設定するには、以下の手順を実行します。
- Adobe Experience Manager as a Cloud Service SDK をダウンロードおよび抽出する
- オーサーインスタンスを設定する
- パブリッシュインスタンスを設定する
ローカルのオーサーおよびパブリッシュインスタンスへの Forms アーカイブの追加と Forms 専用のユーザーの設定 add-forms-archive-configure-users
リストに記載された順序で以下の手順を実行して、Forms アーカイブを Experience Manager インスタンスに追加し、Forms 専用のユーザーを設定します。
最新の Forms アドオン機能アーカイブのインストール add-forms-archive
Adobe Experience Manager Forms as a Cloud Service 機能アーカイブは、ローカル開発環境でアダプティブフォームを作成、スタイル設定、最適化するためのツールを提供します。パッケージをインストールしてアダプティブフォームを作成し、AEM Forms のその他の様々な機能を使用します。パッケージをインストールするには、以下を実行します。
-
ソフトウェア配布から、お使いのオペレーティングシステム用の最新の AEM Forms アーカイブをダウンロードして抽出します。
-
crx-quickstart/install ディレクトリに移動します。フォルダーが存在しない場合は作成します。
-
AEM インスタンスを停止し、AEM Forms アドオン機能アーカイブ
aem-forms-addon-<version>.far
をインストールフォルダーに配置します。 -
アクティブなコマンドウィンドウに移動し、
Ctrl + C
キーコマンドを押して SDK を再起動します。note note NOTE SDK を再起動するには、「Ctrl + C」コマンドを使用することをお勧めします。Java プロセスの停止など、別の方法を使用して AEM SDK を再起動すると、AEM 開発環境で不整合が生じる場合があります。
ユーザーと権限の設定 configure-users-and-permissions
フォーム開発者やフォーム担当者などのユーザーを作成し、これらのユーザーを事前定義されたフォームグループに追加して、必要な権限を与えます。以下の表に、フォームユーザーのタイプごとに、すべてのタイプのユーザーと事前定義済みのグループを示します。
アダプティブフォームへのアクセスにユーザー認証が必要ない場合は、グループを割り当てません。
レコードのドキュメント用のローカル開発環境の設定(DoR) docker-microservices
AEM Forms as a Cloud Services は、レコードのドキュメントの開発を容易にし、その他の microservices を使用するための、Docker ベースの SDK 環境を提供します。これにより、プラットフォーム固有のバイナリやアダプテーションを手動で設定する必要がなくなります。環境を設定するには:
-
Docker のインストールおよび設定:
-
(Microsoft® Windows の場合)Docker Desktop をインストールします。お使いのマシン上で
Docker Engine
とdocker-compose
が設定されます。 -
(Apple macOS の場合)Docker Desktop for Mac をインストールします。これには、Docker Engine、Docker CLI クライアント、Docker Compose、Docker Content Trust、Kubernetes、Credential Helper が含まれています。
-
(Linux® の場合)Docker Engine と Docker Compose をお使いのマシンにインストールします。
note note NOTE -
Apple macOS の場合は、ローカルの AEM オーサーインスタンスを格納したフォルダーを許可リストに加えます。
-
Windows 用 Docker Desktop は、Hyper-V
(レガシー)と WSL2(最新)という 2 つのバックエンドをサポートします。ファイル共有は、WSL2(最新)を使用する場合、
自動的に Docker によって管理されます。Hyper-V(レガシー)を
使用している間に、ファイル共有を明示的に構成します。
-
-
オーサーインスタンスとパブリッシュインスタンスに並行して、aem-sdk などのフォルダーを作成します。例:C:\aem-sdk
-
aem-forms-addon-<version>.zip\aem-forms-addon-native-<version>.zip
ファイルを解凍します。 -
環境変数 AEM_HOME を作成し、AEM オーサーのローカルのインストール先を指定します。例:C:\aem\author\
-
sdk.bat または sdk.sh を開いて編集します。AEM_HOME に、AEM オーサーのローカルのインストール先を設定します。例:C:\aem\author\
-
コマンドプロンプトを開き、
aem-forms-addon-native-<version>
フォルダーに移動します。 -
ローカルの AEM オーサーインスタンスが稼働中であることを確認します。次のコマンドを実行して SDK を起動します。
-
Microsoft® Windows
code language-shell sdk.bat start
-
Linux® または Apple macOS
code language-shell % export AEM_HOME=[local AEM Author installation] % ./sdk.sh start
note note NOTE sdk.sh ファイルに環境変数を定義してある場合、コマンドラインでは環境変数の指定を省略できます。環境変数をコマンドラインで定義するオプションは、シェルスクリプトを更新せずにコマンドを実行するために用意されています。 -
これで、ローカル開発環境を使用して、レコードのドキュメントをレンダリングできるようになりました。テストするには、XDP ファイルをお使いの環境にアップロードしてレンダリングします。例:http://localhost:4502/libs/xfaforms/profiles/default.print.pdf?template=crx:///content/dam/formsanddocuments/cheque-request.xdp は XDP ファイルを PDF 文書に変換します。
Experience Manager アーキタイプに基づいた Forms の開発プロジェクトの設定 forms-cloud-service-local-development-environment
このプロジェクトを使用して、アダプティブフォームの作成、設定の更新、オーバーレイのデプロイ、カスタムアダプティブフォームコンポーネントの作成、テスト、ローカル Experience Manager Forms SDK へのカスタムコードの導入を行います。ローカルでテストした後、プロジェクトを Experience Manager Forms as a Cloud Service の実稼動環境および非実稼動環境にデプロイできます。プロジェクトをデプロイすると、次の AEM Forms アセットもデプロイされます。
Tranquil、Urbane、Ultramarine テーマを AEM Forms as a Cloud Service で取得および使用するには、AEM アーキタイプバージョン 32 以降に基づくプロジェクトをセットアップします。
プロジェクトを設定するには、以下を実行します。
-
ローカル開発インスタンス上に Cloud Manager Git リポジトリーを複製する: Cloud Manager Git リポジトリーには、デフォルトの AEM プロジェクトが含まれています。AEM アーキタイプに基づいています。Cloud Manager UI のセルフサービス Git アカウント管理を使用して Cloud Manager Git リポジトリーを複製し、プロジェクトをローカル開発環境に移行します。リポジトリーへのアクセスについて詳しくは、リポジトリーへのアクセスを参照してください。
-
Experience Manager Forms as a [Cloud Service] プロジェクトの作成: 最新の AEM アーキタイプ以降に基づいて Experience Manager Forms as a [Cloud Service] プロジェクトを作成します。このアーキタイプは、開発者が AEM Forms as a Cloud Service の開発を容易に開始するのに役立ちます。また、すぐに使い始めるのに役立つテーマとテンプレートのサンプルも含まれています。
コマンドプロンプトを開き、以下のコマンドを実行して Experience Manager Forms as a Cloud Service プロジェクトを作成します。
code language-shell mvn -B org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate -D archetypeGroupId=com.adobe.aem -D archetypeArtifactId=aem-project-archetype -D archetypeVersion="41" -D appTitle=mysite -D appId=mysite -D groupId=com.mysite -D includeFormsenrollment="y" -D aemVersion="cloud"
上記のコマンドで
appTitle
、appId
、groupId
を変更し、環境に反映します。また、ライセンスと要件に応じて、includeFormsenrollment、includeFormscommunications および includeFormsheadless の値をy
またはn
に設定します。コアコンポーネントに基づくアダプティブフォームの作成には、includeFormsheadless が必須です。-
includeFormsenrollment=y
オプションを使用して、アダプティブフォームの作成に必要なフォーム固有の設定、テーマ、テンプレート、コアコンポーネントおよび依存関係を含めます。フォームポータルを使用している場合、includeExamples=y
オプションを設定します。また、フォームポータルのコアコンポーネントをプロジェクトに追加します。 -
includeFormscommunications=y
オプションを使用して、Forms コアコンポーネントとカスタマーコミュニケーション機能を含めるために必要な依存関係を含めます。note warning WARNING - バージョン 45 でアーキタイププロジェクトを作成する場合、[AEM アーキタイププロジェクトフォルダー]/pom.xml では、最初にフォームコアコンポーネントのバージョンを 2.0.64 に設定します。アーキタイププロジェクトを構築またはデプロイする前に、フォームコアコンポーネントのバージョンを 2.0.62 に更新します。
-
-
プロジェクトをローカル開発環境にデプロイします。以下のコマンドを使用して、ローカル開発環境にデプロイできます
mvn -PautoInstallPackage clean install
コマンドの完全なリストについては、 構築とインストール を参照してください
ローカル Dispatcher ツールの設定 setup-local-dispatcher-tools
Dispatcher は、CDN と AEM パブリッシュ層の間にセキュリティとパフォーマンスのレイヤーを提供する Apache HTTP Web サーバーモジュールです。Dispatcher は、Experience Manager アーキテクチャ全体に不可欠な要素であり、ローカル開発環境の一部にする必要があります。
以下の手順を実行してローカル Dispatcher を設定し、それに Forms 専用のルールを追加します。
ローカル Dispatcher の設定 setup-local-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 専用のルールの追加 forms-specific-rules-to-dispatcher
以下の手順を実行して、Experience Manager Forms as a Cloud Service の Dispatcher キャッシュを設定します。
-
AEM プロジェクトを開き、
\src\conf.dispatcher.d\available_farms
に移動します -
default.farm
ファイルのコピーを作成します(例:forms.farm
)。 -
作成した
forms.farm
ファイルを開いて編集し、以下のコードを置き換えます。code language-json #/ignoreUrlParams { #/0001 { /glob "*" /type "deny" } #/0002 { /glob "q" /type "allow" } #}
以下に置き換えます。
code language-json /ignoreUrlParams { /0001 { /glob "*" /type "deny" } /0002 { /glob "dataRef" /type "allow" } }
-
ファイルを保存して閉じます。
-
conf.d/enabled_farms
に移動し、forms.farm
ファイルへのシンボリックリンクを作成します。 -
プロジェクトをコンパイルし、AEM Forms as a Cloud Service 環境にデプロイします。
キャッシュに関する考慮事項 considerations-about-caching
-
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
を使用し、設定マネージャーで「ブラウザーロケールを使用」が有効になっている場合、アダプティブフォームのローカライズ版が提供されます(利用可能な場合)。ローカライズされたアダプティブフォームの言語は、ブラウザーに設定されたロケール(ブラウザーロケール)に基づきます。これは、[アダプティブフォームの最初のインスタンスのみがキャッシュされる]原因になる可能性があります。インスタンスで問題が発生しないようにするには、トラブルシューティングの節の「アダプティブフォームの最初のインスタンスのみがキャッシュされる」を参照してください。
ローカル開発環境の準備が整いました。
AEM Forms as a Cloud Service およびローカル開発環境で、アダプティブフォームのコアコンポーネントを有効にする
AEM Forms as a Cloud Service のアダプティブフォームのコアコンポーネントを有効にすると、AEM Forms Cloud Service インスタンスを使用して、複数のチャネルへのコアコンポーネントベースのアダプティブフォームとヘッドレスフォームの作成、公開、配信を開始できます。ヘッドレスアダプティブフォームを使用するには、アダプティブフォームコアコンポーネントが有効な環境が必要です。
手順については、AEM Forms as a Cloud Service およびローカル開発環境でのアダプティブフォームコアコンポーネントの有効化を参照してください。
ローカル開発環境のアップグレード upgrade-your-local-development-environment
SDK を新しいバージョンにアップグレードするには、ローカルの開発環境全体を置き換える必要があり、その結果、ローカルリポジトリー内のコード、設定およびコンテンツがすべて失われます。確実に、破棄すべきでないコード、設定またはコンテンツが Git に安全にコミットされるか、ローカル Experience Manager インスタンスから CRX パッケージとして書き出されるようにします。
SDK のアップグレード時にコンテンツの損失を防ぐ方法 avoid-content-loss-when-upgrading--SDK
SDK をアップグレードすると、新しいリポジトリー(AEM プロジェクトの設定)を含む、まったく新しいオーサーインスタンスとパブリッシュインスタンスが効果的に作成され、以前の SDK のリポジトリーに対する変更はすべて失われます。SDK のアップグレード間でコンテンツを継続的に保持する方法については、「AEM SDK のアップグレード時にコンテンツの損失を回避する方法」を参照してください。
Forms 専用のコンテンツのバックアップと新しい SDK 環境への読み込み backup-and-import-Forms-specific-content-to-new-SDK-environment
既存の SDK から新しい SDK 環境にアセットをバックアップして移動するには、以下を実行します。
-
既存のコンテンツのバックアップを作成します。
-
SDK 環境を新規設定します。
-
新しい SDK 環境にバックアップを読み込みます。
既存のコンテンツのバックアップの作成 create-backup-of-your-existing-content
アダプティブフォーム、テンプレート、フォームデータモデル(FDM)、テーマ、設定およびカスタムコードをバックアップします。以下の操作を実行して、バックアップを作成できます。
-
アダプティブフォーム、テーマ、PDF forms をダウンロードします。
-
アダプティブフォームテンプレートの書き出します。
-
フォームデータモデルをダウンロードします。
-
編集可能なテンプレート、クラウド設定、ワークフローモデルを書き出します。前述のすべての項目を既存の SDK から書き出すには、以下のフィルターを含む CRX-Package を作成します。
- /conf/ReferenceEditableTemplates
- /conf/global/settings/cloudconfigs
- /conf/global/settings/wcm
- /var/workflow/models
- /conf/global/settings/workflow
-
ローカル開発環境からメール設定、送信、事前入力アクションコードを書き出します。これらの設定と構成を書き出すには、以下のフォルダーとファイルのコピーをローカル開発環境上に作成します。
[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 環境へのバックアップの読み込み import-the-backup-to-your-new-SDK-environment
アダプティブフォーム、テンプレート、フォームデータモデル、テーマ、設定、カスタムコードを新しい環境に読み込みます。以下の操作を実行すると、バックアップを読み込めます。
-
アダプティブフォーム、テーマおよび PDF forms を新しい SDK 環境に読み込みます。
-
アダプティブフォームテンプレートを新しい SDK 環境に読み込みます。
-
フォームデータモデルを新しい SDK 環境にアップロードします。
-
編集可能なテンプレート、クラウド設定、ワークフローモデルを読み込みます。前述のすべての項目を新しい SDK 環境に読み込むには、これらの項目を含む CRX パッケージを新しい SDK 環境に読み込みます。
-
ローカル開発環境から、メール設定、送信、事前入力アクションのコードを読み込みます。これらの設定と構成を読み込むには、古いアーキタイププロジェクトから新しいアーキタイププロジェクトに以下のファイルを配置します。
[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
新しい環境に古い環境のフォームと関連アセットが追加されました。