AEM プロジェクトアーキタイプ

AEM プロジェクトアーキタイプは、Web サイトの出発点として、ベストプラクティスに基づいた最小限の Adobe Experience Manager(AEM)プロジェクトを作成する Maven テンプレートです。

ヒント

最新の AEM プロジェクトアーキタイプは GitHub で入手できます

リソース

  • アーキタイプのドキュメント(本ドキュメント):​アーキタイプアーキテクチャとその様々なモジュールの概要です。
  • 次のチュートリアルは、このアーキタイプに基づいています。

機能

  • ベストプラクティス:​アドビの最新の推奨プラクティスをすべて活用して、サイトをブートストラップできます。
  • ローコード(低コード):​テンプレートの編集、コンテンツの作成、CSS のデプロイを行うと、サイトの運用開始準備が整います。
  • クラウド対応:​必要に応じて、AEM as a Cloud Service を使用して、数日以内に運用を開始でき、スケーラビリティとメンテナンスの向上を図れます。
  • Dispatcher:​プロジェクトには、速度とセキュリティを確実に達成できる Dispatcher 設定が必要です。
  • マルチサイト:​必要に応じて、マルチ言語およびマルチリージョンセットアップ用のコンテンツ構造がアーキタイプから生成されます。
  • コアコンポーネント:​作成者は、アドビの汎用の標準コンポーネントセットを使用して、ほぼどのようなレイアウトでも作成できます。
  • 編集可能なテンプレート:​ほとんどすべてのテンプレートをコードなしで組み立てることができ、作成者による編集が可能な範囲を定義できます。
  • レスポンシブレイアウト:​テンプレートまたは個々のページで、定義されたブレークポイントについて要素がどのようにリフローするかを定義できます。
  • ヘッダーとフッター: コンポーネントのローカライゼーション機能を使用して、コードなしで組み立ててローカライズできます。
  • スタイルシステム:​作成者が様々なスタイルを適用できるようにすることで、カスタムコンポーネントを作成しないようにすることができます。
  • フロントエンドビルド:​フロントエンド開発者は、AEM ページのモックを作成し、Webpack、TypeScript、SASS を使用してクライアントライブラリをビルドすることができます。
  • Web アプリ対応: React または Angular を使用するサイトの場合は、SPA SDK を使用して、アプリのコンテキスト内オーサリングを維持できます。
  • コマースに対応: AEM コマースMagento などのコマースソリューションと統合するプロジェクトの場合は、コマースコアコンポーネントを使用します。
  • コード例: HelloWorld コンポーネントのほか、サンプルのモデル、サーブレット、フィルター、スケジューラーをチェックアウトできます。
  • オープンソース:​何か問題がある場合は、改善案を寄稿できます。

使用方法

プロジェクトを生成する場合は、次のコマンドラインを必要に応じて調整します。

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=XX \
 -D appTitle="My Site" \
 -D appId="mysite" \
 -D groupId="com.mysite" \
  • XX を最新のアーキタイプバージョン番号に置き換えます。
  • AEM as a Cloud Service の場合は、aemVersion=cloud と設定します。
    Adobe Managed Services またはオンプレミスの場合は、aemVersion=6.5.0 と設定します。
    AEM as a Cloud Service の場合はコアコンポーネントがすぐに使用できる形で提供されているので、コアコンポーネントの依存関係は、非クラウドバージョンの AEM の場合にのみ追加します。
  • appTitle="My Site" を調整して、Web サイトのタイトルやコンポーネントグループを定義します。
  • appId="mysite" を調整して、Maven アーティファクト ID、コンポーネントフォルダー名、設定フォルダー名、コンテンツフォルダー名、およびクライアントライブラリ名を定義します。
  • groupId="com.mysite" を調整して、Maven グループ ID と Java ソースパッケージを定義します。
  • 使用可能なプロパティのリストを調べて、調整が必要なプロパティが他にあるかどうかを確認します。

使用可能なプロパティ

名前 デフォルト値は 説明
appTitle アプリケーションのタイトル。Web サイトのタイトルやコンポーネントグループに使用されます(例:"My Site")。
appId 技術的な名前。コンポーネント、設定、コンテンツのフォルダー名やクライアントライブラリ名に使用されます(例:"mysite")。
artifactId ${appId} 基本 Maven アーティファクト ID です(例:"mysite")。
groupId ベース Maven グループ ID です(例:"com.mysite")。この値は、有効な Java パッケージ名である必要があります。
package ${groupId} Java ソースパッケージです(例:"com.mysite")。
version 1.0-SNAPSHOT プロジェクトのバージョンです(例:1.0-SNAPSHOT)。
aemVersion cloud ターゲット AEM バージョンです(AEM as a Cloud Service の場合は cloudAdobe Managed Services またはオンプレミスの場合は、6.5.06.4.4 のいずれか)。
sdkVersion latest aemVersion=cloud の場合は、SDK のバージョンを指定できます(例:2020.02.2265.20200217T222518Z-200130)。
includeDispatcherConfig y aemVersion の値に応じて、クラウドか AMS/オンプレミスのいずれかの Dispatcher 設定を組み込みます(y または n)。
frontendModule general クライアントライブラリを生成する Webpack フロントエンドビルドモジュールを組み込みます(通常のサイトの場合は general または noneSPA エディターを実装しているシングルページアプリの場合は angular または react)。
language en コンテンツ構造の作成に使用する言語コード(ISO 639-1)(例:endeu)。
country us コンテンツ構造の作成に使用する国コード(ISO 3166-1)(例:US)。
singleCountry y 言語マスターコンテンツ構造を組み込みます(y または n)。
includeExamples n コンポーネントライブラリのサンプルサイトを組み込みます(y または n)。
includeErrorHandler n インスタンス全体でグローバルに使用されるカスタムの 404 応答ページを組み込みます(y または n)。
includeCommerce n CIF コアコンポーネントの依存関係を含み、対応するアーティファクトを生成します。
commerceEndpoint CIF でのみ必須です。使用するコマースシステム GraphQL サービスのオプションのエンドポイント(例:https://hostname.com/grapql)をクリックします。
includeFormscommunications n Forms コアコンポーネントの依存関係、テンプレート、フォームデータモデル、テーマを組み込み、Forms Communications プログラムに対応するアーティファクトを生成します。
includeFormsenrollment n Forms コアコンポーネントの依存関係、テンプレート、フォームデータモデル、テーマを組み込み、Forms 登録プログラムに対応するアーティファクトを生成します。
sdkFormsVersion latest aemVersion=cloud および includeFormsenrollment=y または includeFormscommunications=y のいずれかの場合、Forms SDK のバージョンを指定できます(例: 2020.12.17.02)。
datalayer y Adobe クライアントデータレイヤーとの統合をアクティブ化します。
amp n 生成されたプロジェクトテンプレートに対して AMP のサポートを有効にします。
enableDynamicMedia n プロジェクトポリシー設定で基盤 Dynamic Media コンポーネントを有効にし、コア画像コンポーネントのポリシーで Dynamic Media 機能をアクティブ化します。
enableSSR n フロントエンドプロジェクトに対して SSR を有効にするオプション
precompiledScripts n ui.apps のサーバー側スクリプトを事前にコンパイルして、ui.apps プロジェクトのセカンダリバンドルアーティファクトとしてビルドにアタッチするオプション。aemVersioncloud に設定する必要があります。
includeFormsheadless n Forms コアコンポーネントの依存関係、 ui.frontend.react.forms.af およびヘッドレスアーティファクトを組み込みます。

システム要件

アーキタイプ AEM as a Cloud Service AEM 6.5 Java SE Maven
40 継続的 6.5.7.0+ 8、11 3.3.9 以上

AEM as a Cloud Service SDK または旧バージョンの AEM のローカル開発環境をセットアップします。

既知の問題

Windows 上で実行して Dispatcher 設定を生成する場合は、管理者権限のコマンドプロンプトまたは Windows Subsystem for Linux から実行する必要があります(問題 329 を参照)。

-B パラメーターを指定せずに)インタラクティブモードでアーキタイプを実行する際は、最終確認が却下された場合を除き、デフォルト値を持つプロパティは変更できません。その場合は、デフォルト値を持つプロパティを含めることで質問が繰り返し表示されます(詳しくは ARCHETYPE-308 を参照してください)。

File -> New -> Maven Project で新しいプロジェクトを開始する際に、Eclipse でこのアーキタイプを使用することはできません。これは、生成後のスクリプト archetype-post-generate.groovyEclipse の問題によって実行されないことが原因です。回避策は、上記のコマンドラインを使用し、Eclipse で File -> Import -> Existing Maven Project を使用することです。

参考情報

利点、オプション、モジュールの動作など、アーキタイプの使用について詳しくは、アーキタイプの使用を参照してください。

このページ