November Happy Hour will be moved to Thursday December 5th.

Installation Instructions - Episerver CMO 2 R2

Installation of EPiServer CMO 2 R2 is done with EPiServer Deployment Center, which is used to handle installation of EPiServer products. This document describes how to upgrade, install and delete EPiServer CMO.

Table of Contents

Prerequisites

The following prerequisites exist for EPiServer CMO:

Currently CMO has a limited mirroring support. Mirrored content can only be tracked by separate CMO campaigns or tests on each side of the mirroring channel.

Upgrading EPiServer CMO

Upgrade to EPiServer CMO 2 R2 as follows:

  1. If you are running EPiServer CMS 5, you need to upgrade to EPiServer CMS 6. See the blog article How to Upgrade from EPiServer CMS 5 to 6.  If you are running 1.x versions of EPiServer CMO, upgrade to EPiServer CMO 2 before you upgrade to EpiServer CMO 2 R2.
  2. Download and run the EPiServer CMO MSI file from EPiServer World (login access required).
  3. Open EPiServer Deployment Center (Start > Programs > EPiServer > Quick Links) and select website to install EPiServer CMO 2 R2 on. Information about how installation and deployment works in EPiServer CMS, refer to Deployment Center.

Installing EPiServer CMO onto a Website

Step 1: Select Services

Campaign Monitor and Optimization Core containing the core files of the module (database, pages, logic etc) is mandatory and will be installed automatically.

  1. Select the optional services you want to install. All are selected by default.
    • Campaign Monitor and Optimization UI is the user interface of the module to support load balanced hosting environment. Optional, clear it if you do not want to provide CMO user interface (for example, a public site).
    • Statistics Handler is a HTTP web handler which is used to gather statistics. You can clear it if you want to install it manually afterwards.
    • Aggregation Service is a windows system service which will be used to aggregate gathered statistics. You can clear it if you want to install it afterwards or just want to control all features on your operation system.
    • Thumbnail Service is a windows service which will be used for creating thumbnail images of CMS pages. If not selected, no thumbnails will be generated. It can be installed manually on a separate server.
  2. Click Next.

Note! The aggregation service can write logs during the aggregation process. To activate this feature, you must grant permission to modify the aggregation service folder for the user who will run aggregation service (by default local service). See default installation folder in the section Configuring after the Installation

Step 2: Select Website

Select the EPiServer website in EPiServer Deployment Center on which you want to install EPiServer CMO and click Next.

Step 3: Define Database Settings

Define the database settings in EPiServer CMO as follows:

  1. In Select SQL Server Instance, name the database instance. You have the following options:
    • Select an existing database instance from the list, if you want it to contain the CMO database scheme, for example, using EPiServer in a web farm or load balanced hosting environment.
    • Create a new database by typing the name, if you want to install EPiServer CMO separately.
  2. Select Windows Authentication or SQL Server Authentication for the database instance. Also type the login credentials.
  3. In Enter the name of the database... you have the following options to specify connection to the database server:
    • Type the name of the new database you have created
    • Select an existing database from the list
  4. Select Windows Authentication or SQL Server Authentication for the database. Also type the login credentials.
  5. Click Next

Step 4: Set Up the EPiServer CMO User Interface

Set up the user interface of EPiServer CMO as follows:

  1. In Relative Path, type the relative path to the CMO folder.

    How to make settings in EPiServer CMO 2.0 during installation

  2. In CMO Admin Roles, type which EPiServer CMS user groups (roles) can create, edit and delete campaigns and landing page optimization tests.
  3. In CMO users Roles, type which EPiServer CMS user groups (roles) can create, edit and delete campaigns and view landing page optimization tests.
  4. In Statistics Handler URL, type the URL to the HTTP web handler to be used to gather statistics. If it is installed separately (if you have cleared the Statistics Handler feature in step 2, you will need to select it first). You can click Test to check if the connection to the service works (the button is conditional, and will only show if you enter a URL). 
  5. In Thumbnail Service URL is the URL to web-based service which will be used to create thumbnails of EPiServer CMS pages included in campaigns and/or landing pages optimization tests. You can click Test to check if the connection to the service is working (the button is conditional, and will only show if you enter a URL). Select Thumbnail service should authenticate to CMS site to create thumbnails of LPO test variations and other pages that are not visible for the anonymous user. Provide the name and password of the user with corresponding access rights in CMS.
  6. Click Next

Step 5: Select the License File

