Sitecore is an ideal product to manage complex websites. Editors which don’t have a technical vision but oriented in marketing only – it’s a little bit tricky to understand the custom made things.
Here I will show a few examples of how to implement things on a user friendly manner. That is also nice for the tester and other developers to find quickly the way in the created page templates and components.
It takes some time to make a beautiful and user-friendly Sitecore CMS environment. But at the end a user friendly Sitecore implementation save time and makes it fun to work with. Be nice to the editors, the user friendly cms implementation help to use thethings as they are intended.
Use help texts
For a Field (from one of templates in the solution) value you can set a long and short description and a URL in the data template. Fill in the Help section of your templates.
The help section in a Sitecore template.
The result of filling in the Help section for a field template
The result of a Short description Help text on a page template. Note this item is also protected and shows a content editor warning about protected.
Use Hide and Protect
You can Hide or Protect an item in Sitecore. For example hide the media folder where you store your technical media, such as layout images.
Protect items that should not be edited or deleted. For example a Shared Component folder.
Create Custom Content Editor Warnings
In case when the wrong language is selected the user (or content editor) could be notified with the warning that could contain a user friendly link to change the language.
On the Sitecore Marketplace there is a module which allows to configure language content editor warning. It could be found by the following link:
Sitecore Language Content Editor Warning.
Also, Content Editor Warning could be used to create a multiple field validation.
Use field validation, this will also work in the page editor. For a field you can fill in a regex and a validation message.
Using Default Value
For a Field value you can set a Default value. When a user creates an item based on a data template this default value will populate in the item. You can also use tokens.
- $name: The name for the new item entered by the user
- $id: The ID of the new item
- $parentid: The ID of the parent of the new item
- $parentname: The name of the parent of the new item
- $date: The system date in yyyyMMdd format
- $time: The system time in HHmmss format
- $now: The system date and time in yyyyMMddTHHmmss format
This is a well known practice to mark the templates (or even better to mark with an icon _StandardValues of the template). It will benefit to understand the type of the items in the tree without clicking on each item. And also it allows to organize the content in the convinient way for the user.
In Sitecore 8 The Section Image will not be shown.
Use insert option, with insert option you define a list to present for adding a child. You can also add a branch templates as insert option.
See the post of John West about Insert Options and all of that.
Insert options are also used by the page editor for the insert page button.
Insert Options Rules
Instead of insert option you can also use insert option rules see. Sitecore Insert Options Rules
Use branch templates to create multiple pages at once. It allows to prepare predefined set of items (aka package) that will be created when content editor wants to create some composite item type.
Example of a Branch, use this “Notification Branch” item as insert option. By creating a ‘Notification Branch” you get the defined structure. A item with the defined subitems.
See this video about Branch Templates https://www.youtube.com/watch?v=vH0rfbJXovc
Data Field Type
Use the Field type that best fits. You can make your own or find a good one on the marketplace.sitecore.net. Sitecore has a set of predefined Field Types but in some cases it’s not enough to cover all the client’s requirements. Field orders and names should be appropriately defined. This makes the CMS also more user-friendly.
You can make your own commands and add buttons to the top Ribbons or the Context menu’s
See the core database
/sitecore/content/Applications/Content Editor/Context Menues/Default/
Sitecore has a lot of Events where you can add your own custom handler. For example you can subscribe to the item:added event and set the Sort order if a specific template is added.
The John West’s post well describes the Sitecore events.
Default a editor must lock an item. This is defined in the web.config
<!-- REQUIRE LOCK BEFORE EDITING If true, the user must have a lock on a document before he can edit it, otherwise it is always ready for editing --> <setting name="RequireLockBeforeEditing" value="true"/>
Locking and don’t check in is one of the most annoying thing for editors. But there are a lot of thing you can do about that. Or set RequireLockBeforeEditing to false.
The Experience Editor, The Page Editor
The Experience Editor the former page editor will be discussed in the next part of the user friendly developing in Sitecore.