New stuff in EPiServer CMS 6 R2

I like to dig around and here are a few things I did notice in the upcoming EPiServer CMS 6 R2 release.

  • Visitor Groups and personalized content
  • On Page Edit is cross browser compatible (not only available for IE)
  • New AutoSaveRepository to handle drafts unsaved pages.
  • New InUseNotificationRepository used to warn editors that someone is working with a page.
  • Much easier to create and register Dynamic Content as a developer and an editor can change values easier and preview it.

And a few smaller things…

  • New namespace EPiServer.Framework.CssParsing and EPiServer.Framework.HtmlParsing with public classes.
  • new Geolocation and database in EPiServer.Framework.Personalization
  • Virtual Roles moved to EPiServer.Framework
  • EPiServer’s InitializationModule will forward HttpModule initialization and the HttpApplication to all modules with both IInitializableModule and IInitializableHttpModule interface. An easy way to setup events without having to mess with own http module registration in web.config.
  • Most methods in UserControlBase are now virtual like in PageBase so you can override them.
  • PageBase now has a GetPage method with language selector parameter.
  • Dope is obsolete and renamed to OnPageEdit 🙂
  • DataFactory.Copy is now delegated to an interface (IPageCopyHandler) so you can override the behavior
  • New method DataFactory.GetPages(IList<PageReference> pageLinks, ILanguageSelector selector)
  • UrlRewriteEventArgs used by UrlRewriterModule has a new property ForceRewriteHtml that overrides the existing Cancel property.
  • New interface IPermanentLinkMapper exposed on UrlRewriteProvider that can be used instead of accessing PermanentLinkMapStore class directly.
  • Several new nice extension methods for FindControl (typed and recursively) in EPiServer.Web.ControlExtensions.
  • PropertyDataControl has a new property CustomTagName that change rendering in view mode from a Label using span to a HtmlControl with the tag specified in CustomTagName and creating child controls in view mode is controlled with virtual method ShouldCreateDefaultControls.
  • PropertyDataControl has a new CopyWebAttributes method that supports HtmlControls and not only WebControls.
  • MultipleOptionsListSettings is a new settings class with UI to enter name and value pairs used by the new properties PropertyCheckBoxList and PropertyDropDownList.
  • You can now set default language for a site in EPiServerFramwork.config and get the value with ContentLanguage.GetDefaultHostLanguage()
    <add name="*" language="en" />
  • New filter: FilterReplacementLanguage
  • TinyMCE editor is initialized using the new CssParser that extract styles from editor css files like the old editor. The name of the style is extracted from the dummy css attribute EditMenuName like in earlier but since this is done server side it can be translated (below editorstyleoptions node). Read more in Linus blog post
  • DynamicContentPlugInAttribute can be used to register Dynamic Content without messing with web.config. Use ViewUrl parameter for User Controls can be used to register user controls.
  • New namespace EPiServer.Core.Html.StringParsing with public classes that handles the different elements of rich text (static text, url, dynamic content, vistor group content)
  • LanguageSelector and related classes are refactored (and probably works better but different). Read more in a blog post from Linus.