Jeff Wallace
Optimizely
Feb 5, 2010
visibility 6692
star star star star star
(1 votes)

Setting the Edit Panel Tab Order in CMS 5

Based on CMS 5 R2 SP2

EPiServer CMS allows many different ways to plug-in and/or make changes to the user interface.  If, for example, you want to add tabs to the Edit Panel and place the tab sort order there’s a few things you should know. 

Tab order can be changed using the SortIndex property of the GuiPlugIn attribute.  See example below:

Code Snippet
  1. [GuiPlugIn( Description="Debug Plugin", SortIndex=900, Area=PlugInArea.EditPanel, DisplayName="Debug Info", Url="~/Templates/Units/Debug.ascx")]
  2.     public partial class Debug : EPiServer.UserControlBase
  3.     {
  4.         protected void Page_Load(object sender, EventArgs e)
  5.         {

To set the order of your tabs you’ll want to understand the existing tab sort order and how the View tab is rendered:

The Edit tab has a SortIndex of 200. The Version tab has a SortIndex of 500.  Workflow and Statistics do not set a SortIndex and rely on a default of 1000.  The View tab has special handling, as this is rendered via markup rather than a plug-in, and does not have a sort index.  This means the View tab will remain the left most tab unless you find another way to change that order.  :)  So, to place tabs in various order you simply need to change the SortIndex with the above in mind.

The screen shot below shows a sample tab called Debug Info placed at the SortIndex of 900.  Logically 900 comes after the Version tab (500) and before Workflow and Statistics (1000).  The result of this configuration is below:

image

Enjoy!

Feb 05, 2010

Comments

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026