HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket


Describes the projects feature.

A project lets an editor manage the publishing process for multiple related content items. The editor can add a landing page, blocks, pages, and products (if you installed Optimizely Customized Commerce) to a project and publish them (manually or scheduled) simultaneously.

There are two options when working on projects:

  • You enable the Projects feature for the entire site.
  • Each user can use the previous project gadget independently of others.

Project features

  • Enable (default) or disable the projects feature for the entire site, which affects all users. To disable projects, add an entry to appSettings, episerver:ui:IsProjectModeEnabled = false. When enabled, a project bar displays at the bottom of the user interface. A project overview and a Project Items navigation panel also display.
  • Editing actions, such as creating and updating items, automatically associate a content item with a currently active project. Exceptions to this rule include moving items in the structure, setting content to expired, and changing access rights or language settings. These actions do not associate content items with the active project.
  • Deactivate a project manually to stop items from being automatically added to the project.
  • Project items are only available to users who have access rights to the items.
  • Content associated with a project is locked for editing if another project is active.
  • It is a version of the content associated with a specific project, which means that one draft of a page can be associated with Project A while another draft of the same page is associated with Project B.
  • You can continue working on a project after some or all of the items within a project are published.
  • The project overview has a commenting feature, letting editors collaborate by adding comments and replies to comments to project items and projects. Editors also can tag users in the comments.
  • You can set up Episerver to send out email notifications to editors.

Example workflow when working with projects

  1. Create a project (or set a project as active).
  2. Edit content items.
  3. Collaborate with other editors by adding comments to the edited project items and review changes.
  4. Preview the site as if the items in the project are published.
  5. Set all items in the project as Ready to Publish.
  6. Publish all items at once (or schedule them for later publishing).


Versioning in Optimizely works differently when you enable the Projects feature. See Projects in the Optimizely user guide for information on versioning in projects.

Email notifications

Editors can be notified by email when someone else comments on their project actions (like setting a project to Ready to Publish) or replies to their comments. Editors also get an email if someone else tags them in a comment. How often you send these notifications depends on the system configuration.



You need to configure the SMTP settings for CMS to send out email notifications, see Configuring your email server.

Scheduled jobs

Notification Message Truncate

The Notification Message Truncate job truncates (deletes) three-month-old notification messages that CMS could not send and remain in the system. It is enabled by default and set to run every day.

Notification Dispatcher

The settings in the Notification Dispatcher job determine how often CMS sends notifications of new or updated comments or replies posted in projects by a notification provider (for example, an email provider). Notification messages are sent to:

  • tagged users in a comment or reply,
  • users who receive replies to their comments,
  • users who receive comments on their project actions (such as setting a project item to Ready to publish),
  • and other users who have previously replied to the same comment.

CMS does not send a notification if no one has posted new comments or replies since the job was last executed.

The job is enabled by default and set to run every half hour.

Optimizely Labs app Project Enhancements

See also the Project Enhancements in the Optimizely Labs app which contains further improvements to the projects feature.

See also this related blog post: Unpublish content changed when using Episerver Projects by David Knipe