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 media files, email templates, 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 Xperience 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.

Versioning live site code and objects

Many of the object types that support versioning are only used when extending and developing the administration interface (web parts, transformations, etc.).

Live site 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 Xperience object versioning feature for objects managed in the administration interface.

Object type

Editing interface

Alternative forms

  • 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

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

  • Administration interface -> Page templates -> select a template
  • 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

Transformations

  • Page types -> edit a page type -> Transformations -> edit a transformation

UI elements

  • Modules -> edit a custom module -> User interface -> select a UI element in the tree

Web part layouts **

  • Administration interface -> Web parts -> select a web part -> Layout -> edit a layout
  • Administration interface -> Page Templates -> Design -> Configure a web part -> Layout

Workflows

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

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.

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