Sitecore Sidekick – Editing Context

editcontextsmall

Ever wish you didn’t have to switch databases to do things like add custom experience buttons or change the ribbon.  Well that was the idea behind the Sitecore Sidekick app Editing Context.

what does it do?

There is four main functions to this app.  It keeps a history of items that are visited.  It has shortcuts to common editor locations, controlled via the config file.  The final two are to give shortcuts to common developer location in the core and master databases.

Anytime an item is visited in the edit context, it opens it up in a light box modal over the top of the app.  This makes it so you never lose your context in Sitecore.  To get back you can simply close the modal.

An important thing to note is that the developer functions are admin only. Whereas the editor locations and item history is available to any user by default. User security is further configurable through the configuration file to white list users or roles.

How does it work?

Editing Context is mainly driven by configuration files.  you can add items to any section via xml.

 <EditorLocations hint ="raw:AddEditorLocation">
	<location id="{0DE95AE4-41AB-4D01-9EB0-67441B7C2450}" description="The root content item"></location>
</EditorLocations>
<CoreLocations hint="raw:AddCoreLocation">
	<location id="{DB662EDF-5965-4848-AD14-BA6BF0D55D1E}" description="Add or modify a custom experiance button"></location>
	<location id="{E77EEE1C-4F50-4A68-918C-47E9A8FC0957}" description="Add or modify an edit frame button"></location>
	<location id="{C0EB664B-4DC7-4A7C-98F0-9884EAA2F1E6}" description="Manage rich text editor profiles"></location>
	<location id="{110D080F-ED5C-42DE-80BD-4B751C98AE93}" description="Add to or modify the content editor ribbon"></location>
	<location id="{CFC141D6-0558-4FCD-9137-A723ADB3C019}" description="Add to or modify the experience editor ribbon"></location>
</CoreLocations>
<MasterLocations hint="raw:AddMasterLocation">
	<location id="{1057C235-C5C0-4EB7-8F77-EA51EB9E20EE}" description="Add to or modify Rules"></location>
	<location id="{05592656-56D7-4D85-AACF-30919EE494F9}" description="Add to or modify Workflows"></location>
	<location id="{64C4F646-A3FA-4205-B98E-4DE2C609B60F}" description="Add to or modify Languages"></location>
	<location id="{B3031702-6BFF-4061-B92D-291E9EC865D5}" description="Add to or modify Validation Rules"></location>
	<location id="{3E0F7CA2-6990-42E1-BDA3-9B8FCE8DD874}" description="Manage Analytics"></location>
</MasterLocations>

Common use cases

Creating a rendering – if you create a template, add fields, then create a rendering item and forget your datasource template item’s ID.  You can utilize Editing Context and it’s history capabilities to open the template item in a lightbox.  Avoiding needing to save the rendering item and traversing back to the template.  If you then decide you want a custom experience button, you can utilize Editing Context again to open a modal into the core database to create one, again without needing to save the rendering item.

Adding fields to a template – if you created a template but forgot to add a certain field to it and closed the template editor window already.  You can use Editing Context to open it back up and quickly add the field.

Working in Experience Editor – if you’re working in experience editor and need to edit something behind the scenes.  Instead of using the goofy sitecore edit context item split screen, you can utilize Editing Context to open a lightbox to the content editor and do whatever you need to.