Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

HomeDev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Install Optimizely (ASP.NET Core)

Describes a first-time installation of Optimizely Content Management System (CMS 12) and Optimizely Customized Commerce (version 14) websites with the latest updates, with or without sample templates.

Before you install

Before installing, see the System requirements for Optimizely to ensure your installation environment has the required components and versions.

You can install Optimizely products individually, with or without sample templates, to explore each product and its components or build a site from scratch with more control.

📘

Note

You can order a time-limited demo license for evaluation purposes—see Optimizely License Center (a license is not required when using IIS Express). You need a commercial Optimizely license for testing and production environments.

Install templates

To start an Optimizely Content Management System (CMS) or Optimizely Commerce Connect application, install the templates:

dotnet new -i EPiServer.Templates

📘

Note

Each template contains a README file with instructions. If you find any issues or want to contribute to a template, visit content-templates on GitHub. See also: dotnet new.

The templates contain a nuget.config file with the Optimizely NuGet feed containing Optimizely packages. The file is a map of available services and their corresponding endpoints to know where to send different types of requests (like searching for packages, publishing packages, and so on) when interacting with the Optimizely NuGet package repository. See also NuGet package families in CMS.

{
  "version": "3.0.0",
  "resources": [
    {
      "@id": "https://api.nuget.optimizely.com/api/v2/package",
      "@type": "PackagePublish/2.0.0"
    },
    {
      "@id": "https://api.nuget.optimizely.com/api/v2/symbol",
      "@type": "SymbolPackagePublish/4.9.0"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/search",
      "@type": "SearchQueryService"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/search",
      "@type": "SearchQueryService/3.0.0-beta"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/search",
      "@type": "SearchQueryService/3.0.0-rc"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/registration",
      "@type": "RegistrationsBaseUrl"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/registration",
      "@type": "RegistrationsBaseUrl/3.0.0-rc"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/registration",
      "@type": "RegistrationsBaseUrl/3.0.0-beta"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/package",
      "@type": "PackageBaseAddress/3.0.0"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/autocomplete",
      "@type": "SearchAutocompleteService"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/autocomplete",
      "@type": "SearchAutocompleteService/3.0.0-rc"
    },
    {
      "@id": "https://api.nuget.optimizely.com/v3/autocomplete",
      "@type": "SearchAutocompleteService/3.0.0-beta"
    }
  ]
}
  • version – This indicates the version of the service index document, which in this case is "3.0.0".
  • resources – This is an array of objects, each specifying a different service endpoint. Each object contains:
    • @id – The URL endpoint for the service.
    • @type – The type of service provided by the endpoint. This describes what kind of operations can be performed at that URL. Examples include:
      • PackagePublish/2.0.0 – Endpoint for publishing packages.
      • SymbolPackagePublish/4.9.0 – Endpoint for publishing symbol packages.
      • SearchQueryService – Endpoint for querying search services.
      • RegistrationsBaseUrl – Base URL for accessing package registration information.
      • PackageBaseAddress/3.0.0 – Base address for accessing package content.
      • SearchAutocompleteService – Endpoint for providing search autocomplete suggestions.

Install templates with Visual Studio 2019

If you use Visual Studio 2019, you have to specify a previous version when installing the templates. The latest version of the templates uses ASP.NET, which Visual Studio 2019 does not support.

dotnet new -i Episerver.Templates::1.1.0

Install the Command-line Interface

The Optimizely Command-line Interface (CLI) tool is optional but makes creating or updating databases easy.

dotnet tool install EPiServer.Net.Cli --global --add-source
https://nuget.optimizely.com/feed/packages.svc

Example commands:

dotnet-episerver create-cms-database <project>
dotnet-episerver create-commerce-database <project>
dotnet-episerver update-database <project>

dotnet new epi-alloy-mvc --name alloy-docker  --output ./alloy-docker --enable-docker
dotnet new epi-alloy-mvc --help

Install an empty CMS site

dotnet new epi-cms-empty

Install a CMS sample site with Alloy templates

dotnet new epi-alloy-mvc

The following command has additional options that set the project name, and the output folder, and enable Docker (include files required to run under Docker):

dotnet new epi-alloy-mvc --name alloy-docker --output ./alloy-docker --enable-docker

You can also use the help option to get details about additional options.

dotnet new epi-alloy-mvc --help

Install an empty Optimizely Commerce Connect site

dotnet new epi-commerce-empty

Installation order for apps (add-ons)

See Optimizely apps and integrations and Apps (add-ons) platform compatibility for available apps and compatibility. See Install CMS apps (add-ons) for installation instructions.

  • If you install apps on a new CMS site together with the new project, do the installation in the following order:
    1. Install an empty CMS site.
    2. Install apps (Forms, A/B testing, and so on).
  • If you install apps to an existing CMS site with the Alloy templates, do the installation in the following order:
    1. Install apps (Forms, A/B testing, and so on).
    2. Rebuild the project.