コンテンツフラグメントの作成
この章では、 チームと人物のコンテンツフラグメントモデル に基づいて、新しいコンテンツフラグメントを作成および編集します。 これらのコンテンツフラグメントは、AEM コンテンツフラグメント配信とOpenAPI APIを使用して、React アプリで消費されるコンテンツです。
前提条件
これは複数の部で構成されるチュートリアルで、「コンテンツフラグメントモデルの定義」でまとめられている手順が完了していることを前提としています。
目的
- コンテンツフラグメントモデルに基づいてコンテンツフラグメントを作成します。
- コンテンツフラグメントの作成。
- コンテンツフラグメントを公開します。
コンテンツフラグメント用のアセットフォルダーの作成
コンテンツフラグメントは、AEM Assets のフォルダーに保存されます。 前の章で作成したコンテンツフラグメントモデルからコンテンツフラグメントを作成するには、それらを保存するフォルダーが存在する必要があります。 特定のコンテンツフラグメントモデルからコンテンツフラグメントを作成できるようにするには、フォルダーに設定が必要です。
AEMは「フラット」フォルダーの整理をサポートしています。つまり、異なるコンテンツフラグメントモデルのコンテンツフラグメントが1つのフォルダーに混在します。 ただし、このチュートリアルでは、コンテンツフラグメントモデルに一致するフォルダー構造を使用して、一部で次の章🔗のフォルダー APIですべてのコンテンツフラグメントをリスト化する方法を調べます。 コンテンツフラグメントの編成を決定する際には、コンテンツフラグメントを作成および管理する方法と、OpenAPIを使用したAEM コンテンツフラグメント配信を介してコンテンツフラグメントを配信および使用する方法の両方を検討します。
-
AEM スタート画面で、アセット/ファイルに移動します。
-
右上隅の「作成」を選択し、「フォルダー」を選択します。 次を入力 :
- タイトル:自分のプロジェクト
- 名前:my-project
「作成」を選択してフォルダーを作成します。
-
新しいMy Project フォルダーを開き、新しいMy Project フォルダーの下に、次の値を持つサブフォルダーを作成します。
- タイトル:英語
- 名前:en
ルート言語フォルダーが作成され、AEMのネイティブローカライズ機能をサポートするようにプロジェクトが配置されます。 多言語サポート用のプロジェクトを設定することをお勧めします。今日はローカライズが必要ない場合でも可能です。 詳しくは、次の文書のページを参照してください。
-
新しいマイプロジェクト/英語 フォルダーの下に、次の値を持つ2つのサブフォルダーを作成します。
Team コンテンツフラグメントを含む
teamsフォルダー- タイトル:チーム
- 名前:teams
… 人物 コンテンツフラグメントを含む
peopleフォルダー。- タイトル:人
- 名前:people
-
My Project > English フォルダーに戻り、2つの新しいフォルダーが作成されていることを確認します。
-
Teams フォルダーを選択し、上部のアクションバーで プロパティ を選択します。
-
「ポリシー」タブを選択し、「
/content/dam/my-projectから継承した」のチェックを外します。 -
「ポリシー」タブで、パス別に許可されたコンテンツフラグメントモデル フィールドのチーム コンテンツフラグメントモデルを選択します。
これらのポリシーはサブフォルダーによって自動的に継承されますが、上書きできます。 コンテンツフラグメントモデルは、タグで許可することも、他のプロジェクト設定からコンテンツフラグメントモデルを有効にすることもできます。 このメカニズムにより、コンテンツ階層を強力に管理できます。
-
フォルダーのプロパティに変更を保存するには、保存して閉じるを選択します。
-
人物 フォルダーの ポリシー を同じように更新しますが、代わりに人物 コンテンツフラグメントモデルを選択します。
人物コンテンツフラグメントの作成
マイプロジェクト/英語/人物 フォルダーの人物 コンテンツフラグメントモデルに基づいて、コンテンツフラグメントを作成します。
-
AEMの開始画面で、「コンテンツフラグメント」を選択して、コンテンツフラグメントコンソールを開きます。
-
「フォルダーを表示」ボタンを選択して、フォルダーブラウザーを開きます。
-
My Project/English/People フォルダーを選択します。
-
作成/コンテンツフラグメントを選択し、次の値を入力します。
- 場所:
/content/dam/my-project/en/people - コンテンツフラグメントモデル:人物
- タイトル:John Doe
- 名前:
john-doe
新しいコンテンツフラグメント ダイアログのタイトル、名前および説明 フィールドは、コンテンツフラグメントのデータの一部ではなく、コンテンツフラグメントに関するメタデータとして保存されます。
- 場所:
-
「作成して開く」を選択します。
-
John Doe フラグメントのフィールドに入力します。
- フルネーム:John Doe
- 伝記:John Doeはソーシャルメディアと旅行愛好家を愛しています。
- プロファイル画像:
/content/damから画像を選択するか、新しい画像をアップロードします。 - 職業:インフルエンサー、旅行者
これらのフィールドと値は、OpenAPI APIを使用したAEM コンテンツフラグメント配信を介して消費されるコンテンツフラグメントのコンテンツを定義します。
-
コンテンツフラグメントの変更は自動的に保存されるので、保存 ボタンはありません。
-
コンテンツフラグメントコンソールに戻り、マイプロジェクト/英語/人物を選択して、新しいコンテンツフラグメントを表示します。
追加の個人コンテンツフラグメントの作成
上記の手順を繰り返して、追加の人物 フラグメントを作成します。
-
次のプロパティを使用して、Alison Smithの人物コンテンツフラグメントを作成します。
- 場所:
/content/dam/my-project/en/people - コンテンツフラグメントモデル:人物
- タイトル:Alison Smith
- 名前:
alison-smith
「作成して開く」を選択し、次の値を作成します。
- フルネーム:Alison Smith
- 伝記:アリソンは写真家で、旅行について書くのが大好きです。
- プロファイル画像:
/content/damから画像を選択するか、新しい画像をアップロードします。 - 職業:写真家、旅行者、ライター。
- 場所:
これで、My Project/English/People フォルダーに2つのコンテンツフラグメントが追加されました。
必要に応じて、さらに数個の人物コンテンツフラグメントを作成して、追加の人物を表すことができます。
チームコンテンツフラグメントの作成
同じアプローチを使用して、My Project/English/Teams フォルダーのTeam コンテンツフラグメントモデルに基づいてTeam フラグメントを作成します。
-
Team Alphaを表すTeam フラグメントを、次のプロパティで作成します。
- 場所:
/content/dam/my-project/en - コンテンツフラグメントモデル:チーム
- タイトル:チームアルファ
- 名前:
team-alpha
「作成して開く」を選択し、次の値を作成します。
- タイトル:チームアルファ
- 説明:Team Alphaは、写真撮影とトラベルライティングを専門とするトラベルコンテンツチームです。
- チームメンバー: John DoeとAlison Smith コンテンツフラグメントを選択して、チームメンバー フィールドに入力します。
- 場所:
-
「作成して開く」を選択して、チームコンテンツフラグメントを作成します
-
マイプロジェクト/英語/チームの下にコンテンツフラグメントを1つ配置する必要があります。
これで、マイプロジェクト/英語/Teams フォルダーにTeam Alpha コンテンツフラグメントが追加されました。
必要に応じて、別の人のセットを持つ チームオメガ を作成します。
コンテンツフラグメントの公開
コンテンツフラグメントをOpenAPI経由で利用できるようにするには、公開します。 公開すると、コンテンツフラグメントに次の経由でアクセスできるようになります。
- パブリッシュサービス – 実稼動アプリケーションにコンテンツを提供します
- プレビューサービス - アプリケーションをプレビューするためにコンテンツを提供します
通常、コンテンツは最初に プレビューサービス に公開され、プレビューアプリケーションでレビューしてから パブリッシュサービス に公開されます。 公開サービスへの公開は、プレビューサービスにも公開しません。 プレビューサービスに個別に公開する必要があります。
このチュートリアルでは、AEM パブリッシュサービスに公開しますが、AEM プレビューサービスを使用するのは、React アプリでAEM サービスのURLを変更するのと同じくらい簡単です
-
コンテンツフラグメントコンソールで、マイプロジェクト/英語 フォルダーを見つけます。
-
英語 フォルダー内のすべてのコンテンツフラグメント(すべてのサブフォルダー内のすべてのコンテンツフラグメントを表示)を選択し、上部のアクションバーから 公開/今 を選択します。
-
公開サービスを選択します。「すべての参照を含める」で「未公開」と「変更」を選択し、「公開」を選択します。
これで、コンテンツフラグメントと、チームコンテンツフラグメントによって参照されるすべての人物コンテンツフラグメント、および参照されるすべてのアセットが、公開サービスに公開されました。
プレビューサービスに対しても、同じ方法で公開できます。
おめでとうございます。
AEMでコンテンツフラグメントモデルに基づいてコンテンツフラグメントを正常に作成しました。 人物 コンテンツフラグメントモデルを作成し、複数の人物 コンテンツフラグメントを作成し、複数の人物 コンテンツフラグメントを参照するチーム コンテンツフラグメントを作成しました。
公開されたコンテンツフラグメントを使用すると、OpenAPIを使用してAEM コンテンツフラグメント配信を介してアクセスできるようになりました。
次の手順
次の章のExplore OpenAPIsでは、API ドキュメントに組み込まれている Try It 機能を使用して、OpenAPIを使用したAEM Content Fragment Deliveryについて説明します。