Developer learning map

Welcome to the Developer Learning Map for Xperience by Kentico. This curated collection of training materials, documentation articles, and additional resources is structured to guide you through the sequential learning process tailored for developers.

We have put together this collection for developers working with Kentico 12 or Kentico 13 and those new to the Kentico community. These guides are organized in a recommended order to help you navigate different materials. If you are new to certain aspects of .NET framework or specific parts of Xperience by Kentico development, you will find links to resources that will prepare you before you dive into more detailed Kentico-specific information.

Are you a visual learner? You can find the same resources organized into a roadmap.

1. Xperience development basics

You’ll learn the basics of application and development setup, how to leverage CI/CD processes to enhance solutions’ scalability and robustness, and how the channels work. Xperience by Kentico does not use Entity Framework but its own API layer for efficient content handling.

Development basics prerequisites

Before you start with Xperience development basics, ensure that you understand the basics of .NET 8 and develop applications with the MVC pattern. If you are new to the .NET framework, you might find the following resources helpful. (Kentico did not create these resources, and payment might be required to access them.)

Kentico-specific getting started resources

  1. What is Xperience by Kentico – Learn about the next-gen DXP developed by Kentico Software.
  2. Xperience by Kentico development basics – Get a basic of the Xperience environment and the responsibilities of individual roles that interact with the system.
  3. Install Xperience by Kentico – See a brief Xperience Dancing Goat sample site installation walkthrough.
  4. Xperience developer tutorial – Learn how to set up the environment for development, create pages that hold data, display the content on the live site using the Model-View-Controller design pattern, and prepare the page builder feature to allow dynamic modification of page content.
  5. Deploy Xperience websites – See the deployment options for Xperience projects.

2. Xperience content modeling

Content modeling is crucial for structuring and managing digital content effectively. In this section, you’ll learn the best practices for creating optimal content models for Xperience by Kentico projects.

Content modeling prerequisites

You might find the following resources helpful if you are new to content modeling and designing applications’ information architectures. (These resources were not developed by Kentico and might not reflect Kentico recommended practices for Xperience by Kentico projects.)

  • Kontent: Content modeling overview – Learn introduction to content modeling from an excellent series created by the Kontent.ai documentation team.
  • Schema.org – See the community-driven project to create 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.

Kentico-specific content modeling resources

  1. Content modeling guide – Learn what content modeling is, how to tie the content model to your marketing goals in Xperience by Kentico applications, and general content modeling recommendations.
  2. Model reusable content – Discover techniques for modeling reusable structured content, such as articles or products, and enable your team to manage and repurpose your content across your digital marketing channel.
  3. Model website content types – See how to tailor content types to the website’s requirements, such as articles and navigation elements, to foster uniformity and clarity across your entire digital ecosystem.
  4. Differences between Page Builder content and structured content – Find out more about the different approaches to content in Xperience website channels.
  5. Model website presentation components – Learn how to structure key website presentation components like widgets, page templates, or sections that help editors create a unified visual design while giving them the flexibility to achieve their marketing goals.
  6. How to safely evolve a content model – see how developers can manage an evolving solution that will inevitably have breaking changes while maintaining business continuity.

3. Xperience advanced content presentation

In this section, you will learn options to retrieve and present content using advanced techniques with Xperience Builders, including how to use the Page Builder, define editable areas, and create dynamic components for different marketing channels.

Advanced content presentation prerequisites

If you are new to .NET, these resources will help you understand ViewComponents, use Tag Helpers to render HTML, and manage views for data presentation in ASP.NET Core.

Multilingual ASP.NET applications

Headless applications

  • Learn GraphQL – Learn about GraphQL that Xperience used to retrieve content in Xperience headless channels.

