Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Customizing core component dialogs

Avatar

Level 5

https://docs.adobe.com/content/help/en/experience-manager-core-components/using/developing/customizi...

 

As per the 'Customizing Dialogs' section of the link above, when trying to customize core component dialogs, the dialog should be copied over to the proxy component (up to tab node) but should be hidden using Sling resource merger. A duplicate dialog should be created where the actual changes should be made. 

What is the rationale behind this? As per documentation, it is to 'To be fully compatible with any changes made to a dialog on its current version' but I'm not fully clear on this.

Could anyone clarify this?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor
Each dialog has a consistent node structure. It is recommended that this structure is replicated in an inheriting component so that Sling Resource Merger and Hide Conditions can be used to hide, replace, or reorder sections of the original dialog. The structure to replicate/copy as it is from core components is defined as anything up to the tab item node level.
To be fully compatible with any changes made to a dialog on its current version, it is very important that structures below the tab item level not be touched (hidden, added to, replaced, reordered, etc.).
 
If you don't want any tab, tab can be hidden via the sling:hideResource property (see Sling Resource Merger Properties ),
 
New tab items added/modified in the proxy components that contain the configuration fields. 
Reordering can be done using sling:orderBefore 

 

https://helpx.adobe.com/experience-manager/6-3/sites/developing/using/sling-resource-merger.html



Arun Patidar

View solution in original post

5 Replies

Avatar

Correct answer by
Community Advisor
Each dialog has a consistent node structure. It is recommended that this structure is replicated in an inheriting component so that Sling Resource Merger and Hide Conditions can be used to hide, replace, or reorder sections of the original dialog. The structure to replicate/copy as it is from core components is defined as anything up to the tab item node level.
To be fully compatible with any changes made to a dialog on its current version, it is very important that structures below the tab item level not be touched (hidden, added to, replaced, reordered, etc.).
 
If you don't want any tab, tab can be hidden via the sling:hideResource property (see Sling Resource Merger Properties ),
 
New tab items added/modified in the proxy components that contain the configuration fields. 
Reordering can be done using sling:orderBefore 

 

https://helpx.adobe.com/experience-manager/6-3/sites/developing/using/sling-resource-merger.html



Arun Patidar

Avatar

Level 5

Thanks Arun for taking time to answer this.

But it's still not clear to me as to why I should copy over the original dialog tab but not change it and in its place create a duplicate and make changes to that. The reason given is of compatibility.. considering we want to make changes to the dialog tab anyway..what kind of compatibility are we trying to preserve here?

Avatar

Community Advisor
you don't need to copy complete dialog while changing. you should copy the node till where you want to make changes. If you have many new fields to add go for new tab and create items. But it is also fine to make changes in existing tab inside proxy component. Never make any changes in original component dialog/htl.


Arun Patidar

Avatar

Level 5
Thanks again for the reply. "But it is also fine to make changes in existing tab inside proxy component." - I share this view but the document I think says otherwise and I was confused as to the reasoning for the same. Probably I'm misreading the document...

Avatar

Community Advisor
This is absolutely fine to make changes in existing tabs inside proxy components. Never make changes directly in core components dialogs.


Arun Patidar