Expand my Community achievements bar.

SOLVED

AEM msm_moved nodes

Avatar

Level 2

Hello,

in our project we are using MSM and live copies for different languages. After some time we run into a problem that values in a page properties dialog are not shown. After some analysis we found out that a request to /content/mywebsite/de/jcr:content.infinity.json returns HTTP 300 "multiple choices" with a list of json links instead of page properties. Further analysis showed that the reason for that was a "JSON Max results" configuration property of the org.apache.sling.servlets.get.DefaultGetServlet. Changing this property to1000 solved our issue. However it was a workaround. The main problem was a huge amount of *_msm_moved_<number> nodes under jcr:content node, for example 

xsmall_msm_moved_103: { sling:resourceType: "foundation/components/image", fileReference: "/content/dam/mysite/images/teasers/img_teaser.jpg/jcr:content/renditions/cq5dam.thumbnail.240.240.teaser.png", jcr :primaryType: "nt:unstructured" }

Unfortunately, we cannot find any documentation in MSM about it. Why these nodes are automatically created, how to avoid if? 

1 Accepted Solution

Avatar

Correct answer by
Level 3

The "_msm_moved" is created when the a rollout action is triggered and content is being rolled out to a livecopy where an identically named resource is located and that resource is identified as being detached.

A relationship is determined to exist between a resource in the livecopy and a resource is in the blueprint by a mixin type on the livecopy resource called cq:LiveRelationship. If that mixin type is not present the assumption is that that content was created directly in the livecopy or there was a desire to treat that resource like it was created directly in the livecopy and a detach command was executed on the resource through the MSM Control panel.

When a rollout is triggered for that blueprint resource, the application understands that it's being told to put this new content into that livecopy, however, since the mixin doesn't exist it doesn't know how to handle that existing resource, so it renames it and puts the current blueprint resource in it's place.

The interesting thing with your problem is that new resource should have that mixin applied as soon as the rollout takes place. The fact that you have so many of these instances would seem that either there is a rollout configuration in place that is preventing this mixin being applied to this resource OR you have some secondary process in place that is removing the mixin for that resource after the fact.

I would check your Rollout Configurations, any automated workflows or processes that are focused on that path.

Hope that helps

-Jason

View solution in original post

2 Replies

Avatar

Correct answer by
Level 3

The "_msm_moved" is created when the a rollout action is triggered and content is being rolled out to a livecopy where an identically named resource is located and that resource is identified as being detached.

A relationship is determined to exist between a resource in the livecopy and a resource is in the blueprint by a mixin type on the livecopy resource called cq:LiveRelationship. If that mixin type is not present the assumption is that that content was created directly in the livecopy or there was a desire to treat that resource like it was created directly in the livecopy and a detach command was executed on the resource through the MSM Control panel.

When a rollout is triggered for that blueprint resource, the application understands that it's being told to put this new content into that livecopy, however, since the mixin doesn't exist it doesn't know how to handle that existing resource, so it renames it and puts the current blueprint resource in it's place.

The interesting thing with your problem is that new resource should have that mixin applied as soon as the rollout takes place. The fact that you have so many of these instances would seem that either there is a rollout configuration in place that is preventing this mixin being applied to this resource OR you have some secondary process in place that is removing the mixin for that resource after the fact.

I would check your Rollout Configurations, any automated workflows or processes that are focused on that path.

Hope that helps

-Jason

Avatar

Level 10

Hi Evgeny,

Firstly it is recommended to use 'Language Copy' for different languages rather than live copy