Virtual Happy Hour this month, Jun 28, we'll be getting a sneak preview at our soon to launch SaaS CMS!

Try our conversational search powered by Generative AI!

Breaking Changes in EPiServer CMS 6

Product version:

EPiServer CMS 6.0

Document version:


Document last saved:

 Breaking changes EPiServer CMS 5 R2 SP2 -> CMS 6 RTM

Generic overloads of GetPage and GetChildren in DataFactory has been removed.

The following members have been removed from EPiServer.DataFactory

  • public System.Collections.Generic.IEnumerable<TPageData> GetChildren<TPageData> (EPiServer.Core.PageReference p1)
  • public System.Collections.Generic.IEnumerable<TPageData> GetChildren<TPageData> (EPiServer.Core.PageReference p1, EPiServer.Core.ILanguageSelector p2, System.Int32 p3, System.Int32 p4)
  • public System.Collections.Generic.IEnumerable<TPageData> GetChildren<TPageData> (EPiServer.Core.PageReference p1, EPiServer.Core.ILanguageSelector p2)
  • public TPageData GetPage<TPageData> (EPiServer.Core.PageReference p1)
  • public TPageData GetPage<TPageData> (EPiServer.Core.PageReference p1, EPiServer.Core.ILanguageSelector p2)

Use the non generic alternatives instead. In order to get instantiate your specific type based on a PageData object use the ShallowCopy method of PageData.

The generic overload of ShallowCopy has been removed from EPiServer.Core.PageData.

  • public static  ShallowCopy (EPiServer.Core.PageData p1)

Use the no generic version instead.

CreateTextParamter of EPiServer.DataAccess.DatabaseFactory with the following signature has been made obsolete.

  • public abstract System.Data.IDbDataParameter CreateTextParameter (System.String p1, System.String p2, System.Data.Common.DbConnection p3, System.Data.Common.DbTransaction p4)

FindPluginAssemblies overloads in EPiServer.PlugIn.PlugInLocator have been removed.

  • public static System.Reflection.AssemblyName[] FindPlugInAssemblies (System.String p1)
  • public static System.Reflection.AssemblyName[] FindPlugInAssemblies (System.String p1, [Out] System.Exception[] p2)

The following types have been moved from EPiServer.dll. to EPiSever.Framework.dll

  • EPiServer.Web.Hosting.IHostingEnvironment
  • EPiServer.Web.Hosting.AspNetHostingEnvironment
  • EPiServer.Web.Hosting.GenericHostingEnvironment
  • EPiServer.Web.VirtualPathUtilityEx

All types supporting the WSRP functionality have been removed from the core CMS product.

They are now placed in a separate module.

The following types are no longer part of the EPiServer.WebParts.dll

  • EPiServer.WebParts.WebControls.Wsrp.WsrpEditVerb
  • EPiServer.WebParts.WebControls.Wsrp.WsrpWebPart
  • EPiServer.WebParts.WebControls.Wsrp.WsrpViewVerb
  • EPiServer.WebParts.WebControls.Wsrp.PortletManager
  • EPiServer.WebParts.WebControls.Wsrp.PortletDataControl
  • EPiServer.WebParts.WebControls.Wsrp.PortletCatalogPart
  • EPiServer.WebParts.WebControls.Wsrp.MergedPortletDictionary
  • EPiServer.WebParts.UI.Admin.WsrpWebPartRegistration

In EPiServer.WebParts.WebControls.MaximizedWebPartZone the following property have been removed

  • public EPiServer.WebParts.WebControls.Wsrp.PortletManager PortletManager

EPiServer.Configuration.ManagerTabAttribute has been removed.

This attribute was intimately associated with a legacy installation framework that is not used.

EPiServer.Web.Action delegate has deliberately been removed.

There is an equivalent API in .NET framework (System.Action) which should be used instead.

The DBRoot property has been removed from EPiServer.XForms.XForm

The implementation of XForms have changed to be based on EPiServer.Data.Dynamic APIs as a consequence of this DbRoot was not relevant and have been removed.

Breaking changes EPiServer CMS 6 RC1 -> CMS 6 RTM

The functionality which enables storing arbitrary objects associated to PageData instances a.k.a. “PageObjects” was extensively rewritten.

See for details.

EPiServer.Web.InitializationModule was made obsolete and will be removed in future release.

