Despite our extensive experience on the Sitecore platform, we are still finding new and exciting ways to create customized experiences for our clients. We recently had a client whose content authors required access to the change template functionality in the content editor Configure ribbon (on a related note: looking to give your content authors an early Christmas present? How about customizing a rich text editor for Sitecore).
While Sitecore provides several out-of-the-box roles (e.g. Sitecore\Sitecore Client Maintaining) that grant this access, these solutions also grant access to other functionality in Sitecore that this particular client wished to limit for their content authors. Once we had established that the traditional Sitecore roles were no longer an option, we decided to create our own custom role that would provide the required access. Given that this wasn’t something we do on a regular basis, we had to do some poking around in the core database.
Here’s a bit of background information to help you understand how Sitecore ribbons are structured in the core database:
- A ribbon item in Sitecore references a strip. Sitecore stores all of its default ribbons at /sitecore/content/Applications/Content Editor/Ribbons/Ribbons/Default.
- A strip item contains one or more chunks. Strips are stored at /sitecore/content/Applications/Content Editor/Ribbons/Strips in the core database. As you will notice, the image below is one of those chunks separated from its ribbon.
- A chunk contains one or more buttons. Chunks are stored at /sitecore/content/Applications/Content Editor/Ribbons/Chunks in the core database. Buttons are stored as children of the chunk to which they belong.
To open up the Change button to our content authors, we had to first provide read access to the Template chunk. In our case, we didn’t want to provide access to the Edit button so we blocked the permission from passing to the chunk’s descendants as per the screenshot below.
Next, we granted read access to the Change button.
This simple configuration allowed the content authors the necessary permission, while limiting their access to other buttons on the ribbon. If you have been reading this post with a eye towards following the same process to customize other Sitecore ribbons, you’re in luck! These same steps can be followed to open up other ribbons and buttons in Sitecore, as needed.
Looking for more Sitecore tips and hints to optimize the experience for users? Check back over the next few weeks for a series on developing and maximizing your Sitecore presence.