Per Bjurström
Optimizely
Feb 11, 2015
visibility 16993
star star star star star star
(9 votes)

Typed tabs/groups

Currently in the typed model you are limited to defining sort order on individual content types and properties. The order defined then indirectly defines in which order groups are displayed when creating new content, and in which order the tabs are shown when editing content in the forms view. Normally you define groups as a list of constants that you use in the DisplayAttribute:

[ContentType(GroupName=GroupNames.News, Order=1)]
public class ArticlePage : PageData
{
  [Display(GroupName = GroupNames.Contact)]
  public virtual ContentReference Image { get; set; }
}

public static class GroupNames
{
   public const string News = "News";
   public const string Contact= "Contact";
}

In CMS 8 we are adding support for defining order and required access on the groups themselves. Just decorate the class:

 [GroupDefinitions]
public static class GroupNames
{
   [Display(GroupName="MyNews", Order=1)]
   public const string News = "News";
   [RequiredAccess(AccessLevel.Publish)]
   public const string Contact= "Contact";
}

Groups that do not have any order defined will fallback to the indirect sorting and will have sort index set to -1. It is also possible to override built-in groups to change sort order, for example:

[GroupDefinitions]
public static class GroupNames
{
    [Display(Order = 1000)]
    public const string Content = SystemTabNames.Content;
}


See SDK article Grouping content types and properties for more details.

Feb 11, 2015

Comments

Feb 11, 2015 02:17 PM

Nice!

Eric
Eric Feb 11, 2015 02:29 PM

Nice feature. So when is the release of CMS 8? :)

per
per Feb 11, 2015 02:47 PM

@Eric Before Tết I hope :)

Eric
Eric Feb 11, 2015 03:24 PM

Ah good to know :)

Johan Book
Johan Book Feb 11, 2015 10:14 PM

+1

Henrik Fransas
Henrik Fransas Feb 24, 2015 10:46 AM

Great, a feature I've been waiting for a long time :)

Josef
Josef Apr 4, 2015 12:17 PM

Really nice!

Sriram raja
Sriram raja Jun 3, 2020 07:56 AM

how to restrict user access to all tabs above highlited one. There are many tabs. We need to have separate access for each tab access based on user group like admin editor etc. can you please post a code for it:)

error Please login to comment.
Latest blogs
cms13-scan: A Deterministic CMS 13 Readiness Scanner

Every CMS 12 to CMS 13 upgrade I have looked at starts the same way. Someone opens the solution and starts hunting. A text search for the APIs

Adnan Zameer | Oct 12, 2026 |

Setting Up an Optimizely CMS 13 MCP Server Locally with Codex

Optimizely CMS 13 supports Model Context Protocol (MCP) , allowing AI tools such as Claude and Codex to interact with CMS content and metadata...

Mardy | Oct 12, 2026

Handling SixLabors.ImageSharp vulnerability warnings in Optimizely CMS 12 (unofficial)

UPDATED: Optimizely is officially working with SixLabors to find a solution, if possible; the work ID is CMS-57231. An official decision/announceme...

Cuong Nguyen Dinh | Oct 10, 2026

Optimizely CMS 12 on .NET 10: Fixing a Siteimprove TypeMismatchException

Recently, while upgrading an Optimizely CMS 12 solution from .NET 8 to .NET 10, we encountered a frustrating exception that initially looked like a...

Madhu | Oct 9, 2026 |

What made Scheduled Jobs faster in Optimizely CMS 13.3.0

A look under the hood at the update that made scheduled jobs faster.

Tomas Hensrud Gulla | Oct 9, 2026 |

New DDS explorer addon for Optimizely CMS

I wanted to be able to manage Dynamic Data Store from within Optimizely CMS, so I created another addon.

Tomas Hensrud Gulla | Oct 8, 2026 |