AEM Component
Created on:
Wednesday, October 10, 2018

Simple trick to keep child nodes' livecopy inheritance while cancelling the parent node's inheritance

In Multi-site Manager, you can cancel the inheritance of LiveCopied page and nodes (especially component nodes) from the source pages/nodes. To do so, you can simply cancel the inheritance by selecting the inheritance cancellation icon (at component level) or go to Page Properties and click "Suspend" or "Suspend with children" (at page level).

Suspend - is to cancel page-wide inheritance without breaking the sub-pages inheritance.

Suspend with children - is to cancel inheritance from the source pages for both the page and its children on the tree.

Issues we identified

When cancelling inheritance at page level, everything is working fine. HOWEVER, when cancelling inheritance at component level, the inheritance of child nodes (component nodes under a parent node, i.e. parsys) also got cancelled. If you observe JCR properties (via crx/de), when cancelling at component level, the cq:isCancelledForChildren property is set to true. If you manually set the property to false, the inheritance at child nodes will remain.

How to fix this?

The solution is simple. Add cq:isContainer property to the component (under /apps) and set its value to true. See the screenshot enclosed.

Note:

If you observe out-of-the-box container-based components (i.e. paragraph system or responsive grid) they all have cq:isContainer=true.

Stop blending in with the rest of the crowd &
start leaving your mark on the web.
Your success is our success

Let's work together