Content staging

Staging allows you to easily transfer changes made to pages or objects in a Kentico instance on one server to a different instance on another server. You can also perform complete synchronization of all pages and objects. All connected instances must use the same version of Kentico. Staging is particularly useful if you need to synchronize multiple environments during development, for example:

Development -> Testing -> Editing (staging) -> Live (production)

All pages stored in the content tree of websites can be synchronized. However, not all objects in Kentico support synchronization. Make sure you read through the What can be synchronized section for more information.

Setting up staging

Configuring content staging - to allow synchronization, you need to configure the Kentico instances that you wish to connect.

Bi-directional content staging - explains how to configure servers to be both target and source servers at the same time. Allows transferring of changes in both directions.

Using X.509 authentication - learn how to install your own X.509 certificates or how to use our sample certificates for the X.509 type of staging service authentication.

Staging large files - Kentico supports staging of physical files stored as Page attachments and in Media libraries. Learn how to set the maximum size of synchronized files.

Content staging security - learn about the permissions that roles need to perform synchronization actions.

Troubleshooting staging - check for solutions to problems that can occur when using staging.

Synchronization

Synchronizing the content - explains how to transfer synchronization tasks to other servers.

Automatic content synchronization - set up the system to perform synchronization automatically.

Other

Exporting and importing sites - you can also manually transfer your content to other instances of Kentico using the export and import features.

What can be synchronized

Content staging supports synchronization of the following data:

  • Page data - pages in the website content tree.
    • Pages need to be on the same place in the content tree on both the source and target servers.
    • Timeout defined for pages that are part of a workflow is not synchronized for consistency reasons.
  • Page file attachments - if a page contains attachments or file fields, the files are synchronized together with the page.
  • Page relationships - relationships between pages are synchronized if the relationship type and both pages exist on the target server. Synchronization is NOT supported for relationships between pages on different sites.
  • Workflow process - only published page versions are synchronized to the target server and both servers need to have the same workflow schemas defined.
  • Custom tablesand their data.
  • Media librariesand the files and folders in them.
  • ACLs (page-level permissions)
  • Global objects - all global objects with the exceptions listed below.

Content staging does not support synchronization of the following data:

Warning

When you stage an object, the synchronization also includes all child objects and bindings (relationships with other objects) in most cases. To avoid potential problems, we strongly recommend having mirrored content and consistent objects on all staging environments whenever possible.

For example: A role is not assigned to any users in the development environment, but to 100 users on the target production server. If you synchronize the role object through staging, the users are removed from the role on the target server.

Staging and ID values

Content staging cannot ensure that objects and pages have the same ID values after being transferred to a different environment. However, the synchronization process preserves GUID values. Use GUID fields if you need to identify pages or objects across multiple staging environments.