Expand my Community achievements bar.

SOLVED

Rollout between language masters

Avatar

Level 1

Hello, 

We understand that in a typical MSM setup, there'll be language masters corresponding to each language where all the authoring updates are made post which they're rolled out to live copies in the actual sites.

 

Is there a way to do these rollouts between language masters themselves? E.g. if master/en gets updated (e.g. say image is updated for the home page teaser), what would be the best approach to sync / rollout those changes to master/es? Or will master/es have to be authored separately all the time (i.e. duplicating the effort?)?

 

Thanks for inputs on this.

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi,

Multi level inheritance can be created using the live copies.

1. Create the root site i.e. master/en

2. Create the live copy using the rollout config from the root site created in Step 1. i.e. master/es

3. Now you can create the live copy from the site i.e. master/es

shaileshbassi_0-1655477691567.png

 

 

If you can perform rollout based on the conditions as well, but for that you need to create the custom rollout configs, otherwise select from the 4 OOTB rollout configs.

To create a custom LiveSyncAction we need to understand following classes:

1) com.day.cq.wcm.msm.api.LiveActionFactory and com.day.cq.wcm.msm.api.LiveAction
a. LiveActionFactory: An Factory used to create LiveActions. Used to register LiveAction implementations with the ServiceComponentRegistration (in Felix Console) It enables to create LiveActions with a Configuration given by a Resource.
b. LiveAction: Represent an Action to be performed upon a Roll-out from a Source to a Target. Actions are created by a LiveActionFactory that provide instances of LiveActions set-up with given configuration. LiveActions are called during the process of roll-out which on acts on Resources A LiveAction must therefore act within the boundary of the given Resource

 

Thanks

View solution in original post

3 Replies

Avatar

Employee Advisor

The MSM comes with a hierarchical relation, there is a source and many livecopies. But you can turn this into a tree with many levels, although it barely makes sense to exceed 3 layers. For example this allows you to build this structure:

 

master/en -> the root site

 

languages/fr (livecopy of master/en)

languages/es (livecopy of master/en)

 

countries/fr (livecopy of languages/fr)

countries/ch/fr (livecopy of langauges/fr)

countries/es (liveopcy of languages/es)

countries/mx (livecopy of languages/es)

 

Avatar

Correct answer by
Community Advisor

Hi,

Multi level inheritance can be created using the live copies.

1. Create the root site i.e. master/en

2. Create the live copy using the rollout config from the root site created in Step 1. i.e. master/es

3. Now you can create the live copy from the site i.e. master/es

shaileshbassi_0-1655477691567.png

 

 

If you can perform rollout based on the conditions as well, but for that you need to create the custom rollout configs, otherwise select from the 4 OOTB rollout configs.

To create a custom LiveSyncAction we need to understand following classes:

1) com.day.cq.wcm.msm.api.LiveActionFactory and com.day.cq.wcm.msm.api.LiveAction
a. LiveActionFactory: An Factory used to create LiveActions. Used to register LiveAction implementations with the ServiceComponentRegistration (in Felix Console) It enables to create LiveActions with a Configuration given by a Resource.
b. LiveAction: Represent an Action to be performed upon a Roll-out from a Source to a Target. Actions are created by a LiveActionFactory that provide instances of LiveActions set-up with given configuration. LiveActions are called during the process of roll-out which on acts on Resources A LiveAction must therefore act within the boundary of the given Resource

 

Thanks