Rollout synchronizes content from the source to the livecopy. Can be triggered by an author (on a blueprint page) or by a system event (as defined by the rollout configuration). During rollout, content (paragraph items, page properties) are updated as per Rollout configurations (Rules that determine which properties will be synchronized, how and when.)
Hereby sharing multiple ways to skipping content update.
Exclusion based on synchronization Action (Delete, Update etc.) – OSGi Configuration
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.
Available Synchronization Actions
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.
|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|
|contentUpdate||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|
Details are available on: Excluding Properties and Node Types From Synchronization
Example: CQ MSM Content Update Action – Exclusions
Excluding Custom Page Properties
If you need to exclude custom properties from LiveCopy updates, you can also use this same feature. By setting a regular expression which excludes your property in cq.wcm.msm.action.excludedprops, allows you to easily exclude a custom property in LiveCopy rollout updates.
Excluding Component Properties
If you need to exclude component properties from LiveCopy updates, you can also use this same feature. By setting a regular expression which excludes your property in cq.wcm.msm.action.excludedparagraphitems, allows you to easily exclude a custom property in LiveCopy rollout updates.
Step 1: Added Button Label to Hero Image in http://localhost:4502/editor.html/content/we-retail/language-masters/en/experience/arctic-surfing-in-lofoten.html
Step 2: Excluded buttonLabel from Rollout
Step 3: Executed Rollout from English Master to CA livecopy. Please note that buttonLabel has not been rolled out.
Retaining locally added components in live copies
In general, the rollout rule in MSM regarding the synchronization of components is:
- Components are rolled out syncing any resources contained in the blueprint.
- Containers synchronize only the current resource.
This means that components are treated as an aggregate, and in a rollout the component itself and all its children are replaced with those in the blueprints. This means that if a resource is added to such a component locally, it will be lost to the content of the blueprint at rollout.
To support the nesting of components such that locally added components are maintained in a rollout, the component must be declared as a container. As an example, the default parsys is declared as a container so it can support locally-added content.
Add the property cq:isContainer to the component to designate it as a container.
Skipping component from Rolling out from Blueprint to Live copies
Suppose you have a parsys “contact-details” that should not be rolled out from Blueprint to Live copies. This can be achieved by declaring cq.wcm.msm.action.excludedparagraphitems=[contact-details] in CQ MSM Content Copy Action.
Shared Component Properties (from ACS AEM Commons)
It extends AEM functionality to allow components to be configured with shared content and properties that apply across all instances of that component (or in some cases multiple components) on an entire site. The feature doesn’t use MSM, but might be worth considering if it safisfies your needs.
For more details, please refer to https://adobe-consulting-services.github.io/acs-aem-commons/features/shared-component-properties/index.html
3 thoughts on “MSM Rollout – Excluding content updates”
It is my first time visiting your site and I am very fascinated. Thank you for sharing and keep up 😉
Thank you Daniel 🙂
Hi Daniel, After searching lot of site I ended up here where I get some information of what exactly im looking for..
Here I will try to explain my issue, please help..
issue : Im trying to create a new custom rollout action. Its working fine as im expecting (adding couple of nodes under jcr: content- i tested this in debug mode) But my newly added nodes are getting deleted by the async job which is running after execution of my rollout action.
Could you please help me where im making mistake.