Kentico-specific advanced content presentation resources

  1. Page Builder – Go through a comprehensive guide that provides step-by-step instructions on implementing and optimizing Xperience using Kentico Page Builder components.
  2. Form Builder – Read how to enable marketers to create dynamic forms using the built-in Xperience in Xperience by Kentico documentation.
  3. Reference - Tag Helpers – See how to add tag helpers to views in Xperience by Kentico applications.
  4. Defining Editable Area Restrictions – Learn how to limit the options available to marketers in the Page Builder to specific combinations that work best together.
  5. Configuring Rich text editor – See how you can customize the built-in editor by changing its configuration (e.g., the set of available formatting options) or by adding custom plugins that extend its available feature set.
  6. Taxonomies in Xperience applications – Learn how to leverage taxonomy tags to fetch and display related content in Xperience by Kentico documentation.
  7. Creating a video embed widget with visibility conditions – See how you can use multiple visibility conditions in the properties of page builder and form builder components on a custom Video widget.
  8. Multilingual – Learn how to localize Xperience applications and manage URLs for multilingual pages while implementing a user-friendly language selector.
  9. Retrieve content from media libraries – See how to retrieve different types of files from media libraries in Xperience by Kentico documentation.
  10. Retrieving headless content – Learn how to retrieve headless content in the JSON data format through the GraphQL API endpoint.

4. Xperience configurations

You’ll learn how to configure the foundational settings of Xperience by Kentico to optimize your development environment. You’ll explore configurations for essential components like the event log, Content Hub, media library, and rich text editor, ensuring you can tailor these elements to meet your project’s needs. You’ll also learn more about available system settings and configuration keys for precise control over your application’s functionality.

Kentico-specific configuration resources

  1. Digital marketing channels in Xperience – Learn how Xperience understands digital channels, especially what the website channels are and how they fit into the digital experience you can build with Xperience by Kentico DXP.
  2. Settings – See the different settings you can use in the administration to configure system features in Xperience by Kentico documentation.
  3. Content hub configuration – Learn about the different configuration options you can use to customize your project in Xperience by Kentico documentation.
  4. Website channel management – See how to configure websites in Xperience by Kentico documentation.
  5. Headless channel management – Learn how to configure Xperience to support delivering content through headless channels, including the content preview.
  6. Media libraries configuration – See how to configure media libraries used to store multimedia files such as photos, pictures, sound files, videos, package files, or documents.
  7. Work with users – Learn about user management in Xperience by Kentico and empower your team with the right roles and permissions for efficient content creation and personalization.
  8. 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.
  9. Reference - Configuration keys – Find out more how to extend settings available in Xperience administration using low-level application settings.

5. Xperience data access techniques

In this section, you’ll learn how to 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.

Kentico-specific resources about data access techniques

  1. Use abstraction and enterprise-level architecture in Xperience projects – Learn about the benefits of abstraction in enterprise projects and the advantages of layering for code maintenance. See examples of displaying content with clean architecture in Xperience by Kentico.
  2. Guide to Repository pattern with a Generic Type in Xperience by Kentico – Go through a step-by-step process of creating repositories that retrieve data from the Xperience by Kentico database.

6. Xperience caching, testing, and optimization

In this section, you’ll learn how to 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 ASP.NET Core and Visual Studio, and learn about different testing methods to validate your code.

Kentico-specific caching, testing, and optimization resources

  1. Caching – Learn about the built-in caching mechanisms to improve performance and content delivery.
  2. Event log – See how you can view logged information about system-level events in the documentation article.
  3. 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.
  4. Diagnose Page Builder template – Learn about different template configuration errors and how to solve them.

7. Xperience user management, membership, registration, and authentication

In this section, you’ll learn how to 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 ASP.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.

Kentico-specific registration and authentication resources

  • Users – Learn about managing users and roles and enabling registration and authentication user and role management in the Xperience by Kentico documentation.
  • Reference - Xperience Portal user roles – Find out about the different users and roles to access the Xperience Portal administration and read through a detailed reference that explains the Xperience Portal’s roles and privileges.
  • Developing registration and authentication – Learn how to implement different registration and authentication mechanisms in Xperience by Kentico documentation.
  • Members – Learn about the members, who are visitors registered on the website who can browse the website, access secured content but don’t have access to the administration UI.
  • Add fields to member objects – See how you can extend the default field set of your member objects.

8. Xperience deployment

In this section, you’ll learn about Xperience by Kentico’s hosting options, ranging from self-managed setups 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 ASP.NET Core applications, using the Azure App Service, understanding deployment best practices, or leveraging Azure Pipelines for efficient CI/CD workflows.