To run EPiServer CMO in a production environment, select the EPiServerCmoLicense.config file (which contains the license information for this module installation) and click Install. This step is optional, you can select the license file afterwards (for example, if you want to run tests in EPiServer CMO first). 

Step 6: Finish Installation

Click Close to complete the installation. 

Configuring after the Installation

The default installation folder for the CMO Windows services is [Path to your EPiServer installation]\Shared\Services\[Name of the CMO Service]\.

Example: C:\Program Files\ EPiServer\ Shared\ Services\ CMO Aggregation Service\.

Check the logging configuration, aggregation service and thumbnail service for EPiServer CMO as follows:

  1. Check that the applications have required permissions to create log files in destination folders and so on. Go to the applications folder, right-click the folder, select Properties, go to the Security tab and find the account. You can add module logging settings to common CMS logging settings in the file EPiServerLog.config. See the tech note How to Configure the Logging (EPiServer CMS 6.0).
  2. Check that the Aggregation Service logging settings are contained in the file  EPiServer.Cmo.AggregationService.exe.config in the folder where this service is installed. The CMO Admin can turn on DEBUG logging or less detailed logging for this file. See Installing and Configuring the Aggregation Service.
  3. Check that the Thumbnail Service logging settings are defined in the file IECaptSvc.exe.config in the folder where this service is installed.  

Deploying the CMS Website to the Production Environment

Change the website’s URL and the URLs to the Thumbnail Service and Statistics Handler will be immediately updated on the CMO Admin page. 

Uninstalling EPiServer CMO

Uninstallation can be performed manually in the following steps:

  1. Deleting files related to CMO module
  2. Removing CMO-specific web.config and connectionStrings.config entries
  3. Deleting database and SQL Server logins
  4. Deleting statistic handler
  5. Deleting thumbnail service (if not needed for other sites)
  6. Deleting aggregation service (if not needed for other sites)
  7. Uninstalling the module

The count of uninstallation steps may vary depending on particular module configuration and whether you want to remove the CMO module from one site or from the whole web server. Let’s consider each step in details.

Step 1: Deleting Files Related to EPiServer CMO

Delete the following files:

On EPiServer site root folder 

  • Files of EPiServer CMO stored in lang and bin folders in sites root folder
  • EPiServerCmoLicense.config in site root folder

Note! CMO pages and controls stored in Program files\EPiServer\{your_episerver_cms_version}\ Install\Modules\CMO2.1.0.*\CMO. Do not delete this folder manually, because it is used on all sites with CMO module installed.

From the lang folder

  • CMO_EN.xml

From the bin folder

  • ComponentArt.UIFramework.lic *
  • ComponentArt.Silverlight.Server.dll *
  • ComponentArt.Web.Visualization.Charting.dll *
  • ComponentArt.Web.Visualization.Charting.Shader.dll *
  • EFExtensions.dll
  • EPiServer.Cmo.Cms.dll
  • EPiServer.Cmo.Core.dll
  • EPiServer.Cmo.UI.dll
  • EPiServer.Cmo.Gadgets.dll
  • EPiServer.Cmo.Wizard.dll
  • EPiServer.Trace.dll *
  • System.ServiceModel.PollingDuplex.dll *

Note! The files marked with * can be used by other EPiServer modules. By deleting these files, the modules might not work properly.

Step 2: Removing CMO-specific web.config and connectionStrings.config Entries

