If you are experiencing what you think is incorrect behavior or an error in MSM, before beginning and detailed troubleshooting be sure to:
MSM registers several servlets that can be requested with selectors on the resource URLs. These are used by the UI but can also be requested directly to see directly additional advanced computed MSM statuses for your pages:
http://<host>:<port>/content/path/to/bluprint/page.blueprint.json?&maxSize=500&advancedStatus=true&returnRelationships=true&msm%3Atrigger=ROLLOUT
http://localhost:4502/content/wknd/language-masters/en.blueprint.json?&maxSize=500&advancedStatus=true&returnRelationships=true&msm%3Atrigger=ROLLOUT
http://<host>:<port>/content/path/to/livecopy/page.msm.json
http://localhost:4502/content/wknd/ca/en.msm.json
Those servlets generate DEBUG Log messages through the com.day.cq.wcm.msm
logger that can also be helpful.
The prior servlets returned computed information based on the MSM-specific nodes and mixins. The information is stored in the repository in the following way.
cq:LiveSync
mixin type
jcr:content
nodes and define root Live Copy pages.cq:LiveSyncConfig
child node of type cq:LiveCopy
that contain basic and mandatory information on the Live Copy through the following properties:
cq:master
points to the blueprint page of the Live Copy.cq:rolloutConfigs
indicates active rollout configurations applied to the Live Copy.cq:isDeep
is true if the child pages of this root Live Copy page are included in the Live Copy.cq:LiveRelationship
mixin type
jcr:content
node.cq:LiveSyncCancelled
mixin type
jcr:content
nodes of Live Copy pages that were suspended.cq:isCancelledForChildren
property is set to true on the same node.The information present in these properties should be reflected in the UI, however when troubleshooting it may be helpful to observe MSM behavior directly in the repository as MSM actions occur.
Knowing those properties can also be useful to query your repository and find out sets of pages that are in particular states. For example:
select * from cq:LiveSync
returns all Live Copy root pages.Here are some frequently asked questions related to MSM and Live Copy.
MSM sync actions are highly configurable. Which properties or components are modified during rollouts directly depends on the properties of those configurations.
See this article for more information on this topic.
There is no rollout privilege that can be set or removed for AEM principals (users or groups).
As an alternative you can either:
If a blueprint page is rolled out, it either updates its Live Copy page or creates a new Live Copy page if it didn’t exist yet. For example, when it is rolled out for the first time or the Live Copy page was manually deleted.
In this latter case however, if a page without a cq:LiveRelationship
property exists with the same name, this page is renamed before the Live Copy page is created.
By default, the rollout expects a linked Live Copy page, to which the updates of the blueprints are rolled out. Or, it expects no page at all, when a Live Copy page is created.
If a “standalone” page is found, MSM chooses to rename this page, and create a separate, linked Live Copy page.
Such a standalone page in a Live Copy subtree is typically the result of a Detach operation, or the former Live Copy page was manually deleted by an author and then re-created with the same name.
To avoid this, use the Live Copy Suspend feature instead of Detach. More details on the Detach action can be found in this article.