コンテンツフラグメントモデルの管理 managing-content-fragment-models
コンテンツフラグメントコンソールでは、コンテンツフラグメントモデルを管理でき、さらにエディターを開いて構造を定義できます。
Adobe Experience Manager(AEM)as a Cloud Service のコンテンツフラグメントモデルでは、コンテンツフラグメントのコンテンツの構造を定義します。これらのコンテンツフラグメントは、ヘッドレスコンテンツの基礎として、またはページオーサリングに使用できます。
コンテンツフラグメントモデルの操作方法 how-to-work-with-content-fragment-models
簡単にまとめると、コンテンツフラグメントモデルを操作するには、次の手順を実行します。
- インスタンスに対するコンテンツフラグメントモデル機能を有効化します
- コンテンツフラグメントモデルを作成します。
- この時点で、モデルを 有効にする こともできます(コンテンツフラグメントの作成時に使用します)。
- モデルの構造を定義します。
- コンテンツフラグメントモデルを有効にします(まだの場合)。
- ポリシー を設定して、必要なアセットフォルダーでコンテンツフラグメントモデルを許可します。
コンソールのコンテンツフラグメントモデルの基本構造と基本操作 basic-structure-handling-content-fragment-models-console
コンテンツフラグメントコンソールの左端のパネルを使用して、表示、参照、管理するリソースタイプで「コンテンツフラグメントモデル」を選択できます。
これにより、コンテンツフラグメントモデルのビューが開きます。
主な領域が 3 つあります。
-
上部のツールバー
- 標準の AEM 機能を提供します
- IMS 組織も表示します
- 様々なアクションの提供
-
左側のパネル
- フォルダーとしてリストされたすべての設定へのパスを表示します
- フォルダーツリーを表示したり非表示にしたりできます
- ツリーの特定のフォルダーを選択できます
- ネストされたフォルダー(サブ設定)が表示されるようにサイズ変更できます
- コンテンツフラグメントモデルだけでなく、コンテンツフラグメントやアセットも表示できます。また、パネルへのリンクを圧縮または展開することもできます
-
右側のメインパネルでは、次のことが可能です。
-
選択したフォルダーの下にあるすべてのコンテンツフラグメントモデルのリストを確認します。
-
選択したフォルダーのコンテンツフラグメントモデルと、すべての子フォルダーが表示されます。
- 場所はパンくずリストで示されます。これを使用して、場所を変更することもできます。
-
コンテンツフラグメントにモデル関する様々な情報フィールドにリンクがあります。このリンクは、フィールドに応じて、次のような機能があります。
- エディターで適切なフラグメントを開く
- 設定へのパスに関する情報を表示する
- モデルのステータスに関する情報を表示する
-
コンテンツフラグメントモデルについてのその他の特定の情報フィールドは、高速フィルタリングに使用できます。
- 列の値を選択すると、直ちにフィルターとして適用されます
- 高速フィルタリングは、変更者、公開者、ステータス の各列でサポートされています。
-
列ヘッダーにマウスオーバーを使用すると、ドロップダウンアクションセレクターと幅スライダーが表示されます。これらを使用すると、次のことができます。
- 並べ替え - 昇順または降順に適切なアクションを選択します。
これにより、テーブル全体がその列に従って並べ替えられます。並べ替えは、適切な列でのみ使用できます。 - 列のサイズを変更 - アクションまたは幅スライダーを使用します。
- 並べ替え - 昇順または降順に適切なアクションを選択します。
-
さらにアクションを実行するには、1 つ以上のフラグメントを選択します
-
-
「フィルターパネル」を開きます
-
このコンソールで使用できるキーボードショートカットの選択
-
コンテンツフラグメントモデルに関して提供される情報 information-content-fragment-models
コンソールのメインパネルや右パネル(テーブル表示)には、コンテンツフラグメントモデルに関する様々な情報が表示されます。また一部の項目には、その他のアクションや情報への直接リンクも含まれます。
モデルのプロパティ model-properties
特定のモデルを選択すると、そのモデルのプロパティが(モデルの作成時に定義したとおりに)表示されます。モデルが ロック されていないでない場合、一部の項目は更新できます。また、情報アイコン(モデルの タイトル の横)を使用して、この情報パネルの開閉ができます。
-
タイトル
-
タグ
-
説明
-
プレビュー URL パターン
コンテンツフラグメントモデルを使用すると、作成者は外部フロントエンドアプリケーションでコンテンツを プレビュー できます。プレビューサービス を設定したら、フロントエンドアプリケーションの URL を追加します。
プレビュー URL は次のパターンに従う必要があります。
https://<preview_url>?param=${expression}
使用できる式は次のとおりです。
${contentFragment.path}
${contentFragment.model.path}
${contentFragment.model.name}
${contentFragment.variation}
${contentFragment.id}
アクション actions
フォルダーを(左側のパネルで)選択した後、そのまま直接できるアクション、または特定のモデルを選択した後にできる様々なアクションがあります。
- 様々なアクションをコンソールから直接実行できます
- 1 つ以上のコンテンツフラグメントを選択して所定のアクションを表示できます
アクション(未選択) actions-unselected
フォルダーの選択後、特定のコンテンツフラグメントモデルを選択しなくても、コンソールから特定のアクションを実行できます。
- 新しいワークフローモデルを 作成 します
コンテンツフラグメントコンソールでのコンテンツフラグメントモデルのアクション actions-selected-content-fragment-models
特定のモデルを選択するとツールバーが開き、そのモデルで使用可能なアクションが表示されます。複数のモデルを選択することもできます。それに応じて、使用可能なアクションも変化します。
1 つのモデルを選択すると、右側のパネルにモデルのプロパティも表示されます。
コンソールに表示される列の選択 select-columns-console
他のコンソールと同様に、表示する列やアクションに使用できる列を設定できます。
表示または非表示にできる列のリストが表示されます。
コンテンツフラグメントモデルのフィルター filter-content-fragment-models
フィルターパネルには、次の機能があります。
-
一連の述語
- ステータスフィールド、タグ、ユーザーなど
- 1 つ以上の述語を選択して組み合わせ、フィルターを作成できます
選択した後、メインパネルの上部に「フィルター条件」オプションが表示され、そこから選択を解除できます。次に例を示します。
高速フィルタリング fast-filtering
リスト内の特定の列の値をクリックして、述語を選択することもできます。1 つ以上の値を選択して、述語を組み合わせることができます。
例えば、ステータス 列の「公開済み」を選択します。選択すると、フィルターの述語として表示され、それに応じてリストがフィルターされます。
コンテンツフラグメントモデルの作成 creating-a-content-fragment-model
-
目的の設定またはサブ設定に適したフォルダーに移動します。
-
「作成」を使用してダイアログを開きます。
note caution CAUTION 「作成」オプションは、次の場合にのみ使用できます。 - コンテンツフラグメントモデルの使用が有効になっている場合
- モデルを作成するフォルダーが選択されている場合。
-
設定の パス を選択し、名前 を指定します。
note note NOTE 設定には、現在の設定(現在のフォルダー)が自動入力されます。 フォルダーアイコンをクリックして設定を変更することもできます。 様々なプロパティも定義できます。
- タイトル
最初に タイトル を入力すると、そこから 名前 が生成されます。 - 説明
- モデルを有効にする でモデルを有効にします
note note NOTE 詳しくは、コンテンツフラグメントモデル - プロパティを参照してください。 - タイトル
-
「作成」を使用して空のモデルを保存するか、「作成して開く」を使用します。
コンテンツフラグメントモデルの有効化 enabling-a-content-fragment-model
モデルを作成したら、次のようにモデルを有効にする必要があります。
- コンテンツフラグメントの作成時に選択できます。
- コンテンツフラグメントモデル内から参照する
- GraphQL で使用する(スキーマが生成される)
モデルは次の場合に 有効 にできます。
- モデルを作成するとき
- オプションがダイアログに表示されます。
- モデルが明確に 無効 になったとき
- 必要なモデルを選択すると、上部のツールバーで「有効にする」アクションを使用できます。
コンテンツフラグメントモデルの無効化 disabling-a-content-fragment-model
モデルを無効にすると、以下のようになります。
-
このモデルは、新しい コンテンツフラグメントを作成する際の基盤としては使用できなくなります。
-
ただし、
- GraphQL スキーマは生成され続け、スキーマのクエリも引き続き可能です(JSON API への影響を回避するため)。
- モデルに基づくコンテンツフラグメントは、引き続き GraphQL エンドポイントからクエリして返すことができます。
-
モデルは参照できなくなりますが、既存の参照は変更されず、引き続き GraphQL エンドポイントからクエリして返すことができます。
「有効」としてフラグ付けされたモデルを無効にするには、次のいずれかの「無効にする」オプションを使用します。
- 上部のツールバー(必要なモデルが選択されている場合)。
アセットフォルダーでのコンテンツフラグメントモデルの許可 allowing-content-fragment-models-assets-folder
コンテンツのガバナンスを実装するには、アセットフォルダーに ポリシー を設定して、そのフォルダーでのフラグメント作成に使用可能なコンテンツフラグメントモデルを管理します。
許可されているコンテンツフラグメントモデル に ポリシー を設定するには:
-
必要なアセットフォルダーの プロパティ を開きます。
-
「ポリシー」タブを開き、以下を設定します。
-
継承元
<folder>
ポリシーは、新しい子フォルダーの作成時に自動的に継承されます。サブフォルダーで親フォルダーとは異なるモデルを許可する必要がある場合は、ポリシーを再設定(継承を解除)できます。
-
許可されているコンテンツフラグメントモデルパス (パス別)
複数のモデルを許可できます。
-
許可されているコンテンツフラグメントモデルタグ (タグ別)
複数のモデルを許可できます。
-
-
変更内容を 保存 します。
フォルダーに対して許可されるコンテンツフラグメントモデルは、次の順序で解決されます。
- 許可されているコンテンツフラグメントモデル の ポリシー。
- 空の場合は、継承ルールを使用してポリシーの決定を試みます。
- 継承チェーンを使用しても結果が得られない場合は、そのフォルダーの Cloud Services 設定を調べます(最初は直接、次に継承を使用して調べます)。
- 上記のいずれでも結果が得られない場合、そのフォルダーに許可されるモデルはありません。
コンテンツフラグメントモデルの公開 publishing-a-content-fragment-model
コンテンツフラグメントモデルは、そのモデルに依存するコンテンツフラグメントの公開時または公開前に公開する必要があります。
コンテンツフラグメントモデルを公開するには:
-
コンテンツフラグメントモデルに移動して選択します。複数のモデルを選択できます。
-
ツールバーの「公開」を選択します。
-
公開ダイアログで、「宛先」を選択します。
- パブリッシュサービス
- プレビューサービス
-
選択したモデルとその参照を公開するワークフローが開始されます。公開ステータスがコンソールに示されます。
コンテンツフラグメントモデルのロック locked-content-fragment-models
この機能を使用すると、モデルを更新できるかどうかを制御できますが、公開済みのコンテンツフラグメントモデルに対するガバナンスもできるようになります。
課題 the-challenge
-
コンテンツフラグメントモデルは、AEM における GraphQL クエリのスキーマを決定します。
-
AEM GraphQL スキーマは、コンテンツフラグメントモデルが作成されると同時に作成され、オーサー環境とパブリッシュ環境の両方に存在できます。
-
公開上のスキーマは、JSON 形式のコンテンツフラグメントコンテンツをライブ配信する場合の基盤となるので、非常に重要です。
-
-
コンテンツフラグメントモデルが変更つまり編集された場合には、問題が発生する可能性があります。つまり、スキーマの変更が既存の GraphQL クエリに影響を与える可能性があります。
-
コンテンツフラグメントモデルに新しいフィールドを追加する場合は、(通常は)悪影響はありません。ただし、既存のデータフィールド(名前など)を変更したり、フィールド定義を削除したりすると、既存の GraphQL クエリでこれらのフィールドをリクエストする際に、クエリが機能しなくなります。
要件 the-requirements
-
ライブコンテンツ配信に既に使用されているモデル(つまり、公開済みのモデル)を編集する際のリスクをユーザーに認識させる。
-
意図しない変更を避ける。
いずれにせよ、変更されたモデルが再公開されると、クエリが機能しなくなる可能性があります。
解決策 the-solution
これらの問題に対処するために、コンテンツフラグメントモデルは、公開され次第、オーサー環境では読み取り専用モードに ロック されます。このステータスは、ロック済み と表示されます。
モデルが ロック済み(読み取り専用モード)の場合、モデルの内容と構造は表示できますが、モデルを編集することはできません。
ロック済み モデルは、コンソールまたはモデルエディターで管理できます。
-
コンソール
コンソールで、ツールバーの「ロック解除」および「ロック」アクションを使用して、読み取り専用モードを管理できます。
-
モデルを ロック解除 して編集を有効にすることができます。
「ロック解除」を選択した場合、警告が表示されるので、「ロック解除」アクションを確定する必要があります。
その後、モデルを編集用に開くことができます。
-
編集後にまたモデルを ロック することもできます。
-
モデルを再公開すると、すぐに ロック済み(読み取り専用)モードに戻ります。
-
-
モデルエディター
-
ロックされているモデルを開くと、警告が表示され、「キャンセル」、「読み取り専用で表示」、「編集」の 3 つのアクションが提示されます。
-
「読み取り専用で表示」を選択した場合、モデルの内容と構造が表示されます。
-
「編集」を選択すると、更新内容を編集して保存できます。
note note NOTE まだ上部に警告が表示される場合がありますが、その場合は、モデルが既存のコンテンツフラグメントで既に使用されています。 -
「キャンセル」を選択すると、コンソールに戻ります。
-