Remove the following from the web.config file:

  • Remove the following string from /configuration/system.web/compilation/assemblies node:
    <add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> ​
  • Unregister EPiServer CMO and EPiServerUI tagPrefix by deleting the following string in /configuration/system.web/pages/controls node:
    <add tagPrefix="cmo" namespace="EPiServer.Cmo.UI.Units" assembly="EPiServer.Cmo.UI"/>
    <add tagPrefix="EPiServerUI" namespace="EPiServer.UI.WebControls" assembly="EPiServer.UI" /> ​
  • Remove CMO WCF service configuration in /configuration/system.serviceModel/services node:
    <service behaviorConfiguration="EPiServer.Cmo.Core.WebServices.GenericKpiServiceBehavior" 
             name="EPiServer.Cmo.Core.WebServices.GenericKpiService">
      <endpoint address="" binding="basicHttpBinding" contract="EPiServer.Cmo.Core.WebServices.IGenericKpiService" />
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>
  • Remove CMO WCF service behavior in /configuration/system.serviceModel/behaviors node:
    <behavior name="EPiServer.Cmo.Core.WebServices.GenericKpiServiceBehavior">
     <serviceMetadata httpGetEnabled="true" />
     <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  • Unregister EPiServer CMO HTTP module.

    IIS 6: Delete following string in /configuration/system.web/httpModules node:

    <add name="CMOModule" type="EPiServer.Cmo.Cms.HttpModule.Module, EPiServer.Cmo.Cms" />​

    IIS 7: Delete the following string in /configuration/system.WebServer/modules node:

    <add name="CMOModule" 
         type="EPiServer.Cmo.Cms.HttpModule.Module, EPiServer.Cmo.Cms" 
         preCondition="managedHandler" />​
  • Remove ComponentArt cachedimageservice handler:

    IIS 6: Delete the cachedimageservice section in /configuration/system.web/httpHandlers and
    /configuration/location[@path=path-to-episerver-ui]/system.web/httpHandlers node.

    IIS 7: Delete the cachedimageservice section in /configuration/system.webServer/handlers and
    /configuration/location[@path=path-to-episerver-ui]/system.webServer/handlers node.

    <add name="cachedimageservice" 
         verb="GET" 
         path="cachedimageservice.axd"
         type="ComponentArt.Web.Visualization.Charting.CachedImageService,ComponentArt.Web.Visualization.Charting" />​
  • Unregister CMO HTTP handler by removing the definition for ChartImageHandler.

    IIS 6: Delete the ChartImageHandler section in /configuration/system.web/httpHandlers node.

    IIS 7: Delete the ChartImageHandler section in /configuration/system.webServer/handlers node.

    <add verb="GET,HEAD" 
         name="ChartImageHandler" 
         path="ChartImg.axd" 
         type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />​
  • Remove the DownloadKPI handler.

    IIS 6: Remove the following string in /configuration/system.web/httpHandlers:

    <add verb="GET" path="DownloadKpi.axd" type="EPiServer.Cmo.Core.Statistics.DownloadHandler, EPiServer.Cmo.Core" />

    IIS 7: Remove the string in /configuration/system.webServer/handlers node:

    <add verb="GET" 
         name="CmoDownloadHandler" 
         path="DownloadKpi.axd" 
         type="EPiServer.Cmo.Core.Statistics.DownloadHandler, EPiServer.Cmo.Core" />​
  • Remove CMO protected module from /configuration/episerver.shell/protectedModules node:
    <add name="CMO" resourcePath="~/CMO">
      <assemblies>
        <add assembly="EPiServer.CMO.UI" />
        <add assembly="EPiServer.CMO.Gadgets" />
      </assemblies>
    </add>​
  • Remove entire location sections with name "CmoWebServices" from /configuration node
  • Remove the location section with path=”cmo-ui-path”:
    <location path="CMO">
      <system.web>
        …
      </system.web>
    </location>​
  • Remove CharImageHandler and secretKey keys from /configuration/appSettings node:
    <add key="ChartImageHandler" value="storage=memory;timeout=20;" />
    <add key="secretkey" value="your-thumbnail-service-secret-key-goes-here" />​
  • Remove the CMO VPP configuration in /configuration/episerver/virtualpath/providers by deleting the following strings:
    <add name="CMOWebServices" 
         virtualPath="~/CMOWebServices" 
         physicalPath="C:\Program Files (x86)\EPiServer\CMS\6.1.379.0\Install\Modules\CMO2.1.0.*\CMO\..\CmoWebServices" 
         type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
    
    <add name="CMO" 
         virtualPath="{cmo-ui-path}" 
         physicalPath="C:\Program Files (x86)\EPiServer\CMS\6.1.379.0\Install\Modules\CMO2.1.0.*\CMO" 
         type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />  ​