Implement EPiServer.Framework.IInitializableModule instead. Changes in the initialization system.

Parameters of EPiServer.XForm.GetPostedData have been reordered to conform with related APIs

Instead, use the following overload.
public IList<XFormData> GetPostedData(DateTime beginDate, DateTime endDate, Guid pageGuid)

A number of APIs supporting the Mirroring functionality that was publically visible but mainly for internal use was changed

Breaking changes EPiServer Framework 6 RC1 -> 6 RTM

ViewInput and ViewInputButton html helpers in EPiServer.Shell.Web.Mvc.Html.GadgetHtmlHelperExtensions have been removed.

Use Html.ViewInputButton instead.

public static System.String ViewInput (System.Web.Mvc.HtmlHelper p1, System.String p2, System.String p3, System.String p4, System.Object p5)

Use ViewInputButton instead.

BeginGadgetForm has changed return method type.

public static System.Void BeginGadgetForm (System.Web.Mvc.HtmlHelper p1, System.String p2)

This method is usually used in ASCX code and clearing temporary ASP.NET files should take care of any problems.

The following search provider related types have been removed / renamed

  • EPiServer.Shell.Search.ISearchSettingsRepository
  • EPiServer.Shell.Search.SearchProviderDefinition
  • EPiServer.Shell.Search.SearchProviderDefinitionArea
  • EPiServer.Shell.Search.SearchProvidersManager
  • EPiServer.Shell.Search.SearchSettings
  • EPiServer.Shell.Search.SearchSettingsRepository

These types were used internally to store search configuration settings and should not affect anyone.

EPiServer.Shell.Web.Mvc.Html.InputType was renamed to ShellInputType not to conflict with Asp.Net MVC

Use EPiServer.Shell.Web.Mvc.Html.ShellInputType instead.

This enum is used internally by input helpers.

A number of extensions methods defined in EPiServer.Shell.Web.Mvc.Html.InputHelperExtensions have been removed

  • public static System.String ShellButton (System.Web.Mvc.HtmlHelper p1, EPiServer.Shell.Web.Mvc.Html.InputType p2, System.String p3, System.String p4, System.String p5, System.Object p6)
  • public static System.String ShellInput (System.Web.Mvc.HtmlHelper p1, EPiServer.Shell.Web.Mvc.Html.InputType p2, System.String p3, System.String p4, System.Object p5);
  • public static System.String ShellInput (System.Web.Mvc.HtmlHelper p1, EPiServer.Shell.Web.Mvc.Html.InputType p2, System.String p3, System.String p4, System.String p5, System.Object p6)
  • public static System.String ShellInput (System.Web.Mvc.HtmlHelper p1, EPiServer.Shell.Web.Mvc.Html.InputType p2, System.String p3, System.String p4, System.Collections.Generic.IDictionary`2[System.String,System.Object] p5)
  • public static System.String ShellInput (System.Web.Mvc.HtmlHelper p1, EPiServer.Shell.Web.Mvc.Html.InputType p2, System.String p3, System.String p4, System.String p5, System.Collections.Generic.IDictionary`2[System.String,System.Object] p6)

Use ViewInputButton instead.

The ActionName property of EPiServer.Shell.Gadgets.GadgetActionAttribute has been removed

This property was not used by the EPiServer.Shell and was therefore removed.

public System.Void ActionName

This property was never used. The action is implicitly the attributed method.

The IsInitialized property of the EPiServer.Framework.IInitializableModule interface was removed

public bool IsInitialized

All types implementing IInitializableModuel also changed accordingly

  • EPiServer.Data.DataInitialization
  • EPiServer.Events.EventsInitialization
  • EPiServer.Framework.Initialization.SiteMappingConfiguration
  • EPiServer.Shell.InitializationModule

EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.CreateConnection has been changed to virtual

This change also propagates to deriving types.

  • EPiServer.Data.Dynamic.Providers.OracleDataStoreProvider
  • EPiServer.Data.Dynamic.Providers.SqlServerDataStoreProvider

Fixed module.config / web.config inconsistencey NameElement class renamed AssemblyElement.

You are supposed to use Assembly attribute on assemblies/add. The following property was removed from EPiServer.Shell.Configuration.ShellModuleManifest.

public System.Collections.Generic.List<EPiServer.Shell.Configuration.NameElement> Assemblies

The EPiServer.Shell.Configuration.NameElement was removed.