Sanity コンテンツモデリングベストプラクティス は何をしますか?
Sanityやその他のヘッドレスCMSにおける、スキーマ設計、コンテンツアーキテクチャ、コンテンツの再利用、参照と埋め込みオブジェクトの使い分け、関心事の分離、タクソノミーに関する構造化コンテンツモデリングのガイダンスです。このスキルは、コンテンツタイプの設計やリファクタリング、フィールド形状の決定、再利用可能なコンテンツとネストされたコンテンツの検討、オムニチャネル向けコンテンツモデルの計画、スキーマがページ指向またはプレゼンテーション駆動になりすぎていないかのレビューを行う際に使用します。
概要
構造化コンテンツモデリングは、ヘッドレスCMSの成功の基盤です。このスキルでは、データの一貫性、再利用性、将来性を確保するための原則とパターンを提供します。
主なトピック
-
スキーマ設計の基本
- ドキュメントタイプとフィールドの定義
- 適切なフィールドタイプの選択
- バリデーションルールの設定
-
コンテンツアーキテクチャ
- コンテンツの構造化と階層化
- オムニチャネル対応のモデリング
- プレゼンテーションロジックとコンテンツの分離
-
コンテンツの再利用
- 参照(Reference)と埋め込みオブジェクト(Embedded Object)の使い分け
- 共有コンテンツスニペットの設計
- グローバル設定とローカライズ
-
アンチパターン
- ページ形状のスキーマ(Page-Shaped Schema)
- ツリー状のナビゲーション構造
- 過度にネストされたブロックエディターエクスペリエンス
-
タクソノミーと分類
- カテゴリとタグの設計
- 階層的タクソノミー vs フラットタクソノミー
- 動的フィルタリングのサポート
利用方法
このスキルは、以下のようなシナリオで特に有効です。
- 新しいコンテンツタイプの設計
- 既存スキーマのリファクタリング
- マルチチャネル展開の計画
- CMSの移行や統合
- チーム内のモデリング標準化
例
良い例: 著者ドキュメントを参照として使用
{
"name": "post",
"type": "document",
"fields": [
{"name": "title", "type": "string"},
{"name": "author", "type": "reference", "to": [{type: "author"}]},
{"name": "content", "type": "blockContent"}
]
}
悪い例: 著者情報を埋め込みで複製
{
"name": "post",
"type": "document",
"fields": [
{"name": "title", "type": "string"},
{"name": "authorName", "type": "string"},
{"name": "authorBio", "type": "text"},
{"name": "content", "type": "blockContent"}
]
}