Configuring Live Copy Synchronization

Perform the following tasks to control how and when live copies are synchronized with their source content.

  • Decide whether existing rollout configurations meet your requirements, or whether you need to create one or more.
  • Specify the rollout configurations to use for your live copies.

Installed and Custom Rollout Configurations

This section provides information about the installed rollout configurations and the synchronization actions that they use, and how to create custom configurations if required.

Rollout Triggers

Each rollout configurtion uses a rollout trigger that causes the rollout to occur. Rollout configurations can use one of the following triggers:

  • On Rollout: The Roll Out command is used on the blue print page, or the Synchronize command is used on the live copy page.
  • On Modification: The source page is modified. 
  • On Activation: The source page is activated.
  • On Deactivation: The source page is deactivated.

Nota

Use the On Modification trigger sparingly. Over-use of this trigger is detrimental to AEM performance.

Installed Rollout Configurations

The following table lists the rollout configurations that are installed with AEM. The table includes the trigger and syncrhonization actions of each rollout configuration. If the installed rollout configuration actions do not meet your requirements, you can create one.

Name Description Trigger Synchronization Actions
Standard rollout config Standard rollout configuration which allows to start rollout process on rollout trigger and runs actions: create, update, delete content and order children nodes. On Rollout contentUpdate
contentCopy
contentDelete
referencesUpdate
productUpdate
orderChildren
Activate on Blueprint activation Publishes the live copy when the source is published. On Activation targetActivate
Deactivate on Blueprint deactivation Deactivates the live copy when the source is deactivated. On Deactivation targetDeactivate
Push on modify

Pushes the content to the live copy when the source is modified.

Use this rollout configuration sparingly as it uses the On Modification trigger.

On Modification contentUpdate
contentCopy
contentDelete
referencesUpdate
orderChildren
Push on modify (shallow)

Pushes content to the live copy when the blueprint page is modified, without updating references (e.g. for shallow copies).

Use this rollout configuration sparingly as it uses the On Modification trigger.

On Modification contentUpdate
contentCopy
contentDelete
orderChildren
Promote Launch Standard rollout configuration for promoting launch pages. On Rollout contentUpdate
contentCopy
contentDelete
referencesUpdate
orderChildren
markLiveRelationship
Catalog Page Content Rollout Config Applies page templates from a catalog blueprint. On Rollout contentUpdate
contentCopy
contentDelete
referencesUpdate
productCreateUpdate
orderChildren
Catalog page update rollout config Applies target properties from a catalog blueprint. Must run after Catalog Page Content Rollout Config. On Rollout catalogRolloutHooks
DPS Publications Rollout Config DPS Publication rollout configuration which allows to start rollout process on rollout trigger while excluding FolioProducer binding properties on initial rollout On Rollout contentUpdate
contentCopy
contentDelete
referencesUpdate
orderChildren
dpsMetadataFilter
Geometrixx Mobile Mobile rollout configuration for Geometrixx sites, like standard rollout but converts template and resource types to their mobile variants On Rollout contentUpdate
contentCopy
contentDelete
editProperties
referencesUpdate
orderChildren
Geometrixx Outdoors Mobile Converts template, resource types and banner paths to their mobile variants. This is not a full rollout config, it should be used in conjunction with the default rollout config. On Rollout editProperties
Geometrixx Outdoors Mobile Teaser Edits the teaser image paths and links for the mobile version. This config should be used in conjunction with the default rollout config and the geometrixx-outdoors-mobile config. On Rollout editProperties
Legacy (5.6.0) Catalog Rollout Config Deprecated. Use Catalog Generator instead of MSM for catalog rollouts. On Rollout editProperties

Installed Synchronization Actions

The following table lists the synchronizatoin actions that are installed with AEM. If the installed actions do not meet your requirements, you can create one.

Action Name Description Properties
contentCopy When nodes of the source do not exist on the live copy, copies the nodes to the live copy. Configure the CQ MSM Content Copy Action service to specify the node types, paragraph items, and page properties to exclude. 
enabled: (Boolean) Set this to true.
contentDelete

Deletes nodes of the live copy that do not exist on the source.  Configure the CQ MSM Content Delete Action service to specify the node types, paragraph items, and page properties to exclude. 

