## Introduction

### Goal

Configure your translated channels to enable synchronizing pages between them.

### Background

In the [Experience manager](🔗), a user can [synchronize a page](🔗) to target pages in translated channels. This minimizes repetitive tasks for the user and improves efficiency.

This documentation page is aimed at site developers and explains at [site configuration](🔗) level how page synchronization works and what the requirements and best practices are for the feature to be enabled and working as expected. Finally, a list of possible error messages is provided.

## How does page synchronization work?

In the _Experience manager_, the user can synchronize a page to target pages in translated channels. **The channels should be in the same translation group to allow page syncing between those channels.**

The channels that the source page will be synchronized to are selectable in a page sync dialog:



One, more than one, or all channels can be selected in the target page list. **Site configurations of the channels in a translation group should be identical to perform page syncing between those channels.** If the site [layout](🔗) and [component](🔗) configurations are different, an error is returned to the user and it is expected to make those configurations identical in translated channels before trying it again.

A partial update in a sync operation is not allowed which means that the sync operation is executed in a single transaction. If an error occurs in any of the target channels, the updates in other channels are also rolled back.

**The sync action can be performed on pages that are translations of each others in the translated channels.** There is no restriction on which page or channel to use as a source and the rest will be target.

### Source page

Either the [core](🔗) version or a [project](🔗) version of a source page can be synchronized to the target(s). For a project version of the source page, the page needs to be added to the project to perform the operation. The selected project version in the _Experience manager_ is set as source project in the page sync dialog.

### Target page

A target page is created in a target channel if the page doesn’t exist. If a target page was previously created with a sync operation before, the target page will be updated with the changes in the source page in the next sync operation. A target page can also be [created using the translation menu](🔗) in the _Content_ app.

#### First sync action to a page that doesn’t exist in the target channel

If the target page doesn’t exist in the target channel, it is created in page sync process. The target page gets the same page name and page URL as the source page. If a page with the same URL exists but it is not a translated page of the source page, an [error](🔗) is returned to the user.

In the first creation, the source page is copied to the target channel within its folder hierarchy and it is set as the translated page of the source page. All content of source page is copied to the target page except any linked documents defined in [shared components](🔗). Linked documents are not copied but their links are replaced with the link of translated document of the actual document if there is any in the target channel. [See below](🔗) for more details.

#### Subsequent sync actions to an existing target page

The structural and configurational changes in the source page are synchronized to the existing target page, but the contents in [page-specific components](🔗) are not copied to the target page. If the user updates content in a page-specific component in the source page, this change is not copied to the target page. The existing content in the target page is kept.

If the user adds a new component to the page that is either a shared component or page-specific component, it is copied to the target page in the sync operation. If the user deletes one of the components in the source page, the component is also deleted in the target page in sync operation.

Property values of a component in a page are always synced to the target pages.

### Target project

The user can define the target version of target pages by selecting the target page in the page sync dialog. Some restrictions on the target list are applied when a project is selected. These restrictions are:

  • User role restrictions on projects are taken into account, for example a site developer is not allowed to sync to a core version of the target page, or if a user doesn’t have permission to a specific project, it is restricted by disabling the check box in the target list.

  • If only a project version of the target page exist, the syncing to a core version or to another project version is not allowed.

  • If the core version of the source page doesn’t exist, then only project version to project version is allowed. Also the target channel should be associated with the project in the [Projects](🔗) app.

### Rewriting links of linked documents in sync operation

If a content picker dynamic [component parameter](🔗) is defined in a shared component on the source page and a document is selected for this parameter, an automatic link rewriting is applied if the referenced document has a translated document version in the target channel.

if the dynamic parameter is not relative, the document link in the target page is replaced with the absolute link of the translated document in the target channel if such a translated document exists. If such a translated document doesn’t exist, the absolute link of the document is kept as is in the target page.

If the dynamic parameter is relative, the document link in the target page is replaced with the relative link of the translated document in the target channel if such a translated document exists. If such a translated document doesn’t exist, an [error](🔗) is returned asking the user to create translated document in the target channel and try the sync again.

If the customer wants to use page syncing, it is recommended to define content picker dynamic component parameters as absolute (by setting `relative` property to `false`). If a translated document doesn’t exist, the absolute path can stay as is in the target page.



When using a [shared content folder approach](🔗), the content picker parameter must be defined as absolute so the page synchronization feature works well with this approach.

### Creating missing folders for the page in the target channel

If the parent folders of the source page don’t exist in the target channel, the folders are created in the content tree of the target channel and the created folders are linked to the corresponding source folder(s) as translated folders.

A newly created translated folder gets the same name and the same URL as the corresponding source folder. If a folder with the same URL exists in the target channel but is not a translated folder of the source folder, an error is return to the user. The user can [link those folders as translations](🔗) in the _Content_ app and try the page sync operation again.

### Overwriting page metadata

Overwriting page metadata on the target pages is optional and the user can change the behaviour using the _Overwriting page metadata_ check box in the page sync dialog.

The default value is false. When it is set as true, the metadata of the target page is replaced with the metadata of the source page. In the first creation of the target page, the page metadata is always copied to the target page regardless of the checkbox value.

## Summary of requirements

  • The channels should be in the same translation group to allow page syncing between those channels.

  • Site configurations of the channels in a translation group should be identical to perform page syncing between those channels. Specifically, the channels must have identical [layout](🔗) and [component](🔗) configurations.

  • The sync action can be performed on pages that are translations of each other in the translated channels.