London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

fredriktjarnberg
Sep 1, 2014
  11359
(6 votes)

Releasing Beta Features

In order to get features out as early as possible and to get early feedback EPiServer will from time to time include features that are in “beta state” in our weekly deliveries. By default beta features are hidden to prevent unintentional use (feature switching). Beta features are subject to change and will not follow semantic versioning as long as the feature is in beta state. Beta features are not covered by normal support. However, as one of the main objectives for publishing feature previews is to get feedback from the community, the development team will be active in responding to questions, issue reports and suggestions. Although a feature is in beta state we do production level quality assurance before it is integrated into release packages. It can be worth noting that we will support data migration for data related to a beta feature, between beta versions as well as between beta and official release which we hope will make the decision easier to try out new features early.

How to Enable Beta Features

To be able to work with beta features you need to have a role defined with the name “EPiBetaUsers”. This can be done in several ways, e.g. by adding a virtual role in in the virtual roles section of the configuration or by creating a role in Admin mode (if the current role provider supports it). The next thing is to add the users to this role. With this setup beta features will come to life. For developers working with the EPiServer platform, beta APIs will be accessible without any special configuration.

How Beta Features Affect the UI

UI components that are part of a beta feature are hidden if the user is not member of the EPiBetaUsers role. When beta features are shown to a user we will try to highlight the fact that it is a beta so that it is not used unintentionally.

Beta APIs

When we expose APIs for a beta feature this will be visible in Visual Studio intellisense as:

NOTE: This is a pre-release API that is UNSTABLE and might not satisfy the compatibility requirements as denoted by its associated normal version. [actual description]

As mentioned above, changes to APIs in a beta feature will never be considered breaking thus will not affect the major version of its containing package. This means that if you take a programmatic dependency on a beta API you might be required to do code changes even after minor version updates.

Sep 01, 2014

Comments

Sep 2, 2014 03:52 PM

Very cool and very usefull!!! Works like a charm.. NOTE.. After adding the role and adding the user to that role, the user must log out and log back in.. :)
This was for the projects (BETA) gadget..

Martin Pickering
Martin Pickering Sep 3, 2014 09:53 AM

Will details about Beta innovations be published in the normal Update Release Notes or will there be separate publications containing the details about Beta Features?
Thx

Sep 4, 2014 11:22 AM

Yes, we are planning to include information about Beta functionality in the normal release information. Initially it will be listed as any other changes with a note that it is related to a beta feature. We are currently updating the information about the projects feature to make it appear in the release information.

Please login to comment.
Latest blogs
Render ContentArea without wrapping them in surrounding div

CustomContentAreaRenderer is a specialized class that overrides the default ContentAreaRenderer. It customizes the rendering behavior for content...

sunylcumar | May 18, 2025

Indexing a content item programatically

public bool IndexContent(int contentId, bool contentOnly, bool childrenOnly, string language) { // Retrieve the content var contentReference = new...

sunylcumar | May 18, 2025

Add a new menu item to the Admin Menu in Optimizely CMS

Create a new Controller called CustomMenuController and decorate with [Authorize(Roles ="CMSAdmins")] so that it will be accessed by admins only...

sunylcumar | May 18, 2025

Display page/block thumbnail based on selected site in multi-site solution

In previous blog we described how to control the visibility of the blocks or properties based on the current site in multisite solution. We can use...

Tomek Juranek | May 16, 2025