enabled: (Boolean) Set this to true.
contentUpdate Updates the live copy content with the changes from the source.  Configure the CQ MSM Content Update Action service to specify the node types, paragraph items, and page properties to exclude. 
enabled: (Boolean) Set this to true.
editProperties

Edits properties of the live copy. The editMap property determines which properties are edited and their value. The value of the editMap property must use the following format:

[property_name_1]#[current_value]#[new_value],
[property_name_2]#[current_value]#[new_value],
... ,
[property_name_n]#[current_value]#[new_value]

The current_value and new_value items are regular expressions. 

For example, consider the following value for editMap:

sling:resourceType#/(contentpage|homepage)#/mobilecontentpage,
cq:template#/contentpage#/mobilecontentpage

This value edits the properties of the live copy nodes as follows:

  • The sling:resourceType properties that are either set to contentpage or to homepage are set to mobilecontentpage.
  • The cq:template properties that are set to contentpage are set to mobilecontentpage.
  • enabled: (Boolean) Set this to true.
  • editMap: (String) Identifies the property, the current value, and the new value. See the Description for information.
notify Sends a page event that the page has been rolled out. In order to be notified, one needs to first subscribe to rollout events. enabled: (Boolean) Set this to true.
orderChildren On the live copy, it orders the children (nodes), based on the order on the blueprint
enabled: (Boolean) Set this to true.
referencesUpdate

On the live copy, this synchronization action updates references such as like links.
It searches for paths in the live copy pages that point to a resource within the blueprint. When found, it updates the path to point to the related resource inside the live copy (instead of the blueprint). References that have targets outside the blueprint are not changed.

 Configure the CQ MSM References Update Action service to specify the node types, paragraph items, and page properties to exclude. 

enabled: (Boolean) Set this to true.
sourceVersion Creates a version of the blueprint enabled: (Boolean) Set this to true.
targetVersion

Creates a version of the live copy.

This action must be the only syncrhonization action included in a rollout configuration.

enabled: (Boolean) Set this to true.
targetActivate

Activates the live copy.

This action must be the only syncrhonization action included in a rollout configuration.

enabled: (Boolean) Set this to true.
targetDeactivate

Deactivates the live copy.

This action must be the only syncrhonization action included in a rollout configuration.

enabled: (Boolean) Set this to true.
workflow

Starts the workflow that is defined by the target property (for pages only) and takes the live copy as payload.

The target path is the path of the model node, for example /etc/workflow/models/request_for_activation/jcr:content/model

target: (String) The path to the workflow model.
mandatory

Sets the permission of several ACLs on the live copy page to read-only for a specific user group. The following ACLs are configured:

  • ActionSet.ACTION_NAME_REMOVE
  • ActionSet.ACTION_NAME_SET_PROPERTY
  • ActionSet.ACTION_NAME_ACL_MODIFY

Use this action for pages only.

target: (String) The ID of the group for which you are setting permissions. 
mandatoryContent

Sets the permission of several ACLs on the live copy page to read-only for a specific user group. The following ACLs are configured:

  • ActionSet.ACTION_NAME_SET_PROPERTY
  • ActionSet.ACTION_NAME_ACL_MODIFY

Use this action for pages only.

target: (String) The ID of the group for which you are setting permissions. 
mandatoryStructure Sets the permission of the ActionSet.ACTION_NAME_REMOVE ACL on the live copy page to read-only for a specific user group.  Use this action for pages only. target: (String) The ID of the group for which you are setting permissions. 
VersionCopyAction If the source page has been published at least once, update the live copy using the version that is published.   
PageMoveAction

When a source page is moved, moves the live copy page accordingly. Configure the CQ MSM Page Move Action service to specify the node types, paragraph items, and page properties to exclude. 

This action must be the only syncrhonization action included in a rollout configuration.

prop_referenceUpdate: (Boolean) Set to true to update references. Default is true.

 

productCreateUpdate Creates or updates Product resources within a catalog. This action is meant to be used in one of the following situations:
  • Generating or rolling out a catalog (or catalog section)
  • A user restores synchronization inheritance for a product component.
 
