Release Notes for EPiServer Community 4.0
Breaking Changes
The Site system has been removed and replaces with the Category. Content is separated by assigning categories instead of associating with sites.
Handler classes are now singletons instead of static objects. All methods for loading and saving entities have been moved to the respective handler classes.
Full Text Search
EPiServer Community 4 is integrated with the full text search functionality included in version 6.1 of EPiServer Framework. See the documentation for the service and client parts of the Full Text Search functionality for more information.
RSS/Atom Feeds and Syndication
All Entities in EPiServer Community now have their own feeds that can be subscribed to and external feeds can be syndicated to EPiServer Community blogs.
MetaWeblog Support
Publish blog entries using any MetaWeblog-compatible blog appliation, for example Live Writer.
OpenID Support
Use your OpenID to log into EPiServer Community or have EPiServer Community act as OpenID provider.
IContent Interface
The name and type of the properties that are common to all Entities have been defined in the new IContent interface.
Owner System
Allows for owner relationships between entities. An entity can only have one owner, owned entities are removed when the owner is removed.
EntityStatus
All entity types now have a common set of possible states: Pending, Approved and Removed. The new status system makes it possible to moderate all content on the site and set up different rules regarding which content that needs to be approved by a moderator before shown on the site.
GUIDs and EntityReferences
Entities now have globally unique identifiers in addition to the integer-based ID. The GUIDs are suitable when you wish to persist or pass references to entities outside of the Community application. To load an entity from its GUID you go via the intermediate EntityReference object:
Guid entryGuid = entry.UniqueID;
EntityReference entryReference = EntityProviderHandler.Instance.GetEntityReference(entryGuid);
entry = entryReference.GetEntity() as Entry;