AEM ヘッドレスコンテンツアーキテクトジャーニーの冒頭のはじめにで、ヘッドレス向けコンテンツのモデリングに関連する基本概念と用語について説明しました。
この記事ではこれらに基づいて、AEM ヘッドレスプロジェクト用にコンテンツをモデル化する方法を理解します。
コンテンツ(データ)モデリングは確立された一連のテクニックで、関係データベースを開発する際によく使用されますが、AEM ヘッドレスではどのような意味を持つのでしょうか。
アプリケーションが AEM から必要なコンテンツを一貫して効率的に要求し、受け取れるようにするには、このコンテンツが構造化されている必要があります。
つまり、アプリケーションは、事前に応答の形式を把握し、その処理方法を把握しています。これは、自由形式のコンテンツを受け取るよりもはるかに簡単です。自由形式のコンテンツを受け取る場合は、そのコンテンツの内容と使用方法を判断するために解析する必要があります。
AEM は、コンテンツフラグメントを使用して、コンテンツをアプリケーションにヘッドレスに配信するために必要な構造を提供します。
コンテンツモデルの構造には次が当てはまります。
コンテンツフラグメントモデルは、AEM GraphQL スキーマの基礎としても使用され、コンテンツを取得するために使用されます。これについては開発者ジャーニーでさらに説明します。
コンテンツのリクエストは、標準の GraphQL API のカスタマイズされた実装である AEM GraphQL API を使用して行われます。AEM GraphQL API を使用すると、アプリケーションはコンテンツフラグメントで(複雑な)クエリを実行できます。各クエリは、特定のモデルタイプに従っています。
返されたコンテンツは、アプリケーションで使用できます。
コンテンツフラグメントモデルは、コンテンツの構造を定義するための様々なメカニズムを提供します。
コンテンツフラグメントモデルは、エンティティを記述します。
新しいモデルを作成できるように、設定ブラウザーでコンテンツフラグメント機能を有効にする必要があります。
コンテンツフラグメントの作成時に選択するモデルをコンテンツ作成者が把握できるように、モデルに名前を付ける必要があります。
モデル内:
次に例を示します。
AEM では、コンテンツをモデル化するための次のデータタイプが提供されます。
詳しくは、「コンテンツフラグメントモデル - データタイプ」を参照してください。
2 つのデータタイプは、特定のフラグメント外のコンテンツへの参照を提供します。
コンテ
ンツの参照任意のタイプの他のコンテンツへの簡単な参照を提供します。例えば、指定した場所で画像を参照できます。
フラグメ
ントの参照他のコンテンツフラグメントへの参照を提供します。このタイプの参照は、ネストされたコンテンツを作成するために使用され、コンテンツのモデル化に必要な関係を導き出します。このデータタイプは、フラグメント作成者が次の操作を行えるように設定可能です。
また、テキストブロック内でリンクを使用してアドホック参照を作成することもできます。
コンテンツモデリングの場合、フラグメント参照データタイプを使用すると、複数の構造レベルとそれらの関係を作成できます。
このリファレンスでは、様々なコンテンツフラグメントモデルを接続して相互関係を表現できます。これにより、ヘッドレスアプリケーションが必要に応じて接続をたどってコンテンツにアクセスできます。
これは慎重に使用してください。「必要なだけネストするが、できるだけ少なくする」が、ネストに関するベストプラクティスです。
フラグメント参照の役割はまさにそれです。つまり、別のフラグメントを参照できるようにします。
例えば、次のコンテンツフラグメントモデルが定義されているとします。
とても簡単に見えますが、もちろん Company には CEO も Employees(従業員)もいます。これらはすべて人物で、それぞれが Person として定義されます。
また、Person は Award(1 つまたは複数)を持っている可能性があります。
しかし、これはほんの一例です。複雑さに応じて、Award が Company 固有のものであったり、Company が特定の City に本社を置いていたりすることがあります。
こうした相互関係は、アーキテクト、コンテンツ作成者およびヘッドレスアプリケーションが理解できるように、フラグメント参照を使用して表すことができます。
基本を理解したので、次のステップは AEM でのコンテンツフラグメントモデルの作成についてです。ここでは、使用可能な様々な参照を紹介し、ヘッドレス向けモデリングの重要な部分であるフラグメント参照を使用した構造レベルの作成方法について説明します。
基本操作 - このページは主に Sites コンソールに基づいていますが、多くの/ほとんどの機能は Assets コンソールでのコンテンツフラグメントのオーサリングにも関連しています。