MSM Rollout – Excluding content updates


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.

EXAMPLE:

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

1.png

Step 2: Excluded buttonLabel from Rollout

2.png

Step 3: Executed Rollout from English Master to CA livecopy. Please note that buttonLabel has not been rolled out.

3.png

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.

Note:

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

 

Advertisements

2 thoughts on “MSM Rollout – Excluding content updates

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s