markLiveRelationship Indicates a live relationship exists for launch-created content.  
catalogRolloutHooks Executes catalog-generation-specific rollout hooks. Calls the executePageRolloutHooks and executeProductRolloutHooks methods of the of the CatalogGenerator. (See com.adobe.cq.commerce.pim.api.CatalogGenerator in the AEM Javadocs.)  
productUpdate Updates product pages in a live copy of a product catalog  

Creating a Rollout Configuration

Create a rollout configuration when the installed rollout configurations do not meet your application requirements. First, create the rollout configuration. Then, add the trigger and synchronazion actions. The new rollout configuration is available to you when setting rollout configurations on a blueprint or live copy page.

  1. Go to the Tools console. (http://localhost:4502/miscadmin#/etc)

  2. In the folder tree, select the Tools/MSM/Rollout Configurations folder.

  3. Click New > New Page and provide values for the Rollout Configuration properties:

    • Title: The title of the Rollout Configuration, such as My Rollout Configuration
    • Name: The name of the node that stores the property values, such as myrolloutconfig
    • Select RolloutConfig Template.
  4. Click Create.

  5. Open the rollout configuration that you created.

  6. Click Edit.

  7. In the Rollout Config dialog, use the Sync Trigger drop-down menu to select the action that causes the rollout to occur.

  8. Click OK to save the changes.

Excluding Properties and Node Types From Synchronization

You can configure several OSGi services that support corresponding synchronization actions so that they do not affect specific node types and properties. For example, many properties and subnodes related to the internal functioning of AEM should not be included in a live copy. Only the content that is relevent to the user of the page should be copied.

Use the Web Console or a repository node to configure the OSGi services. The following table lists the synchronization actions for which you can specify the nodes to exclude. The table provides the names of the services to configure using the Web Console and the PID for configuring using a repository node.

Tip: If you are using the Web Console, to locate the services on the Configuration page search the page for MSM.

Synchronization Action Service Name in Web Console Service PID
contentCopy CQ MSM Content Copy Action com.day.cq.wcm.msm.impl.actions.ContentCopyActionFactory
contentDelete CQ MSM Content Delete Action com.day.cq.wcm.msm.impl.actions.ContentDeleteActionFactory
conentUpdate CQ MSM Content Update Action com.day.cq.wcm.msm.impl.actions.ContentUpdateActionFactory
PageMoveAction CQ MSM Page Move Action com.day.cq.wcm.msm.impl.actions.PageMoveActionFactory
referencesUpdate CQ MSM References Update Action com.day.cq.wcm.msm.impl.actions.ReferencesUpdateActionFactory

The following table describes the properties that you can configure:

Web Console property / OSGi property Description

Excluded Nodetypes

cq.wcm.msm.action.excludednodetypes

A regular expression that matches the node types to be excluded from the synchronization action.

Excluded Paragraph Items

cq.wcm.msm.action.excludedparagraphitems

A regular expression that matches the paragraph items to be excluded from the synchronization action.

Excluded Page Properties

cq.wcm.msm.action.excludedprops

A regular expression that matches the page properties to be excluded from the synchronization action.

Update Reference across nested LiveCopies

cq.wcm.msm.impl.action.referencesupdate.prop_updateNested

Availalbe only for CQ MSM References Update Action. Select this option (Web Console) or set this boolean property to true (repository configuration) to replace references that target any resource that is within the branch of the top-most LiveCopy.

Ignored Mixin NodeTypes

cq.wcm.msm.action.ignoredMixin

Availalbe only for CQ MSM Content Update Action. A regular expression that matches the names of mixin node types to be excluded from the synchronization action.

Update Referencing Pages

cq.wcm.msm.impl.actions.pagemove.prop_referenceUpdate

Availalbe only for CQ MSM Page Move Action. Select this option (Web Console) or set this boolean property to true (repository configuration) to update any references to use the original page to instead reference the LiveCopy page.

Nota

In the Classic UI, the lock icon that appears in the Page Properties dialog box for LiveCopy pages does not reflect the configuration of the Excluded Page Properties property. The lock icon appears even for properties that are excluded from the synchronization action.

Several properties and node types are excluded by default. For example, by default the CQ MSM Content Update Action configuration panel specifies under Excluded Page Properties that properties matching the regular expressions jcr:*, sling:* and cq:* are not updated on rollout.

file

Attenzione

Prior to 5.5 SP2 the excluded page properties were configured in the system console under the Day CQ WCM Rollout Manager. With 5.5 SP2 and later versions the excluded page properties settings within that panel are ignored. Property exclusion on rollout is configured as described above, in CQ MSM Content Update Action.

Therefore, if you have manually adjusted this setting in a pre-5.5 SP2 installation and are upgrading to 5.5 SP2 or later version, you must manually transfer these settings from the old configuration panel to the new one.

Specifying the Rollout Configurations to Use

MSM enables you to specify sets of rollout configurations that are used generally, and when required you can override them for specific live copies. MSM provides several locations for specifying the rollout configurations to use. The location determines whether the configuration applies to a specific live copy.

The following list of locations where you can specify the rollout configurations to use describes how MSM determines which rollout configurations to use for a live copy:

  • Live copy page properties: When a live copy page is configured to use one or more rollout configurations, MSM uses those rollout configurations.
  • Blueprint page properties: When a live copy is based on a blueprint, and the live copy page is not configured with a rollout configuration, the rollout configuration that is associated with the blueprint source page is used.
  • Live copy parent page properties: When neither the live copy page nor the blueprint source page are configured with a rollout configuration, the rollout configuration that applies to the live copy page's parent page is used. 
  • System default: When the rollout configuration of the live copy's parent page cannot be determined, the system default rollout configuration is used.

For example, a blueprint uses the Geometrixx Demo Site as source content. A site is created from the blueprint. Each item in the following list describes a different scenario regarding the use of rollout configurations:

  • None of the blueprint pages or the live copy pages are configured to use a rollout configuration. MSM uses the system default rollout configuration for all of the live copy pages. 
  • The root page of the Geometrixx Demo Site is configured with several rollout configurations. MSM uses these rollout configurations for all of the live copy pages. 
  • The root page of the Geometrixx Demo Site is configured with several rollout configurations, and the root page of the live copy site is configured with a different set of rollout configurations. MSM uses the rollout configurations that are configured on the root page of the live copy site.

Setting the Rollout Configurations for a Live Copy Page

Configure a live copy page with the rollout configurations to use when the source page is rolled out.

Child pages inherit the configuration by default. When you configure the rollout configuration to use, you are overriding the configuration that the live copy page inherits from its parent. 

You can also configure the rollout configurations for a live copy page when you create the live copy.

  1. Use the Sites console to select the live copy page. (http://localhost:4502/sites.html/content)

  2. Click or tap View Properties.

    file
  3. Click or tap Edit, then click or tap the Live Copy tab. 

    The Rollout Configuration area shows the rollout configurations that the page inherits.

    file
  4. Clear the Inherit Rollout Configuration From Parent property, and select one or more rollout configurations from the list.

    The selected rollout configurations appear below the drop-down list.

    file
  5. Click or tap Done.

Setting the Rollout Configuration for a Blueprint Page

Configure a blueprint page with the rollout configurations to use when the blueprint page is rolled out.

Note that the child pages of the blueprint page inherit the configuration. When you configure the rollout configuration to use, you could be overriding the configuration that the page inherits from its parent.

  1. Use the Sites console to select the root page of the blueprint. (http://localhost:4502/sites.html/content)

  2. Click or tap View Properties.

    file
  3. Click or tap Edit, then click or tap the Blueprint tab. 

  4. Select one or more rollout configurations, and then click or tap Done.

    file

Setting the System Default Rollout Configuration

Specify a rollout configuration to use as the sytem default. To specify the default, configure the Day CQ WCM Live Relationship Manager OSGi service (the service PID is com.day.cq.wcm.msm.impl.LiveRelationshipManagerImpl). Configure the service using either the Web Console or a repository node

  • In the web console, the name of the property to configure is Default rollout config. 
  • Using a repository node, the name of the property to configure is liverelationshipmgr.relationsconfig.default.

Set this property value to the path of the rollout configuration to use as the system default. The default value is /etc/msm/rolloutconfigs/default, which is the Standard Rollout Config.

​