Skip to content

Exadel Authoring Kit 2.0.2

Choose a tag to compare

@smiakchilo smiakchilo released this 07 Apr 23:26
· 1658 commits to master since this release
46f7c1a

(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, @DesignDialog in 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.