AI agents: the content index is at /llms.txt. Every page is also available as Markdown — send the request header Accept: text/markdown, or append .md to the page URL.
Xperience Docs

Cookie consent

We use necessary cookies (opens in a new tab) to run our website and improve your experience while browsing. Additional cookies are only used with your consent. You may revoke your consent on the Cookies Policy (opens in a new tab) page or in your browser at any time.

Configure (opens in a new tab)
  • Documentation
    Administration interface basicsDevelopers and adminsBusiness usersChangelogGlossary
  • Guides
    Welcome to Xperience by KenticoAdministration interface basicsCustomer journeysDigital marketingConfigurationDevelopmentArchitectureUpgrade to Xperience by Kentico
  • Training
    For AdminsFor Business usersFor DevelopersFor Solution architects
  • API Examples
    ConfigurationContent managementDevelopmentDigital marketing
  • Changelog
    Documentation updatesSecurity advisories
  • Community Questions & Answers (opens in a new tab)
  • Contact support (opens in a new tab)
  1. Home
  2. Developers and admins
  3. Customization
  4. Extend the administration interface
  5. UI pages
  6. UI application pages

UI application pages


Was this page helpful?

Send us feedback Go back to top

UI application pages are UI pages that encapsulate a UI page hierarchy with specific functionality under an application.

Every application in the admin UI is contained within an application page that serves as the app's entry point and the root for its UI page subtree.

Application pages:

  • must inherit from the ApplicationPage base class
  • be assigned to a category
  • be registered using the UIApplication attribute
  • have their permissions defined

Create UI application pages

UI application pages must inherit from the ApplicationPage base class.

C#Create new UI application pages
using Kentico.Xperience.Admin.Base;

public class CustomApplication : ApplicationPage
{
    // Unique identifier of the application
    public const string IDENTIFIER = "Acme.CustomApplication";
}

Application pages don't need to display any content or visuals. The ApplicationPage base class ensures all requests targeting the page get redirected to their first registered child page.

UI application categories

Each application page must be assigned to an application category during registration. Moreover, the categories themselves need to be registered.

Register new categories via the UIApplication assembly attribute:

C#Registering a custom application category
using Kentico.Xperience.Admin.Base;

[assembly: UICategory(
    codeName: "category.code.name",
    name: "Category name", 
    icon: Icons.Cogwheel, 
    order: 100)]

When registering new application pages, you can assign them to one of the predefined system categories – visible in the left-hand vertical menu in the admin UI – or create a custom category. Application pages are assigned to categories via the category code name.

Predefined categories

The code names of default system categories are stored as constants in:

  • Kentico.Xperience.Admin.Base.UIPages.BaseApplicationCategories
  • Kentico.Xperience.Admin.DigitalMarketing.UIPages.DigitalMarketingApplicationCategories
  • Kentico.Xperience.Admin.Content.UIPages.ContentApplicationCategories

Register UI application pages

To register application pages into the system, use the UIApplication assembly attribute. Supply the following parameters:

  • identifier – a unique identifier string for the application. Used in the data stored when assigning permission sets for the application to roles.
  • type – the type implementing the page (inheriting from ApplicationPage).
  • slug – the URL segment under which the application is available. Applications are always accessible directly under the admin UI's root: <domain>/admin/<UIApplicationSlug>
  • name – the name of the application page.
  • category – the category to which the application is assigned.
  • icon – the icon displayed for the application in the administration application menu and dashboard. Use icons from the set of icons starting with the xp- prefix, referenced by the constants in the Kentico.Xperience.Admin.Base.Icons class.
  • templateName – the name of the client template used by the page. Application pages should use the SECTION_LAYOUT client template to display a navigation menu for their child pages.
C#UI application page registration
using Kentico.Xperience.Admin.Base;  

[assembly: UIApplication(
    identifier: CustomApplication.IDENTIFIER, 
    type: typeof(CustomApplication), 
    slug: "my-application",
    name: "Custom admin UI app", 
    category: BaseApplicationCategories.DEVELOPMENT,
    icon: Icons.Cogwheel, 
    templateName: TemplateNames.SECTION_LAYOUT)]

Assign permissions to UI application pages

To define the set of UI permissions available to and evaluated by the given application, see UI page permission checks.

On this page

  • Create UI application pages
  • UI application categories
  • Register UI application pages
  • Assign permissions to UI application pages

Related pages

  • UI pages