Releasing Beta Features
Monday, 01 September 2014
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.
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.