Is there any advantage to overlaying components than just extending them using sling:resourceSuperType?
Overlay allows you to copy over libs components to apps and changing them without affecting the original component. Doesn't extending the component also allow the same - you can just overwrite the script where changes are required? In addition, extending can make it future-proof, that is, if you happen to upgrade AEM in the future, extending components will allow you to use the latest available components in /libs.
Or is there anything that can only be achieved using overlay that I'm missing here?
Thanks for any inputs here.
Solved! Go to Solution.
Views
Replies
Total Likes
Hi,
I basically prefer extending a component in AEM because, if you extend the component and setting the property sling:resourceSuperType to the particular path of the component and you can modify the component according to your project requirements.
Also - Once you upgrade your AEM to higher version, you can inherit the features of existing component from OOTB and you no need to manually make the changes.
'
And Overlays - Here you can copy the component from OOTB to your apps and make changes according to your project requirements. Here when you upgrade to higher version of AEM, you need to manually apply the changes(No inheritance from OOTB).
Here is the nice explanation as Scott provided: cq5 - overlay/overriding v/s extending of components in AEM - Stack Overflow
Hope this helps!!
Thanks,
Ratna Kumar.
That is a good question. When you want to modify a component - the typical way is to use Overlay - as described here: Overlays
Also a very good answer here too: cq5 - overlay/overriding v/s extending of components in AEM - Stack Overflow
Views
Replies
Total Likes
Hi,
I basically prefer extending a component in AEM because, if you extend the component and setting the property sling:resourceSuperType to the particular path of the component and you can modify the component according to your project requirements.
Also - Once you upgrade your AEM to higher version, you can inherit the features of existing component from OOTB and you no need to manually make the changes.
'
And Overlays - Here you can copy the component from OOTB to your apps and make changes according to your project requirements. Here when you upgrade to higher version of AEM, you need to manually apply the changes(No inheritance from OOTB).
Here is the nice explanation as Scott provided: cq5 - overlay/overriding v/s extending of components in AEM - Stack Overflow
Hope this helps!!
Thanks,
Ratna Kumar.
Thanks Ratna and Scott!
Views
Replies
Total Likes