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

Upgrade to CMS 7

This topic describes the general upgrading procedure for Optimizely Content Management System (CMS 7).

See Deployment Center for information about installation and deployment work.

Possible upgrading scenarios include From CMS 6 R2 > upgrade to CMS 7 > upgrade to CMS 7.1

Upgrade to CMS 7

Upgrading of Optimizely Content Management System (CMS) is done from the Deployment Center.

Upgrade an existing CMS website as follows:

  1. Download and install the package for CMS 7.
  2. Open Deployment Center and expand the options for CMS 7.
  3. Select Upgrade site with SQL Server database.
  4. Select the site where you want to upgrade CMS, and click Next to start the upgrade.

Upgrade to CMS 7 CMO

If you are running CMS 6, you need to upgrade to CMS 7. If you are running 1.x versions of CMO, upgrade to CMO 2 R2 before you upgrade to CMS 7 CMO.

Upgrade CMO as follows:

  1. Download and run the CMO for CMS 7.
  2. Open Deployment Center, expand the options for CMS 7, expand Modules section.
  3. Select Upgrade EPiServer CMO 2.1 to EPiServer 7 CMO.
  4. Select the site where you want to upgrade CMS, and click Next to start the upgrade.
  5. Make sure that the page templates render required client resources.

Render required client resources

Site templates must be updated to render required client resources for default areas Header and Footer. This is best practice to enable EPiServer CMO, Live Monitor and other modules and add-ons that require script and style injections on pages.

Usually, it is enough to add special placeholders for the client resource injections to the site's master page. One placeholder should be placed inside the tag and another one before the closing tag.

Use the following WebControls on ASP.NET Web Forms pages:

<%@ Master Language="C#" AutoEventWireup="false" CodeBehind="Site.master.cs" Inherits="EPiServer.Templates.Alloy.Views.MasterPages.Site" %>
            <html>
            <head runat="server">
                ...
                <strong><EPiServer:RequiredClientResources RenderingArea="Header" ID="RequiredResourcesHeader" runat="server" /></strong>
            </head>
            <body>
                ...
    
                <strong><EPiServer:RequiredClientResources RenderingArea="Footer" ID="RequiredResourcesFooter" runat="server" /></strong>
            </body>
            </html>

Use the following HTML helpers on ASP.NET MVC pages:

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
            <%@ Import Namespace="EPiServer.Framework.Web" %>
            <%@ Import Namespace="EPiServer.Framework.Web.Mvc.Html" %>
            <html>
            <head runat="server">
                ...
                <strong><%= Html.RequiredClientResources(RenderingTags.Header) %></strong>
            </head>
            <body>
                ...
    
                <strong><%= Html.RequiredClientResources(RenderingTags.Footer)%></strong>
            </body>
            </html>

See details about requirements for page templates and client resource handling in Manage client resources.

Run CMS 6 R2 and CMS 7 side-by-side

This section describes the steps needed to make the indexing work properly when running CMS versions 6 and 7 in parallel. If you need to deploy a CMS 6 site on a server where only CMS 7 is installed a few manual steps need to be applied to index the CMS 6 R2 site.

Index files

Starting with CMS 7, search has been consolidated using the Full Text Search engine instead. The “Indexing Service” is responsible for indexing files and documents for the versioned virtual path provider. When installing CMS 7 on a server, the “Indexing Service” is no longer delivered with the product.

If you install CMS 7 on a machine where CMS 6 is already installed the Indexing Service will not be uninstalled until you uninstall the CMS 6 components.

Install the indexing service manually

Install the indexing service for CMS 6 R2 on a server with only CMS 7 components as follows:

  1. Make a copy of this folder on the machine running CMS 6: C:\\Program Files (x86)\\EPiServer\\Shared\\Services\\Indexing Service.
  2. Restore the IndexingService folder from your copy.
  3. Run the following command to install the service:
    C:\\>sc create "EPiServer Indexing Service (CMS6R2)" binpath= "C:\\Program Files (x86)\\EPiServer\\Shared\\Services\\IndexingService\\EPiServer.IndexingService.exe".
    You should see the message [SC] CreateService SUCCESS.

    📘

    Note

    There has to be a space after binpath= and before the first apostrophe.

  4. Open the Services console and verify that the service was installed. You can now start the service.

Next steps

  • When the upgrading has finalized, refer to Breaking Changes for detailed information about specific code affected by changes between versions.
  • See the Breaking Changes section in the Optimizely Framework SDK documentation for any code changes affecting the platform.

For information about the latest features, system requirements, download, and installation, refer to the following information on Optimizely World: