AEM provides various mechanisms to enable you to customize the page authoring functionality (and the consoles) of your authoring instance.
Clientlibs allow you to extend the default implementation to realize new functionality, while reusing the standard functions, objects, and methods. When customizing, you can create your own clientlib under /apps. The new clientlib must:
- depend on the authoring clientlib cq.authoring.editor.sites.page
- be part of the appropriate cq.authoring.editor.sites.page.hook category
Overlays are based on node definitions and allow you to overlay the standard functionality (in /libs) with your own customized functionality (in /apps). When creating an overlay a 1:1 copy of the original is not required, as the sling resource merger allows for inheritance.