コンテンツフラグメントモデル

コンテンツフラグメントモデルは、コンテンツフラグメントのコンテンツの構造を定義します。

コンテンツフラグメントモデルを使用するには、以下をおこないます。

  1. インスタンスに対するコンテンツフラグメントモデル機能の有効化
  2. コンテンツフラグメントモデルの作成設定
  3. コンテンツフラグメントの作成時に使用するコンテンツフラグメントモデルの有効化
  4. ポリシーを設定することで、必要なアセット フォルダーに対してコンテンツフラグメントモデルを許可し ます

コンテンツフラグメントモデルの作成

  1. ツールアセット​に移動し、コンテンツフラグメントモデル​を開きます。

  2. 目的の設定に適したフォルダーに移動します。

  3. 作成」を使用してウィザードを開きます。

    注意

    コンテンツフラグメントモデルの使用が有効になっていない場合、「作成」オプションは使用できません。

  4. モデルタイトル」を指定します。また、タグ説明​を追加し、必要に応じて​モデル​を有効にしてモデルを有効にします。

    タイトルと説明

  5. 作成」を使用して空のモデルを保存します。操作の成功を示すメッセージが表示されます。「開く」を選択してモデルをすぐに編集するか、「完了」を選択してコンソールに戻ることができます。

コンテンツフラグメントモデルの定義

コンテンツフラグメントモデルは、データタイプ​の選択を使用して、結果として得られるコンテンツフラグメントの構造を効果的に定義します。モデルエディターを使用して、データ型のインスタンスを追加し、それらを設定して必須フィールドを作成できます。

注意

