COLUMN コラム

構築

LYZON編集部

LYZON編集部

正しく理解できてる? Sitecore(サイトコア)の「アイテムID」と「アイテム名」

正しく理解できてる?Sitecoreの「アイテムID」と「アイテム名」

現在LYZONのメインビジネスとなっている Sitecore(サイトコア)ですが、開発や運用に携わる前の段階では「Sitecoreなんて触ったことも無い」という人がほとんどだと思います。
Sitecoreは高機能なCMSであるが故に、少し直感的に理解しづらい所があります。今回は、その中でも最初につまづきやすい「アイテムID」と「アイテム名」の違いについて解説していきます。

01.
アイテムID

正しく理解できてる?Sitecoreの「アイテムID」と「アイテム名」

アイテムIDは「8桁-4桁-4桁-4桁-12桁の英数字」で構成される、そのアイテム固有の値です。Sitecore内ではこのアイテムIDを「アイテムを特定するキー」として使用します。
Sitecoreはサイト内リンクを張ったアイテムを移動(=URLが変わる)しても新しいリンク先URLに自動で張り替えてくれますが、これもSitecoreがアイテムをアイテムIDで管理していることにより実現できています。

02.
アイテム名

アイテム名もそのアイテムを特定するための値ですが、こちらは「表から見た」アイテムの置き場というような意味合いです。その下にあるアイテムPathがフォルダの構成も含めたパスで、こちらがパブリッシュ後のURLとほぼ同じ構成となります。
注意したいのは、アイテムIDが全アイテムで重複しない固有の値なのに対し、アイテム名は同一の値が許容されています。同じフォルダに同一アイテム名のアイテムが配置された場合、外から見ると「同じURLのアイテムが重複して存在する(結果的にどちらかのアイテムが表示できない)」という状態になってしまうため、注意が必要です。

02.
更新・削除でやりがちなミス

正しく理解できてる?Sitecoreの「アイテムID」と「アイテム名」

この概念を理解していないと、意図した通りのページ更新や削除ができない事態となります。下図は以前の社内勉強会で使用したものですが、

  1. アイテム名「11」のアイテムを削除したかったので、コンテンツエディタで削除
  2. あらためてアイテム名「11」を作成
  3. パブリッシュ

という順番で操作を行ったものの上手く反映されない、という状態を示しています。

起きていることとしては、Web側にアイテム名「11」のアイテムが2つ存在していて、表から見ると先に存在したアイテムIDの末尾「~AD10」のアイテムが有効になっているが、コンテンツエディタ(master側)で操作できるのは末尾「~5CE5」のアイテムなのでパブリッシュしても反映されない、という現象です。
この場合、1.で先に「コンテンツエディタで削除」を行ってしまったのが間違いで、正しくは先に末尾「~AD10」のアイテムをWeb側から削除(パブリッシュ不可にしてパブリッシュ)してから2.と3.の操作を行う必要がありました。
このような状態になってしまった場合、1つ上の階層のフォルダで「サブアイテムを含む形でリパブリッシュ」を行うことで、Web側の状態がコンテンツエディタのアイテムツリーと同じ状態になり、更新が反映されるようになります。



※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

LYZONとのパートナーシップ

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス