Working with object versioning

When using object versioning, the system creates and stores separate versions of objects when they are edited and saved. This allows you to compare versions or roll back objects to previous versions.

Note: The object versioning functionality by itself is not a guaranteed solution for reviewing and auditing of changes made by individual users. In scenarios where multiple users concurrently edit the same object, the version history may not be completely accurate. To ensure precise version history in these scenarios, you additionally need to enable Object locking and avoid sharing of user accounts.

Supported object types

In the following table, you can find all object types that support object versioning. In the Editing interface column, you can find the exact location within the Kentico administration interface where you can edit objects of the given type. If versioning is enabled for a particular object type, the Versions tab appears in the interface, where you can view and manage the edited object's versions.

On this page

In this section

Object versioning on MVC sites

Object versioning is supported when using the MVC development model. However, many of the related object types are only used during Portal Engine development (web parts, transformations, CSS stylesheets, etc.).

MVC development scenarios instead utilize a larger number of code files in the MVC project, such as page views, CSS files or page builder components. You can version such code files using a standard source control system (Team Foundation Server, Git, etc.), and combine it with the Kentico object versioning feature for objects managed in the administration interface.

Object type

Editing interface

Alternative forms

  • Forms -> edit a form -> Alternative forms -> edit an alternative form
  • Page types -> edit a page type -> Alternative forms -> edit an alternative form
  • Custom tables -> edit a custom table -> Alternative forms -> edit an alternative form
Automation processes
  • Marketing automation -> Processes -> edit a process

CSS stylesheets

  • Pages -> Properties -> General -> click Edit
  • CSS stylesheets -> edit a stylesheet
  • other interfaces containing the stylesheet selector (e.g. when editing a site, department, etc.)

Custom table definitions

  • Custom tables -> edit a table

Page type definitions

  • Page types -> edit a page type

Email templates

  • Email templates -> edit a template

Form definitions

  • Forms -> edit a form

Media files

  • Media libraries -> edit a library -> select a file

Marketing emails

  • Email marketing -> edit an email feed -> Emails -> edit an email

Marketing email templates

  • Email marketing -> Email templates -> edit an email template
Email widgets
  • Email marketing -> Email widgets -> edit an email widget

Page layouts *

  • Page layouts -> edit a layout

Page templates

  • Page templates -> select a template
  • Pages -> Design -> Open the page template menu () -> hover over Edit template -> Template versions
  • other interfaces that allow editing of page templates

Queries **

  • Page types -> edit a page type -> Queries -> edit a query
  • Custom tables -> edit a table -> Queries -> edit edit a query
  • web part properties dialogs of web parts that have query properties

Report graphs

  • Reporting -> select a report -> General -> select a graph and click Edit

Report tables

  • Reporting -> select a report -> General -> select a table and click Edit

Report values

  • Reporting -> select a report -> General -> select a value and click Edit

Report definitions

  • Reporting -> select a report


  • Page types -> edit a page type -> Transformations -> edit a transformation
  • Custom tables -> edit a table -> Transformations -> edit a transformation
  • web part properties dialogs of web parts that have transformation properties
UI elements
  • Modules -> edit a custom module -> User interface -> select a UI element in the tree

Web part containers

  • Web part containers -> edit a container

Web part layouts **

  • Web parts -> select a web part -> Layout -> edit a layout
  • Pages -> Design -> Configure a web part -> Layout
  • Workflows -> edit a workflow

* Only shared page layouts are versioned – custom layouts are versioned as part of the data of the parent page template.

** Only custom queries and web part layouts are versioned – system queries and default web part layouts are not versioned.


Even though object versioning is enabled and functional by default, we recommend configuring the related settings for your system. For example, you can allow versioning of different object types, or configure the version history length.

  1. Open the Settings application.
  2. Select the Versioning & synchronization -> Object versioning category.
  3. Configure the available settings.
  4. Click Save.