Last updated: 14-09-2007
The latest installment of the EPiServer series focuses heavily on the development platform. Major changes have been introduced to adapt EPiServer even more to common standards such as .NET Framework 3.0. This document contains notes on what major changes have been added in this version.
You are now able to create EPiServer projects directly from within VS 2005. You can also create EPiServer page templates, custom properties, Master Pages and much more directly from the Visual Studio 2005 interface.
Another related new feature is that developers now can make full use of the Visual Studio Design mode and can quickly use Web controls through drag-and-drop.
EPiServer CMS 5 uses the .NET 2.0 Membership and Role Providers model instead of the authentication provider mechanism as defined in EPiServer 4.x. The major advantage of this change is increased interoperability; it is possible to use any compliant membership or role provider, whether delivered by EPiServer, Microsoft or a third party. It can also help with system scalability on the user management side of EPiServer since the user management can be offloaded to a separate server. Providers for SQL Server and Windows are shipped with the product. Information about other providers can be found under Providers with ASP.NET 2.0 support.
EPiServer CMS 5 process and workflow capabilities are now based on Windows Workflow Foundation that replaces the old Workflow functionality.
The new model makes it possible to build and run custom workflows (which applies to all workflows built upon WF) within the EPiServer CMS 5 environment. There are a number of EPiServer CMS 5-related activities to enable workflow instances to interact with the EPiServer CMS 5 environment.
A complete new set of controls has been added to the EPiServer CMS 5 repository. One of the more influential groups of controls added are the Data Source controls. A major reason behind the introduction of these controls is to minimize the need of code-behind for day-to-day operations involving reading data and populating various lists, trees, etc. as well as adapting to the ASP.NET 2.0 standards. The new controls fully support select, insert, update and delete operations. A few examples of data sources are:
EPiServer CMS 5 also provides an open API for developers to build custom data sources for EPiServer.
EPiServer CMS 5 cache data is now read-only. This reduces the memory and processor usage significantly compared to the "copy-on-read" approach used in earlier versions. If you need to modify a page you are required to call the method EPiServer.Core.PageData.CreateWritableClone to explicitly create a modifiable copy of the object.
In previous versions, two folders were required for EPiServer to run, Edit and Admin. In EPiServer CMS 5 these folders are placed under a new folder named UI and can be removed for enhanced security on public servers. The Util folder remains in a streamlined version of which can also be renamed as an increased security measure. For further reference, see Folder Structure in EPiServer CMS 5.
EPiServer CMS 5 uses the ASP.NET 2.0 Virtual Path Provider API as base for file handling. The API is extended to support file functionality from the user interface such as rename, copy, check in, check out, etc. The API makes it easy to implement a custom provider to serve files from any file system to EPiServer.
This new implementation is the previous Unified File System re-architected with ASP.NET 2.0 Virtual Path Providers technology.
For further reference, see An Introduction to Virtual Path Providers in EPiServer in the EPiServer CMS 5 SDK Documentation or, for more in-depth information, read the Tech Note Virtual Path Providers in EPiServer.
EPiServer CMS 5 implements support for the .NET-based theming technology whereby you can attach style sheet properties to controls by associating them through properties. A number of user controls will have a default skin instructing the browser what specific look each of these controls should have. EPiServer CMS 5 comes with a default skin which can be modified or replaced with a custom skin (see Theming in the EPiServer CMS 5 SDK Documentation).
New file and page events are added as a complement to the Virtual Path Provider API extension. EPiServer CMS 5 provides base classes for files and directories. By extending these classes when implementing your own file system (or using the existing) you can raise and subscribe to events for file and directory actions such as adding, deleting, renaming, versioning control, etc. All events support the pre- and post- mechanism (i.e. OnAdding – OnAdded).
Friendly URL functionality is now a fully-featured, replaceable and pluggable URL-rewriter implemented as an ASP.NET Http Module. Rewriting is performed both on incoming requests and outgoing HTML. This means greater flexibility and robustness, as well as a more intuitive request code path; Friendly URL requests are no longer passed via the IIS 404 Not Found handler.
It is possible to store users, data and workflows in different databases or other storage structures. By distributing the workload, performance can be improved.
Some of the functions that are now obsolete in EPiServer CMS 5 have been moved to a Legacy namespace (and a Legacy DLL). This simplifies the work when upgrading the code from EPiServer 4 but some functions still needs to be rewritten for the web site to work in EPiServer CMS 5.
The configuration management is now built and aligned with standard ASP.NET 2.0 configuration. EPiServer settings are now accessed through the use of a configuration class. All settings are typed members of this class which gives the added benefit of being able to see all settings through Intellisense.
The EPiServer CMS Manager is now updated to manage the new configuration setup. EPiServer CMS Manager now also manages file archive-based modules which can be deployed via the Manager. The EPiServer CMS Manager is available as a Microsoft ClickOnce application making it easier to retrieve and launch the latest version of the Manager.
In EPiServer 4.x, PropertyData was the base class that all properties had to inherit from. The new rendering mechanism provides a new set of tools, for example:
This is a totally new concept and requires a migration of existing custom property types to make them function in EPiServer CMS 5.
Internal URLs in EPiServer CMS 5 are stored in the database using a GUID-based format called Permanent Links. Property types are responsible for transforming a URL from a permanent link to a standard template link when accessed by user code, and of course the other way around before content is stored to the database. This means that links will still be accurate even if the target is moved.
The following features will not be supported in EPiServer CMS 5 R1:
The following is not supported for Firefox 2 in EPiServer CMS 5 R1: