モデルの概要

メモ

単一ページアプリケーションフレームワークを基にしたクライアント側レンダリング(React など)が必要なプロジェクトでは、SPA エディターを使用することをお勧めします。詳細情報

モデル管理では、最終的なデータオブジェクトに関連付けることを目的として、モデルの作成および管理をおこなう必要があります。各モデルは、オブジェクトの作成とレンダリングを促進するために必要なすべてのプロパティとフィールドの定義を含みます。

モデル管理では、モデルエンティティ​および​スペース​を作成する必要があります。次の図に、AEM コンテンツと各モデルとの関係を示します。

chlimage_1-81

コンテンツモデル

モデルは、コンテンツのタイプを定義し、ネイティブアプリケーションで使用可能な情報を示します。これは、コンテンツの構成要素に関する説明です。 コンテンツモデルは、コンテンツのパーツの構築方法を定めるルールです。コンテンツモデルには、利用可能なデータ、使用可能なアセット、アセットとデータの関係、他のコンテンツモデルとの関係、利用可能なメタデータが含まれます。

また、モデルは、既存の AEM コンテンツを、ネイティブモバイルアプリで簡単に使用できるオブジェクトに変換する方法も提供します。

コンテンツサービスは、アセットやアセットコレクション、HTML ページ、アプリ設定、チャネル独立ページなどの一般的なオブジェクトに対して、いくつかの既製のモデルを提供します。これらは設定可能であり、AEMの開発作業を必要とせずに、特定のお客様のニーズに対応できます。

ユーザーは、自分独自のモデルを作成できます。したがって、AEM によってまだ管理されていない新しいコンテンツタイプの作成が可能です。モデルの作成は、既存のプリミティブタイプを使用した UI でおこないます。

次の図に、AEM Mobile アプリのコンテンツモデルと、アプリへのエンティティ、フォルダーおよびスペースの割り当て方法を示します。

chlimage_1-82

モデル

モデルは、エンティティの作成方法を決めるために使用します。エンティティで使用できるものと、AEMコンテンツからデータを生成する方法を定義します。 スペース、フォルダーおよびエンティティの操作を開始する前に、モデルの作成と管理に習熟する必要があります。

メモ

モデルは、複数のアプリで使用できるので、アプリの外側に存在します。

ダッシュボードとリポジトリでのモデルの作成および管理について詳しくは、モデル​を参照してください。

コンテンツモデルのエンティティ

エンティティは、コンテンツモデルのインスタンスです。エンティティは、Content Services APIを介してクライアント側ライブラリに公開され、ネイティブアプリがチャネルに依存しない方法でコンテンツにアクセスする方法を提供します。

既存の AEM コンテンツの場合、エンティティは、モデルと AEM コンテンツソースを使用して生成されます。例えば、ページエンティティは、AEMページとページモデルから生成されるチャネルとレイアウトに依存しないオブジェクトです。

エンティティの参照先コンテンツが変更されると、そのエンティティも変更されます。例えば、cq:page​が更新されると、そのページを基にするエンティティもすべて更新されます。

モデルからカスタムエンティティを作成するには、エンティティ​の操作を参照してください。

メモ

ユーザーが新しいモデルを作成するなどして、モデルが既存の AEM コンテンツに一致しなくなった場合は、UI で新しいエンティティを作成できます。

コンテンツモデルのスペース

スペースを使用すると、エンティティを整理してアクセスを容易にできます。スペースは、1 つ以上のエンティティタイプと、サブフォルダーを含むことができます。

AEM の側から見ると、スペースは、関連するエンティティを管理するのに役立ちます。また、スペースは、認証権限の割り当てにも使用できます。スペースに認証を行うことができます。その後、スペース内のエンティティが保護されます。

ユーザーが、エンティティを汎用的な 3 つのグループに分類しています。1つは内部での使用のみを目的とし、もう1つは公開での使用が承認されます。もう1つは、多くのアプリで使用される一般的なエンティティ用です。 管理を容易にするために、ユーザーは、次に示す適切なエンティティを管理するための3つのスペース(内部パブリック(英語とフランス語の両方のコンテンツを含む)、共通​を作成します。

  • /content/entities/internal
  • /content/entities/public/en
  • /content/entities/public/fr
  • /content/entities/common

スペースにサービスエンドポイントが提供されるので、ネイティブクライアントライブラリで、スペースのコンテンツのリストをリクエストできます。この「リスト」は、JSON オブジェクトとして返されます。

スペースを作成およびパブリッシュする方法については、スペースとエンティティ​を参照してください。

メモ

1 つのスペースを多数のアプリで使用できます。また、1 つのアプリで多数のスペースを使用できます。

コンテンツモデルのフォルダー

フォルダーを使用すると、必要に応じてエンティティを整理し、より細かな ACL コントロールを促進できます。スペース内にフォルダーを含めると、コンテンツやアセットを簡単に整理できます。ユーザーは、スペース下に自分独自のフォルダー階層を作成できます。

スペース内のフォルダの作成と管理については、スペース内のフォルダの操作​を参照してください。

このページ