Skip to content

Releases: exadel-inc/etoolbox-authoring-kit

Exadel Authoring Kit 2.1.1

16 Mar 12:34
377be42
Compare
Choose a tag to compare

New features

  • Injectors: Ability to adapt entities injected via @Child and @Children from both SlingHttpServletRequest and Resource.

Fixes and enhancements

  • Added @NotNull and @Nullable guidance annotations to the API methods;
  • Updated visual styles;
  • Enhanced documentations.

Issues managed
EAK-295; technical stories.

Exadel Authoring Kit 2.1.0

04 Mar 18:17
e04f50b
Compare
Choose a tag to compare

New features

  • Ability to create EToolbox Lists in code (see ListHelper).
  • A bunch of feature-rich Sling injectors:
    -- for injecting request selectors into Sling models;
    -- for injecting suffixes;
    -- for injecting HTTP request parameters;
    -- for injecting EToolbox Lists by their paths;
    -- for injecting a child/relative Sling resource or Sling model by its path (supports extracting virtual "sub-resources" by a subset of properties);
    -- for injecting a collection of child/relative Sling resources or Sling models (sports filtering with a Java predicate).
  • New in-dialog container that you can define with the @FixedColumns annotation.

Fixes and enhancements

  • Ability to @Place an arbitrary widget into an arbitrary in-dialog container. Nested containers are supported.
  • Ability to @Ignore an arbitrary widget in any container, including nested containers.
  • Full support of page properties dialogs.
  • Enhanced documentation.

Issues managed
EDMTP-152, EAK-239, EAK-259, EDMTP-384, EDMTP-385, EDMTP-419, EDMTP-434, EDMTP-435, EDMTP-436

Exadel Authoring Kit 2.0.8

08 Jan 10:26
Compare
Choose a tag to compare

New features

  • Another dialog widget supported - create ButtonGroups (see) with Java code annotations.
  • Extended support of TextFields and TextAreas - all the properties according to the spec.

Updates and fixes

  • Dialog-level forceIgnoreFreshness: we made sure that the pre-existing properties are correctly rendered when the dialog is updated with the forceIgnoreFreshness flag.
  • Improved project documentation.

Issues managed

  • EAK-270, EAK-272, EAK-275

Exadel Authoring Kit 2.0.7

29 Nov 12:31
Compare
Choose a tag to compare

New features

  • Ability to set up forceIgnoreFreshness feature (see) not only for a particular component but for the entire dialog.
  • Ability to force composite multifield mode (data stored in subnodes, rather than arrays) for a one-widget multifield.

Updates and fixes

  • @Place annotation now understands the _Super presudoclass.
  • Added the possibility to specify different widget annotations for the field and the similarly named accessor method (e.g., text and getText()).
  • Fixed @Replace processing logic: not observing the manually specified order of widgets in the target class; crashing when the same field is set to be replaced several times.
  • Fixed multifields not properly rendered when @Multipe is added to a class member which defines a complex dialog widget, such as @RichTextEditor.
  • Made update-options DependsOn action restore selected options when more than one options needs to be selected.
  • UI: improved complex multifields performance.
  • Improved compatibility with AEM as a Cloud Service.

Exadel Authoring Kit 2.0.6

04 Aug 22:38
493fa98
Compare
Choose a tag to compare

New features

  • Ability to specify a Sling TypeHint/DeleteHint for a Multifield.
  • Ability to exclude EToolbox Lists' pages from search indexing.

Updates and fixes

  • Fixed extra dialog fields being rendered in a tab when using the "tabs from nested classes" setup.
  • Fixed the login of moving widget's properties to the nested container of a multifield when using @Miltiple.
  • Fixed the cause for the "component already started" exception occasionally logged on bundle restart.
  • Documentation updates.

Exadel Authoring Kit 2.0.5

15 Jun 12:40
a25eeb1
Compare
Choose a tag to compare

New features

  • Ability to create page properties dialogs.
  • Display of plugin statistics at the end of execution.

Updates and fixes

  • A default cq:editConfig node is created when neither of the dialogs is specified for a component (allows a component to still appear in the "Insert new component" popup and the component rail when a component dialog is not needed).
  • Fixed replication status display of Exadel Toolbox Lists content policies.
  • DependsOn fixes and code optimization.
  • Documentation updates.

Exadel Authoring Kit 2.0.4

03 Jun 16:11
885580c
Compare
Choose a tag to compare

New features

  • Ability to create a folder for the path specified in @AemComponent if missing in the package (create components on the fly).
  • Ability to set up custom views for Exadel Toolbox List item: item properties and item preview section.

Updates and fixes

  • OptionProvider allows creating option sets containing only static values (without the need to specify JCR sources).
  • Open Exadel Toolbox List item dialog with a double click.
  • Fixes in DependsOn validation and widget showing/hiding logic.

Documentation

  • Complete Javadoc on API and core functionality published here.

Exadel Authoring Kit 2.0.3

03 May 09:32
2f1efb4
Compare
Choose a tag to compare

New features

  • @Include annotation for including JCR resources into Touch UI dialogs.
  • Ability to specify an absolute path to a component in @AemComponent(path = ...) regardless of componentsPathBase config value.
  • Ability to exclude one or more options from rendering despite stored in a JCR resource when using OptionProvider.

Updates and fixes

  • Fixed an interference between ordinary HTTP query parameters and OptionProvider config values when using in a Granite console.
  • Overal stability improvements and fixes.

Documentation and visual styles

  • New graphic identity in line with Exadel Toolbox visual style.
  • Improved README, Javadoc, and Jsdoc.

Exadel Authoring Kit 2.0.2

07 Apr 23:26
46f7c1a
Compare
Choose a tag to compare

(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.

AEM Authoring Toolkit 1.2.1

20 Aug 09:06
Compare
Choose a tag to compare

AEM Authoring Toolkit API and Maven plugin

New features:

  • @HtmlTag anntation to define a specific wrapper tag for an AEM component;
  • @Multiple annotation that allows to create a multifield out of a single widget field with no need of a special servce class;
  • Adanced terminateOn config giving the possibility to flexibly turn on/off exceptions and groups of exceptions that would interrupt Maven build workflow.

Updates and fixes:

  • More verbose and flexible setup of Select widget;
  • Updated ImageUpload API;
  • Ability to set properties of Heading and Alert widgets;
  • Check and report if duplicate node names within a container would cause unexpected rendering;
  • More informative javadoc and user manuals; guides on usage of Coral utility classes.

Assets/DependsOn module

New features:

  • DependsOn updated to internal version 2.4.1;
  • Brand new fetch action to asynchronously rertieve an arbitrary resource's vaue.

Updates and fixes:

  • Ability to skip default field name in DependsOnRef;
  • Enhanced support of object/JSON values inside DependsOn references;
  • Code optimizations and fixes.

Sample project

Updated with the features and improvements of recent releases.