Imagine you have a global website that contains multiple languages and regions; a page in a different region is similar to the national page, with some regional content variations. Marketers can create a live copy page from a language source page, administrators can handle the blue print and roll-out configurations, and developers can extend and develop the custom roll-out configuration and add synchronization actions.
Below are cheat sheets for some of the most-used MSM features and terms.
|Source, Blueprint||The original pages.||1. Any page or branch of pages can be used as the source
2. Source or blueprint can be defined by a blueprint configuration
3. Blueprint of a live copy can be viewed in the References panel in Sites
|Blueprint Configuration||Predefined configuration specifying a source path.||1. When a blueprint configuration is defined, author can use the Rollout option on the blue print
2. When a blueprint configuration is defined, author can use the Create Site option when they create a new site
3. Default rollout configuration can de defined for live copies that are created with the blueprint configuration
|Live Copy||The copy (of the source), maintained by synchronization actions as defined by the rollout configurations.||1. You can create a live copy of any page or branch. When you create the live copy, you can specify the rollout configurations to use for synchronizing the content
2. If you do not specify any rollout configurations, MSM determines which rollout configurations to use
3. You can create regular non-live-copy pages inside a live copy branch, nested live copies or stacked live copies
|Live Copy Configuration||Definition of the configuration details for a live copy.||1. When you create a live copy, the live copy configuration is saved on the root page of the copied pages. All child pages of the root page inherit the live copy configurations.
2. The components on the live copy pages also inherit the live copy configuration
3. You can modify the live copy configuration on the live copy tab of the page properties dialog
3. cq:LiveSyncConfig node under parent page's jcr:content holds the live copy configuration
|Rollout Configuration||Rules that determine which properties will be synchronized, how and when.||1. It determines which properties are synchronized from source to live copy
2. A rollout configuration consists of a trigger and one or more synchronization actions
3. Rollout configuration can be viewed and configured in live copy tab of the page properties dialog
4. You can develop custom rollout configuration and add synchronization actions to it
5. Oder to determine which rollout configurations to use, live copy page properties - blueprint page properties - live copy parent page properties - system default
6. System default rollout configuration can be viewed and modified at Day CQ WCM Live Relationship Manager (com.day.cq.wcm.msm.impl.LiveRelationshipManagerImpl)
7. In addition to customizing rollout actions, MSM also allows you to customize node properties that are being rolled out. (OSGI configuration of CQ MSM Content Update Action)
|Rollout Conflict||Conflict when authors are editing content in both the source and the live copy.||1. AEM uses conflict handlers to resolve any page conflicts that exist
2. You can use Day CQ WCM Rollout Manager in OSGI configuration to activate/deactivate conflict management, together with configuring rollouts
3. Default conflict handler: ResourceNameRolloutConflictHandler (com.day.cq.wcm.msm.api.ResourceNameRolloutConflictHandler); you can develop custom conflict handlers
|Suspending and Cancelling Inheritance and Synchronization||Temporarily removes the live relationship between a live copy and its blueprint page.||1. You can Suspend the live copy inheritance for a live copy page so that you can change page properties and components. When you suspend inheritance, the page properties and components are no longer synchronized with the source.
2. When editing an individual page, authors can Cancel Inheritance for a component. When inheritance is cancelled, the live relationship is suspended and synchronization does not occur for that component.
3. You can resume inheritance for page or component after
|Detaching a Live Copy||Detach permanently removes the live relationship between a live copy and its blueprint page. All MSM-relevant properties are removed from the live copy and the live copy pages become a standalone copy.||1. Detach on a Root Page of a LiveCopy: removes the live relationship between all pages of the blueprint and its livecopy
2. Detach on a Sub-Page (or branch) within a LiveCopy: live relationship is removed for that sub-page (or branch) and the (sub-)pages in the live copy branch are treated as if they had been manually created. However, the sub-pages are still subject to the live relationship of the parent branch so a further rollout of the blueprint page(s) will cause rollout conflict.
3. To detach: Sites - View Properties - Live Copy tab - Detach
|Source, Blueprint||1. https://docs.adobe.com/docs/en/aem/6-2/administer/sites/msm.html#Source, Blueprints and Blueprint Configurations||1. Carefully plan structure and content flows before starting implementation
2. Establish a governance model early, and train users accordingly, to ensure success.
3. Prototype and thoroughly test your system, before starting live implementation
4. AEM uses a default set of language and country codes. The default language code is the lower-case, two-letter code as defined by ISO-639-1. The default country code is the lower-case or upper-case, two-letter code as defined by ISO 3166. The OOTB language list is stored below the /libs/wcm/core/resources/languages node.
|Blueprint Configuration||1. Create a Blueprint Configuration|
2. MSM control center (only available in classic UI)
|See #1-#3 in Usage column
When creating a new site with live copy, it is advantageous to create blueprint configurations to ensure the availability of the full MSM feature set.
|Live Copy||1. Live copy basics|
2. Create a Live Copy
https://docs.adobe.com/docs/en/aem/6-2/administer/sites/msm/msm-livecopy.html#Creating a Live Copy
3. Translating Content for Multilingual Sites
|1. When create a Live Copy, that is more generic approach; when create a Site, that is more specialized
2. AEM Multisite Manager does not include content translation. MSM is inherently suited to deploy (roll out) content within one language, e.g. to roll an English master out to English branches in country websites.
|Live Copy Configuration||1. OOTB live copy configuration http://localhost:4502/crx/de/index.jsp#/content/geometrixx-outdoors-mobile/jcr%3Acontent/cq%3ALiveSyncConfig|
|Rollout Configuration||1. Installed rollout configurations|
https://docs.adobe.com/docs/en/aem/6-2/administer/sites/msm/msm-sync.html#Installed Rollout Configurations
2. Installed Synchronization Actions
https://docs.adobe.com/docs/en/aem/6-2/administer/sites/msm/msm-sync.html#Installed Synchronization Actions
3. Develop custom rollout configuration and add synchronization actions
|1. Customize as much as necessary, but as little as possible. While MSM supports a high degree of customization (e.g. rollout configurations) typically the best practice for the performance, reliability and upgradeability of your website is to minimize customization.
2. Plan carefully before automating rollouts (onModify trigger), customizing node types/properties, starting subsequent workflows, and/or activating content as part of rollouts.
3. Moving pages in a blueprint will NOT result in corresponding pages being moved in live copies after rollout with standard rollout configuration
|Rollout Conflict||1. Rollout conflicts and conflict handling|
|1. Use service ranking mechanism to assign priority to system default conflict handler and your custom conflict handlers|
|Suspending and Cancelling Inheritance and Synchronization||https://docs.adobe.com/docs/en/aem/6-2/administer/sites/msm.html#Suspending and Cancelling Inheritance and Synchronization|
|Detaching a Live Copy||1. https://docs.adobe.com/docs/en/aem/6-2/administer/sites/msm/msm-livecopy.html#Detaching a Live Copy|
Please leave a comment below if you have any questions or need any help with this.