Sitecore has been using the unversioned standard field “
__Display name” along with the built-in “
Name” for as long as I can remember. Basically, the item
Name is similar to a shared field and is limited to small set of characters. An item name can basically be A-Z, a-z, 9-0, space and a few special characters, such as underscore (
_), dash (
-), dollar-sign (
$). It may also be a single star (
Name is very limited, the
__Display name fields allows users give item more user friendly names. Since it’s persisted in an unversioned field, it also allows for translation. The
Sitecore.Data.Items.Item class has a convenience read-only
DisplayName property that returns the content of the
__Display name field, if set, otherwise it fallbacks on the item
Name. This principle is used basically everywhere in Sitecore. It’s used when rendering the item tree, as link text on rendered links and so on.
In Sitecore 9.2 (I believe), Sitecore made a small, but very important breaking change on how the Display Name works. I can’t recall seeing this change been noted in any release notes either, but I might have missed it.
Update: I realize I’ll need to keep updating to this post as I receive more input. I’ll keep them the bottom of the post.Continue reading