AEM ヘッドレス機能を使用した初めてのエクスペリエンスへの道筋 path-to-first-experience
AEM ヘッドレスデベロッパージャーニーのこの部分では、計画に関する考慮事項なども含め、AEM で初めてのヘッドレスエクスペリエンスを実装するための手順を示し、できるだけスムーズに作業を進めるためのベストプラクティスについても説明します。
これまでの説明内容 story-so-far
AEM ヘッドレスジャーニーの前のドキュメントの AEM ヘッドレス - はじめにでは、ヘッドレス CMS の基本事項を学びましたが、今度は次のことをおこなう必要があります。
- AEM のヘッドレス機能の基本を理解する。
- AEM ヘッドレス機能を使用するための前提条件を理解する。
- AEM ヘッドレスの統合レベルを把握する。
- プロジェクトの範囲を定義する。
この記事は、独自の AEM ヘッドレスプロジェクトを準備する方法を理解できるよう、これらの基本事項に基づいて構成されています。
目的 objective
このドキュメントは、初めてのプロジェクトの実装に必要な手順を理解するのに役立ちます。読み終えると、以下を達成できます。
- コンテンツを設計するうえでの計画に関する重要な考慮事項を理解する。
- AEM でヘッドレスを実装する手順を理解する。
- 必要なツールと AEM 設定について知る。
- ヘッドレスジャーニーの円滑化、効率的なコンテンツ生成の維持、迅速なコンテンツ配信の確保を実現するためのベストプラクティスについて知る。
要件 requirements
このドキュメントに進む前に、AEM ヘッドレスデベロッパージャーニーの前のドキュメントの AEM ヘッドレス - はじめにの内容にもう一度目を通し、以下を確認してください。
- リストされた要件を満たしている。
- 範囲、役割、パフォーマンスなどの独自のプロジェクト定義を検討してある。
成功に向けた計画 planning-for-success
最初の AEM ヘッドレスプロジェクトを開始するには、すべてのチャネルで行うパーソナライゼーションと更新をサポートするコンテンツモデルが必要です。
また、クライアント側アプリケーションを作成する場合は、AEM とは別に、適切な開発環境をセットアップして、AEM への API 呼び出しに関してクライアントのテストを可能にする必要もあります。
コンテンツモデルと API の定義 defining-models
あらゆるチャネルにわたって一貫したエクスペリエンスを推進し、パーソナライズされたキャンペーンを管理するために、個々のチャネルとサーフェスを、配信時に準拠すべき独自のコンテンツ構造としてとらえることができます。ただし、チャネルごとに独自のコンテンツモデルにすることは、メンテナンスが難しくなります。
代わりに、編成の原則(ブランドと製品の階層、商品やサーフェスのカテゴリ、カスタマージャーニーのステップなど)に基づいて、異なるサーフェス上のコンテンツがどのように関連しているかを検討する必要があります。例えば、製造している自動車の特定ブランドをサポートする一連のサーフェスがある場合、自動車全体に当てはまる一般情報のコンテンツモデルから始め、次に、より特化した要素(自動車が市場に投入されサービスの問題が発生するまでになったときに必要なコンテンツなど)を用意することができます。このようなモデルでは、一般的な自動車ブランドコンテンツを継承せざるを得ない反面、必要に応じて特定のコンテキストに基づいた転換も可能です。また、自動車ブランド全体の総合的なマーケターやプロダクトマネージャーまたは「初期自動車」エクスペリエンスを担当する作成者などの役割に基づいた管理を実施できるので、このコンテンツに対する更新の今後の管理にも役立ちます。
コンテンツモデルを用意し、コンテンツを表示する必要がある様々なクライアントについての見通しが明確になったら、様々なコンテンツモデルへのアクセスに関連する GraphQL API を、このコンテンツを必要とするすべてのクライアントに公開する必要があります。特定のコンテンツにアクセスする方法には、様々なオプションがあります。特定の静的コンテンツを要求する場合は、コンテンツのキャッシュとパフォーマンスの向上が可能です。また、動的に生成されるコンテンツを要求することもできますが、その場合は、より多くの処理が必要になります。ビジネスニーズに最も効率的な API をクライアントで利用するようにしてください。
環境について understanding-environments
AEM 内には、開発、ステージング、実稼動の 3 つのタイプの環境があります。
開発環境(複数の環境を持つことが可能)は、アイデアを安全に試してみることができる場所です。プロジェクトの初期フェーズでは、開発環境を使用してコンテンツモデルのバリエーションを試し、サーフェスに対して意図した出力を提供するコンテンツモデルを確認することをお勧めします。
ヘッドレスプロジェクトのステージング環境は、実稼動環境へのロールアウトに先立って新しい AEM 製品リリースを検証するために使用します。実稼動コンテンツモデルの最新リストとコンテンツのサブセットを保持することで、変更を加えたり、AEM リリースで変更が導入されたりした場合でも、レンダリングされる JSON ファイルが同じ出力を提供するようにできます。
実稼動環境は、コンテンツ作成者が実際のコンテンツを作成および管理する場所です。実稼動環境でのモデルの変更は、下位互換性を念頭に置いて慎重に行う必要があります。
開発ステージでは、開発環境とステージング環境を使用することをお勧めします。パフォーマンステストに進む際は、実稼動環境に移行する必要があります。
開発者とコンテンツ作成者の協力 cooperation
開発者は、情報が入力されたコンテンツモデルを使用して AEM 開発環境をセットアップする必要があります。コンテンツ作成者がコンテンツを引き続き作成するので、開発者は、AEM ヘッドレスのコンテンツを消費するクライアントを開発します。API の定義が非常に重要なのはそのためです。開発者は AEM SDK を利用してテストフックを作成できるので、クライアントテストとユニットテストを作成して、クライアントがコンテンツを適切にレンダリングできることを確認できます。
コンテンツ作成者は、ステージング環境で定義されたコンテンツモデルに基づいてコンテンツを作成します。作成者は、コンテンツフラグメントオーサリングツールを使用して、新しいコンテンツフラグメントを作成するか、既存のコンテンツフラグメントを編集します。そのコンテンツフラグメントを公開する前に、作成者は開発者と協力してコンテンツモデルを開発環境にプッシュするか、作成者側でプレビューできるように開発環境をセットアップすることで、クライアントでの表示をプレビューできます。
セットアップ setup
AEM でのヘッドレス開発に取りかかる前に、必要な機能がすべて有効になっていることを確認する必要があります。この節では、必要なものを大まかに説明します。実際の手順については、後述のAEM ヘッドレスデベロッパージャーニーで説明します。
また、個々のトピックについて詳しくは、その他のリソースを参照することもできます。
設定 configuration
- コンテンツフラグメントの有効化
- GraphQL の有効化
- Headless SDK のセットアップ
初めての AEM ヘッドレスアプリの実装
ここでは、AEM を使用してコンテンツを配信する初めてのヘッドレスアプリを実装するために必要な事項の概要を説明します。これらの手順の実行方法については、AEM ヘッドレスデベロッパージャーニーの後のパートで詳しく説明します。
- コンテンツフラグメントモデルを作成する
- コンテンツフラグメントを作成する
- GraphQL を使用してコンテンツのクエリを実行する
ベストプラクティス best-practices
ヘッドレスプロジェクトが成功する理由は、実装された技術ばかりでなく、適切な計画とプロジェクトガバナンスのおかげでもあります。以下では、プロジェクトを計画する際にコンテンツ作成者と開発者の両方が留意すべきベストプラクティスをいくつか示します。
コンテンツの整理 organizing-content
-
構造は必要に応じて複雑になりますが、構造はできるだけシンプルにします。よりシンプルなコンテンツ構造により、コンテンツガバナンスが効率化され、システムのパフォーマンスが向上します。
-
コンテンツの再利用を戦略上の優先事項にします。複数の上位モデルやチャネルで再利用できるサブモデルやコンテンツ参照を作成します。
-
できるだけ説明が不要なコンテンツ構造にして、コンテンツ作成者がすぐに習得して、オーサリングタスクに合わせることができるようにします。
-
アクセス制限がある場合は、コンテンツモデルをアクセス要件に合わせるようにします。
-
アクセス要件がある場合は、それに応じてコンテンツ階層を調整します。同じグループのメンバーが編集したコンテンツを 1 つにまとめます。
-
類似したコンテンツを 1 つのフォルダーにまとめます。
- コンテンツ作成者は、通常、既存のコンテンツをコピー&ペーストして新しいコンテンツを作成します。したがって、同じフォルダーにまとめておくと、より効率的になります。
- AEM では、使用できるモデルをフォルダーごとに設定できるので、「新規作成」ボタンをクリックすると、その場所でサポートされているモデルのみ表示されるようになります。
-
ルートフォルダーがモデル内に設定されている場合は、新しいコンテンツフラグメントをインラインコンテンツフラグメントエディターで簡単に作成できるようになります。そうすれば、実務担当者は場所を選択しなくても、名前を指定するだけで、新しい参照の編集を開始できます。
コンテンツのオーサリング authoring
- コンテンツのチャネル固有バージョンの場合は、コンテンツフラグメントのバリエーションの使用を検討します。バリエーションをコンテンツプライマリと同期させて、コンテンツの変更管理を効率化します。
- 他のコンテンツ作成者を招いて、コンテンツをレビューしてもらい、注釈やコメントを含んだフィードバックを返してもらうことができます。これらのフィードバックはコンテンツフラグメントエディター内でも使用できますし、Admin Console のコンテンツフラグメント管理でフラグメントをまたいでグローバルに使用することもできます。
- できるだけ少数の必須要素で動作を維持できるようにします。必須要素は、ワークフローの妨げになることがあります。
グローバルコンテンツのオーサリング localization
- コンテンツ翻訳のルールとガバナンスを確立します。システムの負荷を軽減するには、より長い期間にわたって実行できる非同期プロセスとして翻訳作業を設定します。ローカライゼーションの品質管理とバグ修正の時間を考慮に入れます。
- 翻訳テクノロジーシステムで提供される機能のうち、翻訳メモリなど、AEM と統合できるすべての機能を活用します。
- 画像やビデオなどのリッチメディアコンテンツのローカライゼーションが必要かどうかを把握します。
次の手順 what-is-next
これで、ここでの AEM ヘッドレスデベロッパージャーニーは完了です。次ができるようになったはずです。
- コンテンツを設計するうえでの計画に関する重要な考慮事項を理解する。
- AEM でヘッドレスを実装する手順を理解する。
- 必要なツールと AEM 設定について知る。
- ヘッドレスジャーニーの円滑化、効率的なコンテンツ生成の維持、迅速なコンテンツ配信の確保を実現するためのベストプラクティスについて知る。
この基礎知識に基づいて AEM ヘッドレス機能の威力と柔軟性を十分理解し、独自のプロジェクトに活用できるようにしていただきたいと考えています。それには、以下のような選択肢があります。
自分の冒険を選ぶ choose-your-path
アドビでは、どのような学習スタイルであろうと、AEM ヘッドレスプロジェクトに取りかかったら、それをぜひ成功させていただきたいと考えています。
- ヘッドレスの概念と AEM のヘッドレステクノロジーについての学習 の続行を希望する場合は、コンテンツを AEM コンテンツモデルとしてモデル化する方法のドキュメントを次に参照しながら、AEM ヘッドレスジャーニーを続けてください。このドキュメントでは、コンテンツ構造を AEM でモデル化する方法を説明しています。
- 実践による学習 を希望する場合は、AEM ヘッドレス入門の実践チュートリアルに進んでください。このチュートリアルでは、AEM ヘッドレスコンテンツを公開する簡単なプロジェクトの実装を通じて、AEM ヘッドレス開発を直接経験します。
その他のリソース additional-resources
コンテンツを AEM コンテンツモデルとしてモデル化する方法のドキュメントを参照して、AEM ヘッドレス開発ジャーニーの次のパートに進むことをお勧めしますが、このドキュメントで取り上げたいくつかの概念をさらに深く掘り下げた次のリソースも用意されているので、必要に応じて参照してください。ただし、これらはヘッドレスジャーニーを続けるうえで必須ではありません。
- AEM ヘッドレス翻訳ジャーニー - このドキュメントジャーニーでは、ヘッドレステクノロジー、AEM によるヘッドレスコンテンツの提供方法、ヘッドレスコンテンツの翻訳方法について幅広く理解できます。
- AEM Sites 向けヘッドレス開発 - AEM ヘッドレス開発者向けに必要な機能を簡単に紹介したものです。
- AEM ヘッドレスチュートリアル - これらの実践チュートリアルでは、AEM を使用してヘッドレスエンドポイントにコンテンツを配信するための様々なオプションの使用方法と、適切なオプションを選択する方法を調べます。
- GraphQL API を使用したヘッドレスコンテンツ管理 - AEM に実装されている GraphQL API の概要についてのコースです。Adobe ID を使用した認証が必要です。
- AEM Guides WKND - GraphQL(英語のみ)- この GitHub プロジェクトには、AEM の GraphQL API を紹介するためのサンプルアプリケーションが含まれています。
- ヘッドレス入門ガイド - AEM の知識が既にあるユーザーを対象とした、AEM のヘッドレス機能の簡単な紹介。
- コンテンツフラグメントモデルの作成 - コンテンツフラグメントモデルに関する技術ドキュメント
- コンテンツフラグメントの作成 - コンテンツフラグメントに関する技術ドキュメント
- GraphQL を使用したコンテンツのクエリ実行 - GraphQL API に関する技術ドキュメント
- AEM 開発者ポータル