---
title: Use the built-in admin UI form components
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

### Use the built-in admin UI form components

Xperience provides different form components for content types that editors will use to input their data. Other form components may also have additional configuration options.

For example, the _Long text_ data type comes with different text-based form components, such as the _Text input_, _Password_, _URL_, or _Text area_.  You can use the _Rich text (HTML)_ data type with the _Rich text editor_ form component for rich text.

![Configuring an editing component for a text field](https://docs.kentico.com/docsassets/modules/use-the-built-in-admin-ui-form-components/cm-guide-long-text-config.png "Configuring an editing component for a text field")

Form components also come with various configuration options that provide different editing experiences. Developers can, for example, configure the _Rich text_ form component as _Structured content_, _Email content_, or _Contact notes_. Developers can also customize their configuration. The following image shows Kbank's  _Rich text editor_ configuration options; the last _News page editor configuration_ is custom.

![Additional field configuration options](https://docs.kentico.com/docsassets/modules/use-the-built-in-admin-ui-form-components/cm-guide-content-types-configuration-rich-text-editor.png "Additional field configuration options")

Find out more about available [Admin UI form components](https://docs.kentico.com/documentation/developers-and-admins/customization/extend-the-administration-interface/ui-form-components/reference-admin-ui-form-components.md) and the [React input type components](https://docs.kentico.com/documentation/developers-and-admins/customization/extend-the-administration-interface/ui-form-components/reference-react-input-components.md) in the documentation.

### Simplify structured content with custom data types

The out-of-the-box [data types](https://docs.kentico.com/documentation/developers-and-admins/customization/field-editor/data-types.md) and [UI form components](https://docs.kentico.com/documentation/developers-and-admins/customization/extend-the-administration-interface/ui-form-components.md) that you use to define editing experience represent the most common types that fit most projects. During content modeling sessions, you may realize you might need to standardize some complex content object, like multiple addresses or office hours, into a predictable structure to improve the editing experience and help with data format predictability to match the unique project's needs.

Instead of forcing every piece of structured content to live as its own content item (or even a granular content item composed of other, smaller content items) in the _Content hub_, you can use [custom data types](https://docs.kentico.com/documentation/developers-and-admins/customization/field-editor/add-custom-data-types.md) to model content that should belong to a parent item without cluttering your reusable content library. This is especially useful for structured content critical for presentation and governance, but it doesn't make sense to manage it as standalone, reusable content items.

_Custom data types_ mean your content can remain structured, semantically meaningful, and repeatable while avoiding the limitations of hard-coded field sets in your content type. Editors can add, remove, and reorder structured entries (like multiple addresses for a business) without leaving empty fields or copy-pasting data they need to rearrange the content. This provides a smoother, frustration-free editing experience and enables developers to control presentation and validation for each piece of structured content.

See an example of an [address custom data type](https://community.kentico.com/blog/embedded-structured-content-and-the-power-of-custom-data-types) or [UTM parameters](https://github.com/Kentico/community-portal/blob/main/src/Kentico.Community.Portal.Admin/Client/src/features/utm-parameters/UTMParametersDataTypeFormComponent.tsx) in the [Kentico Community Portal](https://community.kentico.com/).

### Leverage linked content items

Xperience allows editors to compose their content items by combining data stored in several other content items.

Let's examine the _Product_ content type discussed on the previous page.  Highlighted fields store the actual data inputs, while the light violet fields reference other content types that hold the values.

![Content model diagram](https://docs.kentico.com/docsassets/modules/use-the-built-in-admin-ui-form-components/cm-guide-product-content-model-diagram.png "Content model diagram")

You can see that the _Product_ type contains fields like _Product features_, _Product benefits_, or _Product image_. Sure, you can create two more fields and store the values of product benefits and their icons within the _Product_. At the same time, why would you?

In real life, if we take the Kbank demo site example, more than one product will offer the same benefits, such as _included internet banking_, _getting a quick decision_, or _fast access to funds_.

![Kbank demo site example](https://docs.kentico.com/docsassets/modules/use-the-built-in-admin-ui-form-components/kbank-demo-banner-example.png "Kbank demo site example")

Storing the information about benefits within the individual _product_ content item restricts access to this data only within the context of this one (and only one) product item itself. If another product allows for _fast access to funds_, editors need to duplicate the same wording and decorate it with the same icon in another product item. Duplicating the same content often leads to content management nightmares.

> **Tip:** The benefits of creating composable content types that store only references:
>
> - Help with content curation.
> - Prevent editors from duplicating the same content.
> - Improve content management and long-term content curation.
> - Lead to quick content composition.

When defining the content model, discuss which types can be reused and create them accordingly. Editors will use the **Content item** data type with the **Combined content selector** form component to refer to the relevant data. At the same time, developers will retrieve the [linked items](https://docs.kentico.com/documentation/developers-and-admins/development/content-retrieval.md) and display them accordingly.

Developers also [limit](https://docs.kentico.com/documentation/developers-and-admins/development/content-types.md#add-the-option-to-link-content-items) which content types editors can select when creating their content. The _Combined content selector_ allows developers to specify which content types editors select.

When an editor selects content items they want to use, rather than copying the values from the original item to the new item, Xperience creates a reference between these records.

Reusing content items improves content maintenance. When an editor updates the referenced item, the content changes are automatically promoted to every other item that uses this content, making content management a breeze. From the developer's perspective, developers query the linked items in their custom code and return [a collection](https://docs.kentico.com/documentation/developers-and-admins/development/content-retrieval/retrieve-content-items.md) of [references to content items](https://docs.kentico.com/documentation/developers-and-admins/api/content-item-api/content-item-database-structure.md) they can further process. For example, they can retrieve URLs of web pages to which editors want to guide their audience.

One of the most typical examples of reusable content types is a content item [assets](https://docs.kentico.com/guides/architecture/content-modeling/content-modeling-guide/store-files.md) that users store in the _Content hub_. See further examples mentioned in this material on the Kbank demo site.
