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.
Watch this video to quickly get started developing solutions with Xperience by Kentico. The video guides you through a brief Xperience project installation.
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 -i kentico.xperience.templates
dotnet new install kentico.xperience.templates
This installs the project templates NuGet package. The package location depends on the operating system.
You can now create Xperience projects based on the project templates.
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 application that you can use as a base for your project. The application comes with a basic configuration required to run and develop Xperience sites. Recommended as a starting point for the development of new Xperience sites. |
Dancing Goat | kentico-xperience-sample-mvc | A sample company site 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 (either
kentico-xperience-mvc
orkentico-xperience-sample-mvc
).- 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 boilerplate project suitable for deployment to the SaaS environment. Omit this parameter if you wish to host a self-managed Xperience project.Create 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 in Xperience administration:
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.You can also list all command parameters using
--help
.Create project databasedotnet kentico-xperience-dbmanager -- -s "<sql_server_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
-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. - (Optional) Configure the site's general properties:
Set the
--domain-name
parameter to the domain name where the installed site and its administration will run.Use a supported Domain name format.
Defaults to localhost when omitted. See Domain names for local development.
- For deployment to the SaaS environment, see Domain names for SaaS deployment before setting a domain name with the parameter.
- Set the
--content-culture
parameter to the site content default culture code in format languagecode2-country/regioncode2 (based on RFC 4646), for example, ja-JP. Defaults to English (United States) en-US when omitted.
- 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 the 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 for developers, where you can find articles, Q&A discussions, and other documentation materials.
- If you're stuck with a particular problem, contact our support. Our team operates non-stop and will be happy to assist you.