Kentico-specific deployment resources

  1. 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 Xperience by Kentico documentation.
  2. Manage SaaS deployments – Learn how to work with Xperience Portal to manage and debug different environments, monitor the uptime of application deployments, or evaluate the performance of your projects in Xperience by Kentico documentation.
  3. Deploy self-managed projects – See how to you can run Xperience on dedicated or virtual servers or manage your hosting on the Microsoft Azure in Xperience by Kentico documentation.
  4. 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.
  5. Auto-scaling support in Xperience – Learn about the built-in support for autoscaling you can use to distribute computing among multiple applications or increase availability in Xperience by Kentico documentation.
  6. Xperience by Kentico CI/CD developer scenarios – Get inspiration from various scenarios for managing and deploying code using Continuous Deployment, and other Xperience features.

9. Xperience maintenance, hotfixing, and upgrades

In this section, you’ll learn how to 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.

Kentico-specific maintenance resources

  1. Maintaining Xperience application – Learn about different maintenance scenarios in Kentico Advantage.
  2. Update Xperience by Kentico projects – See the documentation for an overview of recommended approaches to updating Xperience by Kentico projects.
  3. Changelog – Get familiar with the Xperience changelog.
  4. Keeping your Xperience by Kentico project up-to-date using Dependabot – Learn from Liam Goldfinch, Kentico MVP, how to use Dependabot to regularly scan your project to identify vulnerabilities, outdated packages, or even raise pull requests.

10. Xperience administration customizations

In this section, you’ll learn about creating custom and extending existing modules in Xperience, such as building a website settings module, adding fields to the Contact profile or customizing system providers.

Administration customization prerequisites

If you are primarily a back-end developer tasked with expanding Xperience administration 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.

Kentico-specific customization resources

Custom module

  1. Create a basic module in Xperience – Follow a series of guides that show you how to implement a module that holds custom settings.
  2. Add a custom field to the Contact profile – See how to extend the contact profile to allow marketers to track custom domain-specific data about visitors.

Extending UI pages

  1. Extend the administration interface – See how to extend the existing Xperience UI in the documentation.
  2. Integrate custom code – Learn the recommended approach to adding custom code into your project.
  3. Administration interface UI tests – Learn about the recommended practices for testing custom UI code created to extend Xperience administration.

Extend default functionality

  1. Extending Xperience by Kentico Administration UI Pages – Learn how to extend the existing UI pages to display the required information.
  2. Extending Xperience by Kentico Administration UI Pages #2 - Enhanced System Overview – See how you can extend the Xperience administration UI to help developers track deployments in multiple environments.
  3. Handle global events – Learn about the different options you can use to execute custom code whenever specific actions occur within the system.
  4. Excluding Content Items from Continuous Deployment – See the different ways you can use to remove specific object types from continuous deployment.
  5. Customize system providers – Learn about providers in Xperience API that you can use to manipulate objects and perform various actions.

11. Xperience digital marketing

In this section on Kentico’s digital marketing features of Xperience, you’ll learn how to build Xperience by Kentico projects that allow marketers to attract new visitors, promote your 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 possibly extending these features using custom code.

Digital marketing in Xperience

Run digital marketing activities – Learn about several Xperience applications marketers use to shape your visitors’ experiences.

11.1 Data protection and cookies prerequisites

In this section, you’ll learn how to 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

Kentico-specific data protection resources

  1. Data protection – Learn how to implement data protection and the cookie consents in a series of guides.

11.2 Activity tracking

In this section, you’ll learn advanced tracking techniques with 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.

Kentico-specific activity tracking resources

  1. Activities and digital marketing – Learn about standard activity tracking, logging custom activities, and other scenarios in a dedicated series of guides on digital marketing.
  2. Contact configuration – See an overview of what contacts are and how they work in Xperience by Kentico documentation.
  3. Activity tracking in headless channels – Read documentation about how to track visitors as contacts and log their activities in Xperience headless channels.

11.3 Content personalization

In this section, you’ll learn about content personalization in Xperience by Kentico, including enhancing Page Builder widgets with dynamic changes based on user interactions and integrating personalization to your project’s code across components, controllers, views, or other classes.