Uninstall Live Monitor as follows:

  • Remove the service section in /configuration/system.serviceModel/services node:
    <service behaviorConfiguration="EPiServer.Trace.Services.TraceServiceBehavior" name="EPiServer.Cmo.Cms.Trace.Services.CmoTraceService">
      <endpoint address="" binding="basicHttpBinding" contract="EPiServer.Trace.Services.ITraceService" />
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service> ​
  • Remove the behavior section in /configuration/system.serviceModel/behaviors/serviceBehaviors:
    <behavior name="EPiServer.Trace.Services.TraceServiceBehavior">
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>   ​
  • Remove (edit) the serviceHostingEnvironment section in the /configuration/system.serviceModel node:
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> ​
  • Remove CmoLMTracker handler:

    IIS 6: Delete the CmoLMTracker section in /configuration/system.web/httpHandlers node.

    IIS 7: Delete the CmoLMTracker section in /configuration/system.webServer/handlers node.

    <add name="CmoLMTracker" path="LMTrackerHandler.ashx" verb="*" type="EPiServer.Cmo.Cms.Trace.Handlers.TrackerHandler" />​
  • Remove the location sections in /configuration node:
    <location path="{cmo-ui-path}/Trace">
      <system.web>
        <authorization>
          <allow roles="WebEditors, WebAdmins, Administrators"/>
          <deny users="*"/>
        </authorization>
      </system.web>
      <system.webServer>
        <handlers>
          <remove name="svc-Integrated" />
          <add name="svc-Integrated" 
               path="*.svc" 
               verb="*" 
               type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
               resourceType="Unspecified" 
               preCondition="integratedMode" />
        </handlers>
      </system.webServer>
    </location>
    
    <location path="{cmo-ui-path}/Trace/Handlers">
      <system.web>
        <authorization>
          <allow users="*"/>
        </authorization>
      </system.web>
    </location>   ​

Remove the following from the connectionStrings.config file:

  • Remove the connectionString to CMO database named CmoEntities:
    <add name="CmoEntities" 
         connectionString="provider connection string=&quot;Data Source=.\sqlexpress;Initial Catalog=Cmo;Integrated Security=False;User ID=dbUserCMO;Password= dbUserCMO;Connect Timeout=10&quot;;metadata=res://*/Entities.CmoModel.csdl|res://*/Entities.CmoModel.ssdl|res://*/Entities.CmoModel.msl;provider=System.Data.SqlClient" 
         providerName="System.Data.EntityClient" /> 

Step 3: Deleting Database and SQL Server Logins

Delete the database and its logins as follows:

  • CMO module database
  • Live Monitor database (if it was installed separately from the CMO database)
  • SQL server logins used to access the CMO database and Live Monitor database

Step 4: Deleting the Statistic Handler

Delete the Statistic Handler as follows:

  • If the Statistics Handler has been hosted inside the EPiServer CMS site (this is default scenario if you have installed Statistic handler by CMO module installer), you need to remove the following record from web.config:

    IIS 6: Delete the string in /configuration/system.web/httpHandlers node.

    IIS 7: Delete the string in /configuration/system.webServer/handlers node.

    <add verb="GET" name="StatisticsHandler" path="StatisticsHandler.axd" type="EPiServer.Cmo.Core.Statistics.StatisticsHandler, EPiServer.Cmo.Core" />  
  • Delete the browser detection files from your web site App_Browsers folder: safari.browser and chrome.browser.
  • If the Statistics Handler has been installed on separate web site, you need to delete this site from IIS.

Step 5: Deleting the Thumbnail Service (if not needed for other sites)

Delete the Thumbnail Service as follows:

  1. Stop the Thumbnail service from Control Panel/Administrative tools/Services > EPiServer CMO Thumbnail Service.
  2. Uninstall the service by using standard .NET Framework utility InstallUtil (usually can be found here c:\Windows\Microsoft.NET\Framework\v2.0.50727):
    • Type InstallUtil.exe /u [Path to your thumbnail service files]\IECaptSvc.exe
    • Delete the Thumbnail Service files. If the service was installed by CMO module installer, all service files can be found in C:\Program Files\EPiServer\Shared\Services\Thumbnail Service\.

Step 6: Deleting the Aggregation Service (if not needed for other sites)

Delete the Aggregation Service as follows:

  1. Make sure that the Aggregation Service is not used by other sites before uninstalling it.
  2. Stop the Aggregation Service from Control Panel/Administrative tools/Services > EPiServer CMO Aggregation Service.
  3. Uninstall the service by using standard .NET Framework utility InstallUtil (usually can be found here c:\Windows\Microsoft.NET\Framework\v2.0.50727):
    • Type InstallUtil.exe /u [Path to your aggregation service files] \EPiServer.Cmo.AggregationService.exe
    • Delete the Aggregation Service files. If the service was installed by CMO module installer, all service files can be found in C:\Program Files\EPiServer\Shared\Services\ CMO Aggregation Service\.

Step 7: Uninstalling the EPiServer CMO Module

Remove the module from EPiServer CMS Deployment Center by uninstalling the application EPiServer CMS <your CMS version> - EPiServer CMO 2.1.0.* from the Control Panel / Uninstall Programs.

Last updated: 2012-09-04