Search code examples
aem

What is the use of designDialogPath?


I am seeing from wcmcore page component,

<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
    jcr:primaryType="cq:Component"
    jcr:title="Page (v1)"
    sling:resourceSuperType="wcm/foundation/components/basicpage/v1/basicpage"
    componentGroup=".core-wcm"
    designDialogPath="core/wcm/components/page/v1/page/cq:design_dialog"/>

What is the purpose of designDialogPath? My dialog from page policy works even without this property. I couldnt realize the difference adding and not adding this property. Can you please point the purpose of this property?


Solution

  • What designDialogPath path does?

    In the context of wcm core component, designDialogPath enables you to access Page Design mode from the template in /conf folder. Screenshot below.

    With Page Design



    When you remove this node, you will not be able to access Page Design from the template. That option does not show up. Screenshot below.

    Dialog Node Without design mode


    Why include designDialogPath?

    It's primary use is to define clientlibs that should be loaded for pages using this template. Adobe has added an helpPath in that component to explain this. Link here.

    There are use cases where the same page needs to be rendered differently in terms of styling and as a developer, you can define different clientlibs for different layouts and leave it to the author to inject the required clientlibs based on the use case.

    I feel this is just another step by Adobe to give more control to content authors.