cq:excludedPaths is causing issues with LiveCopy | Community
Skip to main content
November 13, 2021
Solved

cq:excludedPaths is causing issues with LiveCopy

  • November 13, 2021
  • 2 replies
  • 5790 views

While troubleshooting an issue , we noticed that having the page name in this property cq:excludedPaths is preventing the livecopy from being created .. And we have too many nodes to validate to make sure that this property cq:excludedPaths is not existing for that node  . Is there any easier to indicate that this property  cq:excludedPaths shouldnt be taken into consideration while performing the live copy?

Best answer by VeenaVikraman

In addition to what @joerghoh has mentioned I could find some relevant blogs which might help you in addressing your issue.

https://gauravsachdeva.com/2021/07/12/aem-rollout-option-missing-for-one-country-live-copy/

https://with-example.blogspot.com/2015/03/cq-rollout-option-is-not-listing-all-livecopy.html

 

Basically the cq:excludedPaths is added to any root cq:LiveSyncConfig of your Live Copies when the users delete a live copied page from the Live Copies rather than from the Blueprint. I tried to replicate this issue for you. Below are the steps I followed

 

  1. I created a page under /content/we-retail/language-masters/en/experience. My new page is test-page 

 

 

2. I rolled out this new page to my language nodes 

 

3. It was created under 2 live copies

Below screenshot shows the one created under us/en

 

Below is the cq:LiveSyncConfig node from the us/en 

 

 

4. Now I deleted the test-page from under us/en which is a LC .  /content/we-retail/us/en/experience/test-page

5. Once I delete this and if you check the cq:LiveSyncConfig of the us/en ; you will see that a new property called cq:excludePaths is added with this deleted path

 

Now if you try to rollout your pages , this exclude property set will prevent it from rolling out to the us/en 

 

 

The only solution is to remove the paths from these nodes or to remove the property altogether and the best approach would be go with your First Option where you can write a script and remove either the required paths from this property or the property itself according to your requirement.  

 

Hope this helps. Let me know if you need anymore information

 

Thanks

Veena

2 replies

joerghoh
Adobe Employee
Adobe Employee
November 13, 2021

It's really hard to answer that question, because it does not contain enough details about the MSM setup and what you were doing, so ended up in this situation.

 

I found a reference to this property in the MSM FAQ: https://helpx.adobe.com/experience-manager/kb/index/msm_faq.html

 

Also there 3rd party blog posts on that property, but I am not sure if they relate to your problem.

 

AEMnewbieAuthor
November 13, 2021

So this is what we are trying to achieve

 

content/X We use create live copy to create a livecopy of this path at content/Y/X which internally also creates a live copy under content/Y/Z/X -- Now the problem is we we have this property cq:excludedPaths  at content/Y/Z which is preventing it from creating content/Y/Z/X. 

 

1.One way to tackle this would be to navigate to this path content/Y/Z and remove cq:excludedPaths. Problem with this we possibly have more nodes..for which we will have to write a script to get rid of the property for all those nodes.

 

2.Other way would be to find the msm code and see if we could exclude this cq:excludedPaths check . havent looked at this option yet . Before i explored this i wanted to see if there is a simpler way to tackle this .

VeenaVikraman
Community Advisor
VeenaVikramanCommunity AdvisorAccepted solution
Community Advisor
November 15, 2021

In addition to what @joerghoh has mentioned I could find some relevant blogs which might help you in addressing your issue.

https://gauravsachdeva.com/2021/07/12/aem-rollout-option-missing-for-one-country-live-copy/

https://with-example.blogspot.com/2015/03/cq-rollout-option-is-not-listing-all-livecopy.html

 

Basically the cq:excludedPaths is added to any root cq:LiveSyncConfig of your Live Copies when the users delete a live copied page from the Live Copies rather than from the Blueprint. I tried to replicate this issue for you. Below are the steps I followed

 

  1. I created a page under /content/we-retail/language-masters/en/experience. My new page is test-page 

 

 

2. I rolled out this new page to my language nodes 

 

3. It was created under 2 live copies

Below screenshot shows the one created under us/en

 

Below is the cq:LiveSyncConfig node from the us/en 

 

 

4. Now I deleted the test-page from under us/en which is a LC .  /content/we-retail/us/en/experience/test-page

5. Once I delete this and if you check the cq:LiveSyncConfig of the us/en ; you will see that a new property called cq:excludePaths is added with this deleted path

 

Now if you try to rollout your pages , this exclude property set will prevent it from rolling out to the us/en 

 

 

The only solution is to remove the paths from these nodes or to remove the property altogether and the best approach would be go with your First Option where you can write a script and remove either the required paths from this property or the property itself according to your requirement.  

 

Hope this helps. Let me know if you need anymore information

 

Thanks

Veena

April 22, 2022

Veena - Thank you for the information, this is very helpful.  We're running into a similar issue although how could we create a script for cloud?

 

Thanks

April 27, 2022

@michelle249  I know of few ways. 

  1.      If you know groovy , you can try writing scripts using groovy .. In cloud I have never tried running groovy , but I saw few post which might help you with that incase you get stuck https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/groovy-console-in-aem-as-a-cloud/m-p/402675
  2. You can also write a dummy servlet . (When I say script don't confuse it with Javascript, these can be plain Java code too, just to run some onetime chore) . In the servlet you can just get the paths and write the logic to remove these properties. 

 


Thanks @veenavikraman , we were used to running groovy on our on prem instance but since it wasn't completely supposed in cloud hadn't gone down that route.

 

I think we'll go down the servlet route next, thanks!