I’m often surprised to discover that many of my Sitecore clients don’t take advantage of some the out-of-the-box guard rails that come with the platform, most notably help text. While the meaning of some fields may be self-explanatory, there are always many more that are non-obvious. This can lead to longer ramp-up time for new content authors, content-based errors, duplicate fields, and general frustration and displeasure with the system.
There are many reasons for this trend. Despite the best intentions of Sitecore platform implementers, some common causes are:
- Time – Quality content object definition and data modeling is complex and time-consuming enough for a robust solution with worrying too much about guides and tutorials. This step often gets left for last which is to say it rarely gets done at all.
- Evolution – Systems evolve over time with new fields frequently added to the mix, often without things help text, validation, and standard values leading to a bit of hodge-podge experience.
- Lack of content author involvement – Content authors are in the best position to define the meaning of the fields they are meant to edit, yet they aren’t always invited into the field definition process as the system is taking shape.
- Inheritance – While it’s tempting to use very granular base template inheritance to drive very common fields like Title, Image, Text, etc, across pages and components this often is an impediment to using help text when the context differs from use case to use case (e.g. when a 1×1 image vs 16×9 image is required in an Image field). What we gain in data template efficiency we give up in context and guidance.
Making sure that fields are well defined requires vigilance in the content object definition process while building an entire platform or just adding a new component. Here are some tips:
- If building or redesigning a system, do some game-planning in form of a content object definition data sheet that includes a column for Help Text that will serve as a reminder pre-implementation to define this, and by all means, get your authoring teams involved so it makes sense to the people who need to understand it.
- Use discreet fields on components rather than inherited ones whenever unique help text is going to be required. Consider an Author Experience checklist with reminders to include help text, validation, and standard values.
- Finally, consider bypassing the use of Short Description for help text since this is, by default, displayed right after the field name in Content Editor which I find affects readability. Instead it is possible to apply some custom code on top of Content Editor that reveals Long Description via a simple tool tip icon, as shown below. The code loops through looking for the Long Description title attribute and in CSS adds a tool tip icon if Long Description is not null. Without this enhancement, the content author would have to know to hover over the title text to see the help text, which is not very intuitive.
By taking the time to ensure that content authors can easily understand the meaning of Sitecore data fields we are facilitating adoption and satisfaction among the folks who use the system the most!
One of the most common issues I’ve come across during author experience audits for Sitecore clients is that they do a lot of context switching between Content Editor (where you edit all form fields on a data template) and Experience Editor (where you can author and design content inline). There is a tremendous amount of time wasted in moving back and forth between modes to complete an author’s objective.
There are a couple of reasons for this. In many cases, editing inline is a fairly new concept and authoring teams are not investing as much in the setup and implementation of clean architecture in Experience Editor as they are in Content Editor. But even when they have, there are still some impediments to being able to fully complete their tasks in a single mode. Some values that require management are just not explicit on the page. While some images and text may be edited directly inline, there will always be things that aren’t. These include…
- Alternate fields beyond the one displayed (e.g. Short Title for navigation purposes)
- Meta details like description
- Navigation options (e.g. Suppress in Navigation)
- Taxonomy values (e.g. Topics, Locations, People)
Left as is authors have no choice but to bounce between the two modes. So what can we do about it?
- Install a custom “chunk” in the ribbon of Experience Editor that allows access to non-explicit, page-level values without having to return to Content Editor (e.g Page Options, Navigation Options, Taxonomy).
- Each button represents a custom collection of fields that will launch in a modal, allowing you to focus on just the relevant fields for that grouping and make the necessary changes.
- Likewise, every component should be configured to consistently allow access to non-explicit field values and rendering parameters that affect display.
Doing this requires a bit of upfront planning as you are defining the data structure of your pages and components to consider what field values might be inaccessible from the inline editing experience, but it will surely save time and improve the inline editing experience.
Two key principles of ensuring a strong authoring experience in a CMS is (1) reducing the amount of time it takes to find something and (2) allowing authors to focus on content rather than being distracted by the CMS.
Many of clients make extensive use of a Dictionary of editable values for chrome content such as field titles, button text, and other elements that don’t require frequent edits but should not necessarily be hardcoded. However, in a Sitecore workflow-enabled environment, non-admins will often not have access the System folder where Dictionary natively resides. While it may be updated less frequently, Dictionary content is content just the same. It should not require drilling through a tree structure to find it. It is possible to expose the “Dictionary” in the Content Editor tray alongside “Media Library” and “Workbox” so that authors may easily access and update Dictionary item values as necessary.
Steps for Adding the Dictionary to the Content Editor Tray:
- Login as an Admin and access the Sitecore Desktop.
- Click on the Database icon at the bottom right and select ‘Core’ database.
- Return to the Content Editor and navigate to sitecore\content\Applications\Content Editor\Applications. These are the default items that you would normally see here – Content Editor, Media Library, and Workbox.
- Add an item to represent your new “tab” in the tray.
- Name it “Dictionary” and set the following values:
- Header = Dictionary
- Source = /sitecore/shell/Applications/Content Manager/Default.aspx?mo=media&ro=/sitecore/system/Dictionary&he=Dictionary&ic=People/16×16/book_red.png
Tip: Don’t forget to add (or ask your developer to add) these configuration changes to the core project for propagation to each environment.