Installation
Xperience by Kentico is a content and digital experience management system built on the .NET platform. For an overview of the system and its features, read our product introduction.
Evaluate Xperience by Kentico in a local development environment for 30 days for free. See Evaluate Xperience by Kentico.
Xperience provides boilerplate .NET projects that are distributed as .NET project templates and installed via the .NET command-line tool (included with the .NET SDK).
Install an Xperience project:
- Familiarize yourself with the System requirements – make sure the target machine meets the minimum hardware requirements, runs a supported operating system, and contains the software that Xperience needs for the installation.
- Install the project templates package that provides project templates you can use to build your website.
- Select a project to create from the available project templates.
- Create the project and the project database.
Install project templates package
Before creating new projects, you must install the Xperience by Kentico project templates package using the .NET CLI.
Open the command line and run the following command (depending on the .NET SDK version installed on your machine):
dotnet new install kentico.xperience.templates
dotnet new -i kentico.xperience.templates
This installs the latest version of the project templates NuGet package. The package location depends on the operating system.
You can now create Xperience projects based on the project templates.
You can also install a specific version of the project templates. This can be useful if you need to work with an older version of Xperience by Kentico.
For more information, see Install a specific version of Xperience by Kentico.
Available project templates
The following project types are available, each with a different use case:
Project type | Template short name | Description |
Boilerplate | kentico-xperience-mvc | Creates an empty ASP.NET Core application that you can use as a base for your project. The application comes with a basic configuration required to run and develop Xperience projects. Recommended as a starting point for the development of new Xperience ASP.NET Core projects. |
Dancing Goat | kentico-xperience-sample-mvc | A sample project of a fictional coffee shop franchise. Demonstrates the content management and digital marketing features of the Xperience solution. |
Admin UI customization boilerplate | kentico-xperience-admin-sample | A project for developers who wish to extend the Xperience by Kentico administration interface. Intended to be used together with another Xperience project (does not work as a standalone application). Helps bootstrap your environment when developing custom client components for the admin UI. For more information, see Admin UI customization model overview and Prepare your environment for admin development. |
The template short name of each project type needs to be specified when creating projects using the dotnet new
command.
Create a project
Once you have installed the project templates package, you can install projects using the .NET command-line interface. You need to know the template short name for the corresponding project type.
Open the command line prompt.
Navigate to the location where you want to create the project.
Run the following command:
- Replace <short_name> with the template short name of the project type you want to install. See Available project templates.
- The
-n
parameter sets the name of the installed project. See the dotnet new reference to learn more about the command options.- It is not recommended to use non-alphanumeric (e.g. space ’ ‘, dot’.’, or underscore ‘_’) characters in the project name.
- The
--cloud
parameter installs a project suitable for deployment to the SaaS environment. Omit this parameter if you wish to host a self-managed Xperience project. Projects installed with the parameter include:- Kentico.Xperience.Cloud NuGet package that enables deployment to the SaaS environment
- Configurations for SendGrid and Microsoft Application Insights
- Default CD configuration file
- PowerShell script used for generating the deployment package
- $StorageAssets folder and a StorageInitializationModule.cs file with a sample storage initialization module used for mapping files to Azure Blob storage
CMDCreate a project from a templatedotnet new <short_name> --cloud -n AcmeWeb
Install database .NET tools (
kentico-xperience-dbmanager
) for the project:- You will be asked if you want to install the database tools during the installation of the .NET project (with the
dotnet tool restore
command). - To install the database tools manually, run the
dotnet tool restore
command from the project’s root directory.
- You will be asked if you want to install the database tools during the installation of the .NET project (with the
The command creates the project files and sets up the database tools for the project.
Continue by creating the project database.
Create the project database
Before you can run an Xperience project, create a database and register a license key for the domain you want to use for your application:
Obtain a license key for your application and save it in a text file (e.g., license.txt):
- For deployment to the SaaS environment, you only need a license key for the local development environment. Generate a license key for local development in your Xperience Portal project.
- For self-managed deployment, see Licensing self-managed Xperience deployment.
- See Evaluate Xperience by Kentico on how to get a 30 days free evaluation license key for local development.
Run the
dotnet kentico-xperience-dbmanager
command from the root directory of the project:The
kentico-xperience-dbmanager
command is installed when creating a project. Run thedotnet tool restore
command from the project’s root directory if the command is unavailable.CMDCreate project databasedotnet kentico-xperience-dbmanager -- -s "<sql_server_name>" -d "<database_name>" -a "<admin_password>" --hash-string-salt "<hash_string_salt>" --license-file "<license_file_path>"
- Add parameters after the
--
syntax separator to pass the parameters directly to thekentico-xperience-dbmanager
command and to avoid conflicts with generaldotnet
parameters. - Set the
-s
parameter to your database server name. - Set the
-d
parameter to the name of the database. - Set the
-u
parameter to the username for the database authentication. - Set the
-p
parameter to the password for the database authentication. - Set the
-a
parameter to the password you want to use for the default administrator account. - Set the
--hash-string-salt
parameter to the hash salt value for the Xperience instance:- For deployment to the SaaS environment, get the hash salt value from the Xperience Portal Dashboard.
- For self-managed deployment, skip this parameter.
- Set the
--license-file
parameter to the path to a text file with the license key. This registers the license key in the Xperience administration. - Use the
--help
parameter to list all available options - If you encounter an error when creating the database, add the
--verbose
parameter to get more detailed information, including the error’s stack trace..
The command installs and connects a database to your project via the CMSConnectionString
application setting (located in the project’s appsettings.json file).
This completes the installation process. Your Xperience project is now ready for Development and Deployment
Next steps
- Read Website development basics for an introduction to the general development process of Xperience websites. The document guides you through basic development and hosting environment setups and introduces important Xperience concepts and features.
- Set up local hosting for your site so that you can get started with development.
- Access the Xperience administration by appending /admin to your site’s URL. Sign in using the default administrator account and the password you specified when installing the project database.
Get more information
- Take a look at our Tutorial and learn how to develop a basic website using Xperience.
- You can also visit our Community Portal, where you can join the Kentico community, find blog posts, Q&A discussions, and other resources for Xperience by Kentico.
- If you’re stuck with a particular problem, contact our support. Our team operates non-stop and will be happy to assist you.