The Staging module allows you to easily transfer changes made to documents or objects in a Kentico CMS instance on one server to another instance on another server. It is also possible to perform complete synchronization of all documents and objects this way. This is particularly useful if you need to separate website content in development, editing (staging) and live (production) environment.
All documents stored in CMS Desk's content tree can be synchronized using the module. However, not all objects in a Kentico CMS system can be synchronized this way. The What can be synchronized topic gives you an overview of which data can be synchronized using the module.
For the synchronization to be possible, you need to configure Kentico CMS instances on particular servers as described in the Staging configuration topic. Each instance can be configured as a source server or as a target server. Changes from the source server are transferred to the target servers, as depicted in the diagram above. Every site can use different target servers for content staging. You can even synchronize between different sites in the same Kentico CMS instance (in the same database).
It is also possible to have servers configured as both a target and a source server at the same time, so that changes can be transferred in both directions. This possibility and the configuration required for it is described in the Bi-directional staging topic.
Once all instances are configured, you can start synchronizing the changes. All changes are logged as staging tasks in CMS Desk -> Tools -> Staging. The Synchronizing the content topic explains how staging tasks can be transferred to the other servers, as well as all other operations possible in this section of the user interface. Synchronization can also be performed automatically, based on a pre-defined scheduled task named Content synchronization. The Automatic synchronization topic explains this scheduled task can be enabled.
The synchronized data is transferred over a secured web service. Management of content staging tasks and performing of the actual synchronization can be allowed only to certain roles. The Security topic provides more information about permissions that need to be granted to roles in order to perform these actions.
Another way of transferring your content from one Kentico CMS instance to another is to export the data from one instance and import them to another one. The Managing sites -> Export and import chapter of this guide gives you an extensive overview of the built-in export and import functionality.
In the Staging internals and API sub-chapter, you can find information about database tables and classes that are used by the Staging module, as well as several examples of how staging can be performed using Kentico CMS API.