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.
Object versioning manages versions of system objects, such as CSS stylesheets, email templates, web part containers, etc. If you are looking for versioning of content (pages), refer to the Configuring and using page versioning chapter.
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.
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 |
|
Automation processes |
|
CSS stylesheets |
|
Custom table definitions |
|
Page type definitions |
|
Email templates |
|
Form definitions |
|
Media files |
|
Marketing emails |
|
Marketing email templates |
|
Email widgets |
|
Page layouts * |
|
Page templates |
|
Queries ** |
|
Report graphs |
|
Report tables |
|
Report values |
|
Report definitions |
|
Transformations |
|
UI elements |
|
Web part containers |
|
Web part layouts ** |
|
Workflows |
|
* 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. |
Settings
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.
- Open the Settings application.
- Select the Versioning & synchronization -> Object versioning category.
- Configure the available settings.
- Click Save.