コンテンツフラグメントと GraphQL API を使用すると、Adobe Experience Manager(AEM)as a Cloud Service をヘッドレスコンテンツ管理システム(CMS)として使用できます。
これを実現するには、AEM GraphQL API(標準 GraphQL に基づいてカスタマイズされた実装)と共にコンテンツフラグメントを使用して、アプリケーションで使用する構造化されたコンテンツをヘッドレスで配信します。単一の API クエリをカスタマイズできる機能により、レンダリングする特定のコンテンツを(単一の API クエリに対する応答として)取得して配信できます。
関連トピック:
ヘッドレスの概念と用語の概要については、ヘッドレスとはを参照してください。
AEM Sites as a Cloud Service 向けヘッドレス開発の概要については、ヘッドレスと AEM を参照してください。
GraphQL は現在、Adobe Experience Manager(AEM)as a Cloud Service の、2 つの(個別の)シナリオで使用されています。
ヘッドレスコンテンツ管理システム(CMS)は、バックエンドのみのコンテンツ管理システムであり、API を介してコンテンツにアクセスできるようにするコンテンツリポジトリとして明示的に設計および構築され、任意のデバイス上で表示することができます。
AEM のコンテンツフラグメントのオーサリングとは、次のことを意味します。
コンテンツフラグメントを使用すると、主にフォーマットされたページに直接公開することを目的としていない(1:1)コンテンツを作成できます。
コンテンツフラグメントのコンテンツは、コンテンツフラグメントモデルに従って、あらかじめ決められた方法で構造化されます。これにより、アプリケーションへのアクセスが簡素化され、コンテンツの処理が促進されます。
GraphQL とは次のことを意味します。
「…API のクエリ言語と、既存のデータを使用してこれらのクエリを満たすランタイムです。」
GraphQL.org を参照
AEM GraphQL API を使用すると、コンテンツフラグメントで(複雑な)クエリを実行できます。各クエリは、特定のモデルタイプに従っています。返されたコンテンツは、アプリケーションで使用できます。
Adobe Experience as a Cloud Experience には、標準の GraphQL API のカスタマイズ実装が開発されています。詳しくは、「コンテンツフラグメントと共に使用する AEM GraphQL API」を参照してください。
AEM GraphQL API の実装は、GraphQL Java ライブラリに基づいています。
コンテンツフラグメントは、AEM クエリの GraphQL の基盤として次のように使用できます。
コンテンツフラグメント:
構造化コンテンツを含みます。
作成されるフラグメントの構造を事前定義するコンテンツフラグメントモデルに基づいています。
有効にされると、スキーマの生成に使用されます。
GraphQL に必要なデータタイプとフィールドを提供します。アプリケーションが、可能なことだけを要求して期待するものを受け取るようにします。
データタイプフラグメント参照は、別のコンテンツフラグメントを参照するためにモデル内で使用できるので、構造レベルを追加します。
フラグメント参照は、
GraphQL との関連で特に興味深いものです。
コンテンツフラグメントモデルの定義時に使用できる特定のデータタイプです。
特定のコンテンツフラグメントモデルに依存する別のフラグメントを参照します。
構造化データを取得できます。
AEMでは、分析に役立つように、 コンテンツフラグメントエディター.
詳しくは、 コンテンツフラグメント構造の分析 詳しくは、以下を参照してください。
AEM GraphQL API の使い方の紹介は、「AEM での GraphQL の使用方法 - コンテンツとクエリの例」を参照してください。
実践的なチュートリアルを探している場合は、AEM の GraphQL API を使用し、外部アプリで使用するコンテンツをヘッドレス CMS シナリオで構築して公開する方法を示す「AEM ヘッドレスと GraphQL をはじめる前に」のエンドツーエンドのチュートリアルをご覧ください。