Kentico-specific content personalization resources

  1. Content personalization – Learn about different approaches to enable marketers to tailor visitor content based on their preferences.
  2. Develop personalization condition types – See how you can create conditions marketers will use to personalize widgets.

11.4 Email markerting

You’ll learn about setting up and managing email channels in Xperience, creating and customizing email templates to enhance your digital marketing strategies, and exploring advanced email customization techniques, including tracking setups, using autoresponders, and integrating custom workflow notifications to automate communication effectively.

Emails prerequisites

If you are primarily a back-end developer and interested in email development, these resources will help you start with HTML emails, understand the MJML language for responsive designs, and learn to render Razor views to strings in ASP.NET Core for sending various types of emails.

Sending emails from Xperience using code

Kentico-specific emails resources

  1. Email channel management – Find out how to configure channels marketers can use to send and administer emails.
  2. Email templates – Learn how to create templates in Xperience by Kentico documentation.
  3. Set up email tracking – See how to enhance emails that allow marketers to track sent emails and monitor recipients’ interactions.
  4. Email customizations – Learn how to customize the default system’s email-sending process.
  5. Programmatically sending templated emails with dynamic data – Learn about building custom templated emails that the system sends based on specific events.
  6. Custom form autoresponder emails – Learn how to send simple autoresponder emails after form submissions.
  7. Custom Autoresponder Emails with Razor Components – See how to create “developer-managed” autoresponder emails that fully customize automatic responses for form submissions.
  8. Set up custom workflow notifications – Follow this guide to set up notifications about workflow steps.

12. 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.

Kentico-specific API resources

  • Use the Xperience by Kentico API externally – See how to configure and external .NET application to work with Xperience API.
  • Xperience by Kentico API Examples – See the API examples documentation to learn the basics of the Xperience by Kentico API, and serves as a library of code snippets.
  • Content item API – Learn about the API available for working with content items.
  • ObjectQuery API – Find out more about the QbjectQuery API that creates an abstraction layer over the SQL database.
  • Database table API – Learn about the API for managing the data stored in database tables.
  • Files API and CMS.IO – Find out more about the CMS.IO namespace that provides an interlayer between the business layer of Xperience and storage used for physical files.
  • Macro expressions – Go through a section of Xperience by Kentico documentation that covers macro expressions and raises different considerations for developing and deploying code containing macros.

13. Xperience integrations and migrations

In this section, you will learn how to improve 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.

Kentico-specific integration resources

  1. Choose the right tools for your integration – Learn the available entry points for integrating Xperience projects with third-party services.
  2. Xperience third-party integrations – See an overview of different third-party integrations in Xperience by Kentico documentation.

Search

  1. Xperience by Kentico Algolia – Learn about the integration you can use to create Algolia search indexes to index content of web pages from an Xperience website channel using a code-first approach.
  2. Xperience by Kentico Azure AI Search – Learn about an integration that allows you to AzureSearch search indexes to index content of pages from the Xperience content tree using a code-first approach.
  3. Xperience by Kentico Lucene – Learn about the integration leveraging the latest 4.8 beta version of Lucene.NET, enabling auto-indexing of content in Xperience based on application-local, code-defined search indexes and search results retrieval.

Migrations

  1. Upgrade from Kentico Xperience 13 – Learn the basic information related to upgrading projects from Kentico Xperience 13 to Xperience by Kentico.
  2. Xperience by Kentico Migration Toolkit – Learn about the tools designed to help teams migrate content from various data sources into Xperience by Kentico solutions.

Keep advancing your skills in Xperience by Kentico

Congratulations on completing these resources to improve your understanding of Xperience by Kentico.

We encourage you to keep exploring and deepening your knowledge to further your developer journey. Remember, every step you take builds more expertise and confidence in using Xperience by Kentico to create exceptional solutions. Follow the Community Portal, find more resources in the Resource hub. If you find a helpful resource that you think we should include into this learning path (or have other feedback), let us know through the feedback form below!

Keep learning and growing as you tackle new challenges! And after you have delivered an Xperience project or two, why not take the Certified developer exam, share your Xperience by Kentico knowledge on a blog , and even become a Kentico MVP.

The sky is the limit!