Page Editor (Experience Editor) Usability - Make component datasources invisible

Page Editor (Experience Editor) provides a lot of flexibility through the use of components. The challenge: too many discrete components burdens authors with many steps to build a page and developers with an incredible burden to train the users of their solution. In this post I explore several tactics we use in Keystone to lighten the load.

Datasource Generation

First, do not make your content authors add each component. In Keystone we have created a custom save action that will examine the presentation details of an item. If the item includes components that require a datasource (i.e. a datasource template is specified) but no datasource has been specified, the custom save event will create the needed data items and link them in the presentation details.

In the config block below you can see how we have patched in the events.

Smart Copy and Duplicate

Similar to the datasource generation we have several pipelines that make copy and duplicate functions smarter. When a page(s) is copied the enhanced pipelines look for any datasources that are scoped to the page. When found the copied page will have its presentation details updated to the copied datasource. Sitecore's native behaviour would have resulted in copied datasource but presentation details that referred back to the original.

In the config block below you can see how we have patched in the pipelines.

Help Chrome

When dealing with components, particularly components that can be nested the structure of the page becomes important. To make this more evident to authors a pipeline in Keystone runs to generate a visibile chrome. This is all configured using the rules engine.

In the config block below you can see how we have patched in the pipelines.