Hi All,
I’m working with AEM as a Cloud Service and using Multi Site Manager (MSM) for localization.
I noticed that when I move a page within the Language Master and then rollout the changes to the live copy, the jcr:uuid of the page in the live copy changes. It seems like AEM is creating a new node and deleting the old one instead of just moving the node and preserving the UUID.
Can someone explain:
Appreciate any insights or best practices around this.
Thanks!
Solved! Go to Solution.
Views
Replies
Total Likes
this is what provided in abode documents about jcr:uuid.
The jcr:uuid property is a protected, auto-created, mandatory property. This means that it is created and administered by the system and can only be read (but not changed or deleted) by the client. The job of the jcr:uuid property is to expose the universally unique identifier (UUID) of its node
since its protected and system controlled then why do you want to control the jcr:uuid. What’s the use case for you and i believe protected properties are not moved during the move operation.
this is what provided in abode documents about jcr:uuid.
The jcr:uuid property is a protected, auto-created, mandatory property. This means that it is created and administered by the system and can only be read (but not changed or deleted) by the client. The job of the jcr:uuid property is to expose the universally unique identifier (UUID) of its node
since its protected and system controlled then why do you want to control the jcr:uuid. What’s the use case for you and i believe protected properties are not moved during the move operation.
Hi @Rudra-2024,
This behaviour is expected and by design in AEM’s Multi Site Manager (MSM) rollout process. Let me explain your all question's one-by-one as below
When you move a page inside the language master and then trigger a rollout, MSM treats this as a delete + create operation on the live copy. The live copy node at the original path is removed, and a new node is created at the new path.
Since a new node is created, it receives a new jcr:uuid — UUIDs in JCR are unique identifiers assigned per node instance and are not preserved when nodes are deleted and recreated.
The MSM rollout engine does not replicate move operations as move in the live copies.
It works with a model of synchronization where content and structure changes result in removing old nodes and creating new ones to ensure the live copy exactly mirrors the master.
This approach avoids complex edge cases around moves and ensures consistency, but at the cost of losing the original UUID.
Out of the box, no. AEM MSM does not support preserving UUIDs during moves in rollout because UUID uniqueness and node identity would be compromised if it simply moved the node in the live copy.
The rollout is a deep content synchronization, not a direct JCR-level move operation.
Custom rollout workflow: You could theoretically customize rollout processing to detect moves and instead perform JCR move operations on the live copies, preserving UUIDs — but this is complex and not officially supported.
Avoid moving language master pages post-rollout: Finalize your page structure before rollout to minimize moves.
Use references or mappings: Instead of moving pages, create new structure with redirects or references that don’t require node deletion/recreation.
Hi @Rudra-2024
This behavior you're encountering with AEM's Multi Site Manager (MSM) is indeed expected and can be explained by how MSM handles page rollouts and node creation.
When you move a page within the Language Master and then rollout the changes to the live copy, AEM MSM creates a new node in the live copy rather than moving the existing node. This results in a new jcr:uuid
for the page in the live copy. The reason for this is that MSM treats the rollout as a synchronization process where the source content is copied to the live copy, rather than simply moving the node.
Yes, this behavior is expected in AEM MSM rollouts. MSM is designed to create new nodes in the live copy during rollouts to ensure that the live copy accurately reflects the structure and content of the source. This approach helps maintain the integrity of the live copy and allows for independent modifications to the live copy without affecting the source
jcr:uuid
Unfortunately, there is no out-of-the-box configuration or customization in AEM MSM that allows you to preserve the original jcr:uuid
during rollouts. The creation of new nodes with new UUIDs is a fundamental part of how MSM operates. However, you can consider the following best practices to manage this:
For more detailed information, you can refer to the
Reusing Content: Multi Site Manager and Live Copy | Adobe Experience Manager
https://sourcedcode.com/blog/aem/how-to-re-sync-a-live-copy-language-root-to-a-blueprint-in-aem-msm#...
@Rudra-2024 Did you find the suggestions helpful? If you need more information, please let us know. If a response resolved your issue, kindly mark it as correct to help others in the future. Alternatively, if you discovered a solution on your own, we'd appreciate it if you could share it with the community. Thank you.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies