Repository navigation
Exadel Authoring Kit 2.0.2
(Formerly AEM Authoring Toolkit)
This is the first release of the version 2 branch. The project has been rebranded but retains compatibility with AEM Authoring Toolkit both in its philosophy and codebase.
Overall changes
Project structure now complies with the modern AEM project archetype by Adobe.
Former api module has been renamed to core. Former assets package is now the cumulative all package that comprises ui.apps and ui.content modules.
New and updated features
- We introduced the intuitive annotation structure that maps to the AEM component node structure (now having
@AemComponent,@Dialog,@DesignDialogin addition to@EditConfig,@ChildEditConfig,@HtmlTag). - We implemented the ability to spread component definitions across multiple Java classes and interfaces, if reasonable. E.g. a Java class may be annotated with
@Dialog, another class/interface with@DesignDialog, etc., and yet they assemble into the one AEM component. - Ability to put annotations to not only fields but also methods, including interface methods.
- Brand new handlers/customization API with Java-native methods for traversing and modifying markup. More intuitive and error-proof. See documentation for details.
- Ability to register custom handlers to all of the component nodes, not only dialog and dialog fields.
- Ability to create either handler-processed or automapped custom annotations bound to any component node.
- New dialog layout option: Accordion-shaped dialogs.
- Ability to specify relative paths in FieldSets' prefixes and postfixes, custom
Property-s, and custom annotation properties' renditions. - A bunch of new dialog widgets:
@Accordion,@Tabs,@AnchorButton,@Hyperlink,@Text.
Plus: multiple performance optimizations and bug fixes for the core, plugin, and the DependsOn microframework.
New authoring experience
- Introducing EToolbox Lists - an advanced rendition of authorable structured dictionary storage (somewhat similar to the ACS AEM Commons lists but with the support of an arbitrary number of values in a list entry, any data type).
- Option Provider - the way to create a list of options consumable by option selector components, such as
@Select/Dropdown or@RadioGroup, from an arbitrary list, tag folder, or just a node with its child nodes. Allows modifying options on the fly as a foreign component's value changes.
Deprecation and cleanup
API traits that were deprecated in versions 1.0.2-1.2.1 have been removed. Several other traits have been deprecated in favor of modern ones. A proper alternative is proposed for each of them in Javadoc.
Documenting
New documentation has been introduced.
Sample project
Updated with the features and improvements of recent releases.