---
title: Synchronizing the content
related:
  - https://docs.kentico.com/k82/deploying-websites/content-staging/automatic-content-synchronization.md
  - https://docs.kentico.com/k82/custom-development/handling-global-events/excluding-content-from-staging-and-integration.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Once you [configure content staging](https://docs.kentico.com/k82/deploying-websites/content-staging/configuring-content-staging.md), the system tracks all changes made to pages and objects. You can view the synchronization tasks representing the changes in the **Staging** application.

> **Note:** Before you synchronize content between two servers, we recommend setting the same **Code name** for the source and target sites. To change the value, open the **Sites** application and **Edit** () the appropriate sites.

The interface for viewing changes and performing synchronization is divided into the following tabs:

## All tasks tab

On the **All tasks** tab, you can see a list of all staging tasks, i.e. all changes made to the system that can be synchronized on the target server.

Using the **Server** drop-down, you can choose the target server that you want to synchronize. By choosing **(all)**, you perform synchronization for all available target servers. Then you can perform one of the following actions using the buttons below the list.

- **Synchronize selected** - performs synchronization for all selected tasks on the target server.
- **Synchronize all** - performs synchronization for all listed tasks on the target server. If you made any changes to content on the target server in the meantime, these changes will be overwritten.
- **Delete selected** - deletes all selected tasks for the target server.
- **Delete all** - deletes all listed tasks on the target server.

You can also perform the following actions separately with specific staging tasks:

- **&#xA0;View** - opens a new window with detailed information about the staging task.
- **&#xA0;Synchronize** - performs the synchronization task on the target server.
- **&#xA0;Delete** - deletes the synchronization task from the list.

