Developer learning map
Welcome to the developer learning map for Xperience by Kentico. Use this learning map to build your Xperience by Kentico development skills step by step. It helps both experienced Kentico developers and teams new to the platform find the right starting point.
Resources are organized in recommended order. Work through them sequentially, or jump to the section most relevant to where you are.
1. Development basics
Get your environment set up, understand Xperience’s architecture, and build your first project. Xperience uses its own API layer for content handling (not Entity Framework or other ADO.NET alternatives), so even experienced .NET developers should start here.
Development basics prerequisites
Xperience development requires solid .NET Core MVC fundamentals. If you need a refresher:
- Get started with .NET Core MVC, as the MVC is the recommended development pattern.
- Host and deploy .NET Core – Learn the basics of deploying .NET Core applications in Microsoft documentation.
- Deploy an .NET web app – Go through a Microsoft tutorial that walks you through deploying a web application into Azure Web Apps.
Xperience by Kentico developer essentials
- Welcome to Xperience by Kentico – Get an overview of the DXP platform.
- Xperience by Kentico development basics – Understand the Xperience environment, project structure, and how developer, editor, and marketer roles interact.
- Xperience developer kickstart – Set up your environment, create your first content types, display content with MVC, and get the Page Builder running in one hands-on project.
- Page Builder – Extend your knowledge by building Page Builder components for editor-controlled page layouts.
- Multilingual content – Build multilingual Xperience projects to reach global audiences.
- Working with advanced content – Apply taxonomies, smart folders, and reusable field schemas to query and organize content efficiently.
Build and deploy your first project
- Deploy Xperience websites – Review the available hosting and deployment options for Xperience projects.
- Get started with Xperience SaaS – Sign in to Xperience Portal, invite your team, and start monitoring your SaaS project.
- Deploy to Xperience SaaS – Follow the steps from first sign-in to a working deployment in Xperience Portal.
- Deploy to private cloud – Host your Xperience project on your own private infrastructure.
Strategy and productivity resources
- Xperience implementation handbook – Apply best practices from Kentico solution architects for structuring and delivering Xperience projects.
- Developer setup – Configure your development environment end-to-end — from installation through CI setup, code generation, and automation.
- KentiCopilot – Learn about KentiCopilot, a suite of development tools that enable agentic development for Xperience projects.
2. Content modeling
A well-designed content model is the foundation of any Xperience project. This section covers how to structure reusable content types, align them with marketing goals, and follow platform best practices.
Content modeling prerequisites
If you’re new to content modeling and information architecture, start with these resources. (These resources were not developed by Kentico and might not reflect Kentico recommended practices for Xperience by Kentico projects.)
- Kontent: Content modeling overview – Learn the basics to content modeling from an excellent series created by the Kontent.ai documentation team.
- Schema.org – See the community-driven project to create a shared vocabulary you can use with different encodings.
- Nielsen Group: Information Architecture – A collection of links will help you learn the information architecture (IA), how to run an IA research study, and how to design navigation effectively.
Content modeling resources
- Content modeling guide – Understand what content modeling is, how to align your content model with marketing goals, and which Xperience-specific recommendations to follow.
- Model reusable content – Model reusable structured content — articles, products, and similar types, so your team can manage and repurpose it across channels.
- Model website presentation components – Structure widgets, page templates, and sections so editors get a consistent visual design with enough flexibility to meet their marketing goals.
- How to safely evolve a content model – Manage breaking changes in an evolving content model without disrupting business continuity.
3. Configurations
Configure the core settings of your Xperience project. You will work with channels, users, roles, and key system options such as Content sync, Event log, and the rich text editor.
- Digital marketing channels in Xperience – Understand how Xperience models website, headless, and email channels and how they relate to each other.
- Settings – Review the administration settings available for configuring Xperience system features.
- Content hub configuration – Explore the configuration options for customizing how your project uses the Content hub.
- Website channel management – Configure website channels, their domains, cultures, and channel-level settings.
- Headless channel management – Configure headless channels for content delivery, including setting up content preview.
- Work with users – Manage Xperience users and assign the roles and permissions your content and marketing team needs.
- Configure Content sync – Control which applications and actions editors and marketers can access using Xperience’s role-based access control.
- Work with roles – See how Xperience by Kentico leverages the role-based access control system to manage which applications and actions editors and marketers can perform.
- Reference - Configuration keys – Extend administration settings using low-level configuration keys for precise control over application behavior.
- Notifications – Notify administration users when specific system events occur.
- Scheduled tasks – Run custom code on a schedule using Xperience’s built-in task runner.
4. Advanced content presentation
Learn about advanced content presentation patterns using Form Builder, AI-powered end-to-end widget implementation, tag helpers, editable area restrictions, rich text editor customization, and widget visibility conditions.
- Form Builder – Enable marketers to build and manage dynamic forms using the built-in Form Builder.
- Build smarter with KentiCopilot – Build a widget end-to-end with KentiCopilot.
- Reference - Tag Helpers – Reference the tag helpers available for use in Xperience Razor views.
- Defining Editable Area Restrictions – Restrict Page Builder editable areas to the widget and section combinations that best serve your design system.
- Configuring Rich text editor – Customize the built-in editor, adjust available formatting options, or add custom plugins to extend its feature set.
- Creating a video embed widget with visibility conditions – Apply multiple visibility conditions to a custom Video widget to control when Page Builder and Form Builder components appear.
5. Xperience data access techniques
Design data access techniques for Xperience projects, including implementing the Repository and CQRS patterns to enhance performance, scalability, and security.
Data access techniques prerequisites
If you are new to .NET, find out more about how to design your application’s infrastructure using the Repository and CQRS patterns.
- Design the infrastructure persistence layer – Learn about the Repository pattern in the Microsoft documentation.
- CQRS architecture pattern – Learn how you can separate read and update operations for storing data to increase application’s performance, scalability and security. (This pattern is used in the Kentico Community portal).
Advanced data access techniques
- ContentRetriever API – Dive into available methods for
ContentRetriever. - Content Query API – Explore available methods and overloads in
ContentQuery. - Retrieving headless content – Retrieve headless content as JSON through the Xperience GraphQL API endpoint.
- Use abstraction and enterprise-level architecture in Xperience projects – Understand the benefits of abstraction and layering for maintainable enterprise projects, with practical Xperience examples using clean architecture patterns.
- Guide to Repository pattern with a Generic Type in Xperience by Kentico – Build typed repositories for retrieving Xperience data, following a step-by-step guide by Milan Lund, freelance full-stack web developer and Kentico Community Leader.
6. Caching, testing, and optimization
Use caching to improve website performance by storing data for faster access, explore various caching types like data, output, and file caching to reduce load times, and understand Xperience’s server-side caching mechanisms, including how to manage cache keys and dependencies for efficient content delivery.
Caching, testing, and optimization prerequisites
If you are new to .NET, discover the fundamentals of caching techniques and debugging practices for .NET Core and Visual Studio, and learn about different testing methods to validate your code.
- Overview of caching in .NET Core – Learn about the different types of caching in .NET Core in Microsoft documentation.
- Caching in .NET – See the different caching mechanisms in .NET in Microsoft documentation.
- Debug C# code in Visual Studio – See the step-by-step tutorial about Visual Studio debugger in Microsoft documentation.
- Debugging in Visual Studio Code – Learn about VS Code’s built-in debugger, which helps accelerate your edit, compile, and debug loop.
- Testing in .NET – Learn about the different types of tests in .NET to validate your code in Microsoft documentation.
Caching, testing, and optimization resources in Xperience
- Caching – Apply Xperience’s built-in caching mechanisms to improve performance and content delivery speed.
- Event log – View and interpret logged information about system-level events.
- Xperience by Kentico MiniProfiler – The integration allows you to use a simple but effective mini-profiler for .NET and other languages. Michael Eustace, Kentico MVP, describes how to use this integration in his article Get to know Xperience by Kentico: Unlocking performance insights with MiniProfiler.
- Diagnose Page Builder template – Diagnose and fix common Page Builder template configuration errors.
7. User management, membership, registration, and authentication
Create and manage different memberships for website visitors and backend users, set up registration, control access to tools and content, and add custom fields to user profiles.
Registration and authentication prerequisites
If you are new to Identity, explore these resources to understand .NET Core’s security features, including documentation on authentication, user management, and integrating Microsoft’s Identity platforms like the Entra ID and Azure Active Directory into your web applications.
- .NET Core security topics – See a list of links for different security-related topics in Microsoft documentation.
- Overview of .NET Core authentication – Go through several examples of authentication and authorization in Microsoft documentation.
- (optional) Introduction to Identity on .NET Core – This documentation by Microsoft covers the basics of managing users, passwords, profile data, roles, claims, tokens, email confirmation, and more with the default framework’s libraries and Identity API.
- Quickstart: Sign in users and call the Microsoft Graph API from an .NET Core web app – See a short tutorial on how to sign in users with the authorization code flow using Microsoft Authentication Library for .NET and Microsoft Identity Web to handle authentication.
- Microsoft Entra ID with .NET Core – Follow a short tutorial from Microsoft that demonstrates how to implement the Identity platform and Entra ID in .NET Core.
Registration and authentication in Xperience
- Members – Understand how Xperience models members — registered website visitors who can access secured content but have no access to the administration UI.
- Add fields to member objects – Extend member objects with custom fields beyond the default field set.
- Members – Learn how to allow visitors to register and authenticate in the website channel, manage their content, and access special content.
- Livesite members – Review how live-site membership works and what makes it different from administration users.
- Administration - Registration and authentication – Configure .NET Identity for the admin UI or wire up an external authentication provider.
- Users – Manage administration users, assign roles, and enable registration and authentication in Xperience.
- Reference - Xperience Portal user roles – Understand who can access Xperience Portal and what each role can do, with a full reference of roles and privileges.
- Developing registration and authentication – Implement custom registration flows and authentication mechanisms in Xperience.
8. Deployment
Learn about Xperience by Kentico’s hosting options, ranging from private cloud on dedicated or virtual servers to managed solutions on Microsoft Azure, and how to deploy and maintain websites as a standard .NET project in both traditional and SaaS environments, separating production from non-production instances.
Deployment prerequisites
If you are new to deploying .NET applications, these resources will help you skill up on various deployment strategies, such as hosting and deploying .NET Core applications, using the Azure App Service, understanding deployment best practices, or leveraging Azure Pipelines for efficient CI/CD workflows.
- Host and deploy .NET Core – Learn about different types of deployment options in Microsoft documentation.
- Deploy an .NET web app – See how to create and deploy an .NET web application to Azure App Service in a Microsoft step-by-step tutorial.
- Deployment Best Practices – Read Microsoft’s guide to deployment best practices.
- Key concepts for new Azure Pipelines users – Learn about effective building, testing, and deploying through Azure Pipelines in Microsoft documentation, which you can leverage in Xperience by Kentico projects.
- Scale up an app in Azure App Service – Learn about two workflows to increase the app’s performance in Microsoft documentation.
Deploying Xperience projects
- Deploy to the SaaS environment – See how you can deploy to multiple environments to isolate the production and non-production application instances using the Xperience Portal in our step-by-step practical guide. (refresher)
- Deploy without the administration – See how to remove the Xperience administration interface and all related customizations when publishing to production in Xperience by Kentico documentation.
- Multi-instance support in Xperience – Understand Xperience’s built-in multi-instance support for auto-scaling, load balancing, and high availability.
- Xperience by Kentico CI/CD developer scenarios – Explore real CI/CD scenarios for managing and deploying code with Xperience’s continuous deployment features.
- Xperience by Kentico – release process considerations and deployment on the SaaS environment – Walk through release process considerations and SaaS deployment best practices, written by Lukas Skowroński, Senior Solutions Architect at a Kentico partner agency.
- Kentico’s Xperience Portal and SaaS: From Setup to Production – Follow one developer’s path from initial Xperience Portal setup through to a production SaaS deployment, written by Milan Lund, freelance full-stack web developer and Kentico Community Leader.
9. Maintenance, hotfixing, and updates
Maintain an Xperience project by regularly updating your system, managing tasks through a SaaS portal, and automating updates with tools like Dependabot for continuous integration and security.
- Maintain your solution – Review the maintenance scenarios covered in the Xperience implementation handbook.
- Update Xperience by Kentico projects – Review recommended approaches for keeping your Xperience project up to date.
- Changelog – Track new features, fixes, and breaking changes across Xperience releases.
- Changelog – Discover new guides, modules, and other additions to the documentation.
- Keeping your Xperience by Kentico project up-to-date using Dependabot – Automate dependency scanning and pull requests for Xperience package updates using Dependabot, explained by Liam Goldfinch, Kentico MVP.
- How to automate Xperience by Kentico updates in your deployment pipeline – Watch Michael Eustace, Kentico MVP, walk through PowerShell scripts that automate Xperience upgrades in a deployment pipeline.
10. Administration customizations
Create custom and extend existing modules in Xperience, such as a website settings module, add fields to the Contact profile, or customize system providers.
Administration customization prerequisites
If you are primarily a backend developer tasked with expanding Xperience administration, these resources will guide you through learning React for building user interfaces and TypeScript for adding strong typing to your projects, as utilized in the Xperience UI.
- Quick Start: React – Use the React documentation to refresh your knowledge of React, which is used to build the Xperience UI.
- Describing the UI – Scan through an overview of how to build a simple UI component in React.
- React JavaScript Framework for Beginners – Use this FreeCodeCamp course for beginners to learn React.
- TypeScript – Use the TypeScript documentation to refresh your understanding of the language that’s used to strongly type the Xperience by Kentico UI components.
Customizing Xperience
Custom module
- Create a Custom settings module – Follow a series of steps that show you how to implement a module that holds custom settings.
- Add a custom field to the Contact profile – Extend the contact profile with custom fields so marketers can track domain-specific visitor data.
- Additional customizations – Dive into customization topics that fall outside the scope of the custom settings series.
Extending UI pages
- Extend the administration interface – Extend existing Xperience administration UI pages with custom content and functionality.
- Integrate custom code – Follow the recommended patterns for integrating custom code into an Xperience project.
- Administration interface UI tests – Apply recommended testing practices to custom Xperience administration UI code.
Extend default functionality
- Extending Xperience by Kentico Administration UI Pages – Extend existing administration UI pages to surface the information your team needs.
- Extending Xperience by Kentico Administration UI Pages #2 - Enhanced System Overview – Add deployment tracking across multiple environments to the Xperience administration UI.
- Handle global events – Hook into Xperience system events to execute custom code when specific actions occur.
- Excluding Content Items from Continuous Deployment – Exclude specific object types from continuous deployment using global events.
- Customize system providers – Replace or extend Xperience API providers to customize how the system handles objects and operations.
11. Xperience digital marketing
Build Xperience projects that allow marketers to attract new visitors, promote their products and business, analyze traffic, and maintain engagement with existing contacts. As a developer or administrator, you will explore detailed scenarios that guide you through setting up, configuring, and, if needed, extending these features using custom code.
Digital marketing in Xperience
Digital marketing essentials – Learn about several Xperience applications marketers use to shape your visitors’ experiences and brush up on your digital marketing terminology in Kentico LexiK.
Data protection and cookies prerequisites
Create cookie configuration pages with detailed consent levels, design simple cookie banners, and use identity collectors, data collectors, and data erasers to manage visitor information and ensure GDPR compliance efficiently within your Xperience platform.
Data protection and cookies prerequisites
- CNIL: GDPR guide for developers – An overview of GDPR best practices prepared by the French Commission Nationale Informatique & Libertés (CNIL) to assist web and application developers in making their work GDPR-compliant.
- Working with SameSite cookies in .NET Core – See an overview of SameSite cookies to protect your application against CSRF attacks in Microsoft documentation.
Data protection resources in Xperience
- Data protection – Implement cookie consent banners, data collectors, and GDPR-compliant erasure workflows through a dedicated series of guides.
11.1 Activity tracking
Implement advanced visitor tracking to Xperience by Kentico, including standard activity tracking, custom activity logging, and consent-driven form displays, how to use contacts for detailed behavior analysis across channels, and how to implement both website-based and headless tracking to monitor activities from a centralized hub for diverse content channels.
- Activities and digital marketing – Track standard and custom visitor activities, and work through digital marketing scenarios in a dedicated guide series.
- Contact configuration – Understand how Xperience models contacts and what data is captured for each one.
- Activity tracking in headless channels – Track visitors as contacts and log their activities from Xperience headless channels.
11.2 Content personalization
Alow editors to personalize content in Xperience by Kentico, including enhancing Page Builder widgets with dynamic changes based on user interactions and integrating personalization into your project’s code across components, controllers, views, or other classes.
- Content personalization – Compare the available approaches for personalizing content for visitors based on their behavior and preferences.
- Develop personalization condition types – Build custom personalization condition types that marketers can apply to Page Builder widgets.
11.3 Email marketing
Set up and manage email channels in Xperience, create and customize email templates to enhance your digital marketing strategies, and explore advanced email customization techniques, including tracking setups, autoresponders, and custom workflow notifications to automate communication effectively.
Emails prerequisites
If you are primarily a backend developer and interested in email development, these resources will help you get started with HTML emails, understand the MJML language for responsive design, and learn to render Razor views to strings in .NET Core for sending various types of emails.
- Get started with HTML emails – List of resources to start with developing HTML emails.
- MJML Guides – Learn about the MJML markup language designed to code responsive emails.
- Understand emails – Go through an overview of different types of emails and email metrics in Xperience.
Sending emails from Xperience using code
- Back to Basics: Rendering Razor Views to String in .NET Core – Refresh the techniques you can use to send custom email confirmations and account verifications, status updates, or scheduler notifications.
Emails resources
- Email channel management – Configure the email channels your marketing team will use to send and manage campaigns.
- Email Builder – Empower marketers and developers with flexible, maintainable email templates, widgets, and sections.
- Email templates – Create and manage reusable email templates in Xperience.
- Set up email tracking – See how to enhance emails that allow marketers to track sent emails and monitor recipients’ interactions.
- Log email activities – Implement GDPR-compliant activity logging for email interactions.
- Email customizations – Customize Xperience’s email-sending pipeline, such as headers, providers, and sending behavior.
- Programmatically sending templated emails with dynamic data – Build templated emails with dynamic data that the system sends automatically when events occur.
- Custom form autoresponder emails – Send autoresponder emails automatically when visitors submit a form in code.
- Custom Autoresponder Emails with Razor Components – Build fully customizable form submission autoresponders using Razor components.
- Set up custom workflow notifications – Trigger email notifications when content moves through workflow steps.
12. Advanced: Commerce
Explore implementation patterns for commerce in Xperience by Kentico, from product catalog design to synchronized Content hub integration. Implement core commerce features: track inventory, set pricing, process checkout, handle payments, manage shipping, run promotions, and manage orders.
- Commerce architecture – Understand five core areas that create the full commerce lifecycle.
- Commerce setup – Enable commerce in you Xperience project.
- Model commerce projects – Design a full commerce content architecture in Xperience.
- Create product page wrappers – Build a handler that automatically manages product page wrappers for reusable products stored in the Content hub.
- Implement product display patterns – Use agentic AI coding assistants to display commerce content in widgets.
- Implement faceted filtering for product catalog – Extend a product listing widget with faceted filtering.
- Model product stock – Manage product quantities in a custom module.
- Checkout process – Implement a checkout process that fits your Xperience project.
- Create orders – Use the built-in service to create orders, including order statuses.
- Price calculation – Build logic that calculates prices.
- Understand promotions – Explore promotion types customers can apply during checkout.
- Shipping and payment methods – Extend existing system objects so editors can manage shipping and payment methods.
- Custom email notifications for commerce – Use commerce context in emails.
13. Advanced: Working with Xperience API
This section contains a list of important documentation pages that cover advanced topics for developing sites in Xperience by Kentico. You’ll learn about available APIs and macro syntax you can use to manipulate Xperience objects.
- Use the Xperience by Kentico API externally – Configure an external .NET application to connect to and use the Xperience API.
- Xperience by Kentico API Examples – See the API examples documentation to learn the basics of the Xperience by Kentico API, and it serves as a library of code snippets.
- Import objects with API – See how you can bulk-import contacts into Xperience.
- Content item API – Explore the API methods available for creating, reading, updating, and deleting content items.
- ObjectQuery API – Use the ObjectQuery API to query Xperience data through an abstraction layer over the SQL database.
- Database table API – Manage data in custom Xperience database tables using the dedicated table API.
- Files API and CMS.IO – Use the CMS.IO namespace to work with physical file storage independently of the underlying storage provider.
- Macro expressions – Work with Xperience macro expressions and understand the considerations for developing and deploying code that uses them.
14. Integrations and migrations
Enhance Xperience by Kentico with third-party integrations, including external authentication and search features using Algolia, Lucene, and Azure AI Search, and how to upgrade from Kentico 13 to Xperience by Kentico.
- Choose the right tools for your integration – Identify the right integration entry point for your use case — events, APIs, custom providers, or external connectors.
- Xperience third-party integrations – Browse the available third-party integrations for Xperience.
Search
- Xperience by Kentico Algolia – Index Xperience website channel content in Algolia using a code-first approach.
- Xperience by Kentico Azure AI Search – Create Azure AI Search indexes for Xperience content tree pages using a code-first approach.
- Xperience by Kentico Lucene – Add application-local full-text search to Xperience using Lucene.NET, with code-defined indexes and automatic content indexing.
Upgrading to Xperience by Kentico
- Upgrade from Kentico Xperience 13 – Understand what the upgrade from Kentico Xperience 13 to Xperience by Kentico involves, including a capability comparison between the two platforms.
- Walk through the upgrade step-by-step – Follow a practical walkthrough that guides you through preparing your environment, using the Kentico Migration Tool, and completing the upgrade process.
- Upgrade deep dives for developers – Explore advanced technical scenarios and use cases to familiarize yourself with the available tools and handle complex upgrade situations.
- Advanced approaches to migrating widgets – Master widget migration techniques, from migrating widget data as reusable content to transforming properties and converting child pages.
Keep advancing your skills in Xperience by Kentico
Congratulations on completing these resources to improve your understanding of Xperience by Kentico.
Continue with the Community Portal and Resource hub to deepen your skills. After completing a few real projects, consider the Certified developer exam and share your experience with the community.
The sky is the limit!