1. Sitecoreコンテンツシリアライズ

相位シリアライゼーションパスハッシュとエイリアシング

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore Content Serialization(SCS)システムは、ファイルシステムに対して長すぎるパスを短縮するためにハッシュを使用しています。また、人間が読みやすいハッシュの別名も提供しています。

シリアライズされたコンテンツ項目のファイルシステムパスは、1つの絶対パスと3つの相対パスによって決まります。

  • 絶対的なbase path。これはファイルシステム内でプロジェクトがどこにあるかです。

  • 相対的なserialization path。ここでSCSシステムがコンテンツ項目をシリアライズします。

  • 相対的なinclude path。これは、コンテンツアイテムを保存しなければならないフォルダの名前です。

  • 相対的なcontent item path。これはSitecoreインスタンス内のコンテンツの経路です。

SCSシステムは、ベースパス、シリアライゼーションパス、インクラインパス、コンテンツアイテムパスをファイルシステムパスとファイル名に連結しています。

例えば、次の4つの経路を考えてみましょう。

  • C:\Users\Peter\Sitecore\Project\src\Sites\ はベースパスです。

  • serialization\ はシリアライゼーションパスです。

  • content\ はインクルーパスです。

  • Home\Products\Toys\Ball.ymlはコンテンツアイテムパスです。

SCSシステムはこれらのパスを以下のファイルシステムパスとファイル名に連結します:

C:\Users\Peter\Sitecore\Project\src\Sites\serialization\content\Home\Products\Toys\Ball.yml

このパスとファイル名は現代のどのファイルシステムにとっても長すぎるわけではありませんが、コンテンツワーカーはファイルシステムの最大パスやファイル名の長さを超えるコンテンツアイテムパスを作成することがあります。この状況を避けるために、最大コンテンツアイテムパスの長さを設定することができます。

SCSシステムはこの最大長さを以下のように尊重しています:

  • コンテンツ項目パスのセグメントを除去し、コンテンツアイテムパスが十分に短くなるまで。

  • 削除されたコンテンツ、アイテムパスのセグメントを単一のハッシュ値にハッシュ化します。

  • ハッシュ値を残りのコンテンツアイテムパスと連結します。

例えば、最大コンテンツアイテムパス長を20に設定し、コンテンツアイテムパスを /Home/Products/Toys/Ball(24文字)シリアライズしたい場合、SCSシステムは /Home/Products/Toys/ を単一の値にハッシュし、Ball.ymlと連結してC:\Users\Peter\Sitecore\Project\src\Sites\serialization\content\<hash value>\Ball.ymlに変換します。

もしハッシュ値が人間読みにくいと感じたら、ルールにパスエイリアスを追加することもできます。パスエイリアスとは、あなたが定義したカスタムハッシュ値のことです。

例えば、コンテンツアイテムパス /Home/Producs/Toys/Ballhptoys/Ballにハッシュ化するには、ルールに次のaliasを追加します。

"rules": [
  {
    "path": "/Home/Products/Toys/Ball",
    "alias": "hptoys"
  }
]

SCSシステムは現在、シリアル化されたコンテンツアイテムをC:\Users\Peter\Sitecore\Project\src\Sites\serialization\content\hptoys\Ball.ymlに保存します。

この記事を改善するための提案がある場合は、 お知らせください!