![Synchronizing content - all staging tasks](https://docs.kentico.com/docsassets/k82/synchronizing-the-content/Staging_All_Tasks.png "Synchronizing content - all staging tasks")

## Pages tab

On the **Pages** tab, you can see logged changes made to the website's pages. By clicking the website root in the content tree, you can view a list of all changes (synchronization tasks) made to all the pages on your site. Click individual pages to view only the changes made to the selected page and its descendants (subtree).

The following types of tasks are logged for pages. You can see the type in the **Task type** column:

- **&#x20;CREATEDOC** - the page was created.
- **UPDATEDOC** - the page was modified.
- **MOVEDOC** - the page was moved to another location in the content tree.
- **DELETEDOC** - the page was deleted.
- **DELETEALLCULTURES** - all culture versions of the page were deleted.
- **PUBLISHDOC** - the page was published.
- **ARCHIVEDOC** - the page was archived.
- **REJECTDOC** - the page was rejected to the previous workflow step.
- **BREAKACLINHERITANCE** - the page was configured to no longer inherit security settings from its parent.
- **RESTOREACLINHERITANCE** - the page was configured to start inheriting security settings from its parent.

![Synchronizing content - pages](https://docs.kentico.com/docsassets/k82/synchronizing-the-content/Staging_Pages.png "Synchronizing content - pages")

You can perform the same actions as on the **All tasks** tab, as described in the [All tasks tab](#all-tasks-tab) section.

If you wish to synchronize the current state of existing pages to a target server manually, use the buttons above the task list:

- **Synchronize current page** - synchronizes the page currently selected in the tree.
- **Synchronize current subtree** - synchronizes the selected page and all descendants in the subtree.
- **Run complete synchronization** - synchronizes the site's entire content tree.

The buttons do not automatically ensure full synchronization of the content tree. Manual synchronization first creates update tasks for the selected pages and then automatically synchronizes all existing staging tasks for the given website section.

You cannot manually generate synchronization tasks for actions like moving of pages in the content tree, deletion of pages or changes in workflow state (publishing, archiving, rejecting). The system logs such tasks automatically when the corresponding events occur on the site.

## Data tab

On the **Data** tab, you can see the logged changes for the data of [custom tables](https://docs.kentico.com/k82/developing-websites/defining-website-data-structure/custom-tables.md).

The following types of tasks are logged for custom tables data. You can see the type in the **Task type** column:

- **CREATEOBJ** - a new item was added to a table.
- **UPDATEOBJ** - an item in a table was updated.
- **DELETEOBJ** - an item in a table was deleted.

> **Info:** Staging tasks for custom table items are logged based on their _ItemGUID_ columns. Changes made to items that do not have this column (typically custom tables imported from older versions of Kentico) are not logged.
>
> You can edit custom tables in the **Custom tables** application. The application displays a warning message with a link that lets you generate GUIDs for custom tables.

You can perform the same actions as on the **All tasks** tab, as described in the [All tasks tab](#all-tasks-tab) section[.](http://preview/Documentation/devguide/content_staging_synchronizing_the_content.htm#alltasks)

You can also synchronize custom tables manually:

- **Run complete synchronization** - updates all data in all custom tables.
- **Synchronize current subtree** - updates data in the selected custom table.

**Note**: The buttons cannot manually synchronize the deletion of custom table records. The manual synchronization first creates update tasks for all data records in the selected custom tables and then automatically synchronizes all existing staging tasks for the given tables. Deletion only occurs if delete tasks are already logged by the system.

## Objects tab

On the **Objects** tab, you can view logged changes made to objects in the system.

The tree allows you to filter the tasks according to object types. The **Website** category contains object changes related to the currently selected site, and the **Global objects** category contains changes of global objects.

The system logs the following **Task types** for objects:

- **CREATEOBJ** - a new object was created.
- **UPDATEOBJ** - the object was modified.
- **DELETEOBJ** - the object was deleted.
- **ADDTOSITE** - the object was assigned to a site. Applicable only to site-related objects.
- **REMOVEFROMSITE** - the object was removed from a site. Applicable only to site-related objects.

The following types of tasks are logged for folders in media libraries:

- **CREATEFOLDER** - a folder was created.
- **RENAMEFOLDER** - the folder was renamed.
- **COPYFOLDER** - the folder was copied.
- **MOVEFOLDER** - the folder was moved.
- **DELETEFOLDER** - the folder was deleted.
- **DELETEROOTFOLDER** - the root folder of a media library was deleted.

![Synchronizing content - objects](https://docs.kentico.com/docsassets/k82/synchronizing-the-content/Staging_Objects.png "Synchronizing content - objects")

You can perform the same actions as on the **All tasks** tab, as described in the [All tasks tab](#all-tasks-tab) subsection[.](http://preview/Documentation/devguide/content_staging_synchronizing_the_content.htm#alltasks)

When you select an object category, you can click **Synchronize current subtree** to manually synchronize all objects in the given category. The button first creates update tasks for all selected objects and then automatically synchronizes all existing staging tasks for the given objects. You cannot manually generate synchronization tasks for the deletion of objects or for the assignment of objects to sites. The system creates such tasks automatically when the corresponding events occur.

> **Note:** **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](https://docs.kentico.com/k82/managing-users/role-management.md) 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.

> **Info:** **Synchronizing global objects on instances with multiple sites**
>
> Changes made to global objects, such as page types, produce staging tasks for all staging servers on all sites. We recommend synchronizing such changes at the same time on all servers and sites to prevent overwriting of data (you may overwrite newer data by synchronizing old tasks later).
>
> If you run a multi-site instance where you have full control over all sites, you can set up the following scenario:
>
> 1. Define the same set of target servers for each site (in the _Staging_ application):
>    - Each server must have an identical _Code name_ across all sites.
>    - The _Service URLs_ of each site's servers must use the domain names of the matching site on the target instance.
> 2. Add the __ key to the _appSettings_ section of your application's _web.config_ file.
>
> When you now synchronize a staging task representing a global object, the system automatically deletes the task from servers with the same code name on other sites. If you synchronize a global task for all servers, the task is removed completely on the remaining sites.