既存のコンテンツフラグメントモデルを編集すると、依存するフラグメントが影響を受ける可能性があります。

  1. ツールアセット​に移動し、コンテンツフラグメントモデル​を開きます。

  2. コンテンツフラグメントモデルが含まれているフォルダーに移動します。

  3. 必要なモデルを​編集​用に開きます。クイック操作を使用するか、モデルを選択してツールバーから操作を選択します。

    モデルを開くと、モデルエディターに次の情報が表示されます。

    • 左:既に定義されているフィールド
    • 右:フィールドの作成に使用できる​データタイプ(およびフィールドの作成後に使用する​プロパティ
    メモ

    あるフィールドを​必須​として指定した場合、左側のウィンドウに表示される​ラベル​にアスタリスク(*)が付きます。

    プロパティ

  4. フィールドを追加するには

    • 必要なデータタイプをフィールドの必要な場所にドラッグします。

      フィールドへのデータタイプのドラッグ

    • フィールドがモデルに追加されると、その特定のデータタイプに対して定義できる​プロパティ​が右側のパネルに表示されます。ここで、そのフィールドに必要な項目を定義することができます。

      • 多くのプロパティは自明です。詳しくは「プロパティ」を参照してください。
      • フィールドラベル​を入力すると、プロパティ名​が空の場合は自動入力され、後で手動で更新できます。

      次に例を示します。

      フィールドのプロパティ

  5. フィールドを削除するには

    必要なフィールドを選択し、ごみ箱アイコンをクリックまたはタップします。この操作の確認が求められます。

    削除

  6. すべての必須フィールドを追加し、必要に応じて関連するプロパティを定義します。次に例を示します。

    保存

  7. 保存」を選択して、定義を保持します。

データタイプ

モデルの定義には、次のデータタイプを選択できます。

  • 1 行のテキスト
    • 1 行のテキストのフィールドを 1 つ以上追加(最大長は定義可能)
  • 複数行テキスト
    • リッチテキスト、プレーンテキストまたはマークダウンのテキスト領域
  • 番号
    • 1 つ以上の数値フィールドを追加
  • ブール型
    • ブール型チェックボックスを追加
  • 日時
    • 日付や時刻を追加
  • 列挙
    • チェックボックス、ラジオボタン、ドロップダウンフィールドのセットを追加
  • タグ
    • フラグメント作成者がタグの領域にアクセスして選択できるようにする
  • コンテンツ参照
  • フラグメント参照
    • 他のコンテンツフラグメントを参照します。は、ネストされたコンテンツの作成に使用できます。
    • データ型を設定して、フラグメント作成者が次の操作を行えるようにすることができます。
      • 参照先のフラグメントを直接編集します。
      • 適切なモデルに基づいて新しいコンテンツフラグメントを作成する
  • JSON オブジェクト
    • コンテンツフラグメントの作成者が、フラグメントの対応する要素にJSON構文を入力できるようにします。
      • 別のサービスからコピー&ペーストした直接JSONをAEMに保存できるようにする。
      • JSONが渡され、GraphQLにJSONとして出力されます。
      • コンテンツフラグメントエディターに、JSON構文のハイライト、オートコンプリート、エラーのハイライトが含まれます。

プロパティ

多くのプロパティは自明です。プロパティによっては次に示す追加の詳細情報があります。

  • Render As
    フラグメント内のフィールドを実現/レンダリングするための様々なオプション。多くの場合、これにより、作成者にフィールドの 1 つのインスタンスが表示されるか、作成者が複数のインスタンスを作成できるかを定義できます。

  • フィールドラベル
    フィールドラベル​は​プロパティ名​を自動生成します。プロパティ名は必要に応じて手動で更新できます。

  • 検証​基本検証は、
    必須​プロパティなどのメカニズムで使用できます。一部のデータ型には、追加の検証フィールドがあります。詳しくは、「検証」を参照してください。

  • データタイプが​複数行テキスト​の場合、「デフォルトの種類」を次のいずれかとして定義できます。

    • リッチテキスト
    • Markdown
    • プレーンテキスト

    指定しなかった場合は、デフォルト値の​リッチテキスト​がこのフィールドで使用されます。

    コンテンツフラグメントモデルで「デフォルトの種類」を変更した場合、その影響が既存の関連コンテンツフラグメントに及ぶのは、そのフラグメントがエディターで開かれて保存された後です。


  • UniqueContent(特定のフィールドに対する)は、現在のモデルから作成されるすべてのコンテンツフラグメントで一意である必要があります。

    これは、同じモデルの別のフラグメントに既に追加されているコンテンツを、コンテンツ作成者が繰り返せないようにするために使用します。

    例えば、コンテンツフラグメントモデルの​1行のテキスト​フィールドCountryは、2つの依存するコンテンツフラグメントに値Japanを持つことはできません。 2つ目のインスタンスが試行されると、警告が表示されます。

    メモ

    言語ルートごとの一意性が確保されます。

    メモ

    バリエーションは、同じフラグメントのバリエーションと同じ​一意の​値を持つことができますが、他のフラグメントのバリエーションで使用される値とは異なります。

  • 翻訳可能CFモデルエディターでフィールドの「翻訳可能」チェックボックスをオンにすると、

    • フィールドのプロパティ名が、まだ存在しない場合は、translation config, context /content/dam/<tenant>に追加されていることを確認します。
    • GraphQLの場合:「コンテンツフラグメント」フィールドの<translatable>プロパティをyesに設定し、変換可能なコンテンツのみを含むJSON出力用のGraphQLクエリフィルターを許可します。
  • 特定のデータ型とそのプロパティについて詳しくは、フラグメント参照(ネストされたフラグメント)​を参照してください。

検証

様々なデータ型に、結果のフラグメントにコンテンツが入力される際の検証要件を定義できるようになりました。

  • 1 行のテキスト
    • 事前定義された正規表現と比較します。
  • 番号
    • 特定の値を確認します。
  • コンテンツ参照
    • 特定のタイプのコンテンツをテストします。
    • 指定したファイルサイズ以下のアセットのみを参照できます。
    • 定義済みの幅または高さ(ピクセル単位)の範囲内の画像のみを参照できます。
  • フラグメント参照
    • 特定のコンテンツフラグメントモデルをテストします。

参照を使用したネストされたコンテンツのフォーム

コンテンツフラグメントは、次のデータ型のいずれかを使用して、ネストされたコンテンツを形成できます。

  • コンテンツ参照

    • 他のコンテンツへの簡単な参照を提供します。任意のタイプの
    • 1つまたは複数の参照に対して設定できます(結果のフラグメント内)。
  • フラグメント参照 (ネストされたフラグメント)

    • 指定した特定のモデルに応じて、他のフラグメントを参照します。

    • 構造化データを含めたり、取得したりできます。

      メモ

      この方法は、GraphQL](/docs/experience-manager-cloud-service/assets/content-fragments/content-fragments-graphql.html?lang=ja)でのコンテンツフラグメントを使用した[ヘッドレスコンテンツ配信との関連で特に重要です。

    • 1つまたは複数の参照に対して設定できます(結果のフラグメント内)。

メモ

AEMでは次の繰り返しを保護しています。

  • コンテンツ参照
    これにより、現在のフラグメントに参照が追加されなくなります。 これにより、空のフラグメント参照選択ダイアログが表示される場合があります。
  • GraphQLのフラグメント参照
    相互に参照される複数のコンテンツフラグメントを返すディープクエリを作成する場合、最初にnullが返されます。

コンテンツ参照

コンテンツリファレンスを使用すると、別のソースからコンテンツをレンダリングできます。例えば、画像やコンテンツフラグメントなどです。

標準プロパティに加えて、次を指定できます。

  • 参照されるコンテンツの​ルートパス
  • 参照可能なコンテンツタイプ。
  • ファイルサイズの制限事項
  • 画像の制限。 コンテンツ参照

フラグメント参照(ネストされたフラグメント)

フラグメント参照は、1つ以上のコンテンツフラグメントを参照します。 アプリで使用するコンテンツを取得する場合、この特に関心のある機能は、複数のレイヤーを持つ構造化データを取得できる点にあります。

次に例を示します。

  • 従業員の詳細を定義するモデル以下が含まれます。
    • 事業主(会社)を定義するモデルへの参照
type EmployeeModel {
    name: String
    firstName: String
    company: CompanyModel
}

type CompanyModel {
    name: String
    street: String
    city: String
}
メモ

これは、GraphQL](/docs/experience-manager-cloud-service/assets/content-fragments/content-fragments-graphql.html?lang=ja)でのコンテンツフラグメントを使用した[ヘッドレスコンテンツ配信との関連で特に重要です。

標準プロパティに加えて、次のように定義できます。

  • レンダリング時の名前:

    • multifield — フラグメント作成者は、複数の個別の参照を作成できます。

    • fragmentreference — フラグメント作成者がフラグメントへの1つの参照を選択できるようにします。

  • モデル
    タイプ複数のモデルを選択できます。コンテンツフラグメントをオーサリングする場合、参照フラグメントはこれらのモデルを使用して作成されている必要があります。

  • ルート
    パス参照されるすべてのフラグメントのルートパスを指定します。

  • フラグメントの作成を許可

    これにより、フラグメント作成者は適切なモデルに基づいて新しいフラグメントを作成できます。

    • fragmentreferencecomposite — 複数のフラグメントを選択して、フラグメント作成者が複合フラグメントを作成できます。

    フラグメント参照

メモ

繰り返し防止機構が設けられている。 これにより、フラグメント参照でユーザーが現在のコンテンツフラグメントを選択できなくなります。 これにより、空のフラグメント参照選択ダイアログが表示される場合があります。
GraphQLには、フラグメント参照の繰り返し保護もあります。 相互に参照する2つのコンテンツフラグメントに対してディープクエリを作成すると、nullが返されます。

コンテンツフラグメントモデルの有効化または無効化

コンテンツフラグメントモデルの使用を完全に制御するために、設定できるステータスがあります。

コンテンツフラグメントモデルの有効化

モデルを作成して有効にすると、次が可能になります。

  • 新しいコンテンツフラグメントの作成時に選択する
  • コンテンツフラグメントモデル内から参照する
  • GraphQL で使用する(スキーマが生成される)

次のいずれかとしてフラグ付けされたモデルを有効にするには

  • ドラフト:新規(無効)
  • 無効:明示的に無効化されている

​有効化」オプションは、次のいずれかから使用します。

  • 上部のツールバー(必要なモデルが選択されている場合)
  • 対応するクイックアクション(必要なモデルにマウスを移動)

ドラフトまたは無効なモデルの有効化

コンテンツフラグメントモデルの無効化

モデルを無効にすると、以下のようになります。

  • このモデルは、新しい​コンテンツフラグメントを作成する際の基盤としては使用できなくなります。
  • ただし、
    • GraphQL スキーマは生成され続け、クエリも可能です(JSON API への影響を回避するため)。
    • モデルに基づくコンテンツフラグメントは、引き続き GraphQL エンドポイントからクエリして返すことができます。
  • モデルは参照できなくなりますが、既存の参照は変更されず、引き続き GraphQL エンドポイントからクエリして返すことができます。

有効」としてフラグ付けされたモデルを無効にするには、次のいずれかの「無効化」オプションを使用します。

  • 上部のツールバー(必要なモデルが選択されている場合)
  • 対応するクイックアクション(必要なモデルにマウスを移動)

有効なモデルの無効化

アセットフォルダー上でのコンテンツフラグメントモデルの許可

コンテンツガバナンスを実装するには、アセットフォルダーに​ポリシー​を設定して、そのフォルダーでフラグメントの作成に許可するコンテンツフラグメントモデルを制御します。

メモ

このメカニズムは、ページの高度なプロパティで、あるページに対してページテンプレートとその子を許可すると似ています。

ポリシー​を​許可されているコンテンツフラグメントモデル​用に設定するには:

  1. 必要なアセットフォルダーの​プロパティ​に移動して開きます。

  2. ポリシー」タブを開き、次の設定を行うことができます。

    • 継承元<folder>

      ポリシーは、新しい子フォルダーの作成時に自動的に継承されます。サブフォルダーで親フォルダーとは異なるモデルを許可する必要がある場合は、ポリシーを再設定(継承を中断)できます。

    • 許可されているコンテンツフラグメントモデルパス (パス別)

      複数のモデルを使用できます。

    • タグ別に許可されるコンテンツフラグメントモデル

      複数のモデルを使用できます。
      コンテンツフラグメントモデルポリシー

  3. 変更を 保存します。

フォルダーに対して許可されるコンテンツフラグメントモデルは、次のように解決されます。

  • ​許可されているコンテンツフラグメントモデル​のポリシー
  • 空の場合は、継承ルールを使用してポリシーを決定してみてください。
  • 継承チェーンが結果を提供しない場合は、そのフォルダーの​Cloud Services​設定を調べます(最初に直接、次に継承を介します)。
  • 上記のいずれも結果を出さない場合、そのフォルダーには許可されているモデルはありません。

コンテンツフラグメントモデルの削除

注意

コンテンツフラグメントモデルを削除すると、依存するフラグメントが影響を受ける可能性があります。

コンテンツフラグメントモデルを削除するには:

  1. ツールアセット​に移動し、コンテンツフラグメントモデル​を開きます。

  2. コンテンツフラグメントモデルが含まれているフォルダーに移動します。

  3. モデルを選択し、次にツールバーの「削除」を選択します。

    メモ

    モデルが参照されている場合は、警告が表示されます。適切に対処します。

コンテンツフラグメントモデルの公開

コンテンツフラグメントモデルは、依存するコンテンツフラグメントの公開時または公開前に公開する必要があります。

コンテンツフラグメントモデルを公開するには:

  1. ツールアセット​に移動し、コンテンツフラグメントモデル​を開きます。

  2. コンテンツフラグメントモデルが含まれているフォルダーに移動します。

  3. モデルを選択し、次にツールバーの「公開」を選択します。公開ステータスがコンソールに示されます。

    メモ

    まだ公開されていないモデルのコンテンツフラグメントを公開すると、選択リストにそのことが示され、モデルがフラグメントと共に公開されます。

コンテンツフラグメントモデルを非公開にする

コンテンツフラグメントモデルがフラグメントによって参照されていない場合は、そのモデルを非公開にできます。

コンテンツフラグメントモデルを非公開するには、いずれかをおこないます。

  1. ツールアセット​に移動し、コンテンツフラグメントモデル​を開きます。

  2. コンテンツフラグメントモデルが含まれているフォルダーに移動します。

  3. モデルを選択し、次にツールバーの「非公開」を選択します。公開ステータスがコンソールに示されます。

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free