etoolbox-authoring-kit

Offers a set of tools that create Granite UI authoring interfaces for Adobe Experience Manager components from Java code. This is a comprehensive solution that makes different widgets work in a coordinated manner, provides greater interactivity in AEM dialogs, and introduces additional features (customizable data lists, options selection, etc.)

APACHE-2.0 License

Stars
100

Bot releases are visible (Hide)

etoolbox-authoring-kit - EToolbox Authoring Kit 2.5.3 Latest Release

Published by smiakchilo about 1 month ago

New features

  • Added support for configurations specified inside Maven <executions> section.

Updates and fixes

  • Fixed an exception being reported by the ToolKit's Maven plugin when no plugin configuration is specified.
  • Updated the clientlibs embedding routine.
  • DependsOn: Fixed date parsing in Coal DetePicker.

Documentation

  • Updated project documentation.

Issues managed

  • EAK-517, EAK-540, EAK-542
etoolbox-authoring-kit - Exadel Authoring Kit 2.5.2

Published by smiakchilo 4 months ago

New features

  • Implemented a better @Setting-s inheritance pattern when working with fieldsets. Now a @Setting declared in any superclass of the current class is recognized by a fieldset that is referenced by the current class.
  • Implemented a regression profile for testing a new version of the ToolKit with your AEM project or testing variants of changes to your project with the same version of ToolKit. See the "Doing regression testing" section at https://authoring-kit.com.

Updates and fixes

  • Added the ability to store @AllowedChildren policies in a separate Java class/interface and reuse them across components.
  • Improved the handling of multifields inside prefixed fieldsets.
  • Made the StringTransformation variants more useful when working with num-based option sources
  • Fixes and small improvements in the DependsOn module.

Documentation

  • Updated project documentation.

Issues managed

  • EAK-490, EAK-502, EAK-516, EAK-518, EAK-519, EAK-523, EAK-527
etoolbox-authoring-kit - Exadel Authoring Kit 2.5.1

Published by smiakchilo 8 months ago

New features

  • Ability to specify several values in the <componentsReferenceBase> configuration property to assemble AEM components based on differen Java packages.
  • Introduces a dedicated log file for ETolbox Authoring Kit server-side logic.

Updates and fixes

  • Added compile-time validation of @DropTarget properties.
  • More thorough cleaninig-up of service data while building the artifacts of the project.

Documentation

  • Updated project documentation.

Issues managed

  • EAK-510, EAK-511, EAK-512, EAK-513.
etoolbox-authoring-kit - Exadel Authoring Kit 2.5.0

Published by smiakchilo 9 months ago

New features

  • New @MaxChildren annotation that allows to flexibly limit the number of child components per container

Updates and fixes

  • Several fixes and optimizations in the policies logic.

Documentation

  • Updated project documentation.
etoolbox-authoring-kit - Exadel Authoring Kit 2.4.1

Published by smiakchilo 11 months ago

New features

  • Full-scale support of standard Sling @Default annotation in ToolKit's injectors (@RequestAttribute, @RequestParam, @EnumValue et al.). Type coercion included: you can. e.g., provide a default for an injectable enum as a stringified value. See docs for details.
  • Support of Maven toolchains.

Updates and fixes

  • Better support of AEMaaCS builds.
  • Default @Dialog dimensions are now skipped. Provides better dialog display in some installations.
  • Minor UX improvements in EToolbox Lists.

Documentation

  • Updated project documentation.

Issues managed

  • EAK-454, EAK-486, EAK-488, EAK-492, EAK-494, EAK-496, EAK-497.
etoolbox-authoring-kit - Exadel Authoring Kit 2.4.0

Published by smiakchilo about 1 year ago

New features

  • Support scriptable values in annotations' properties. You can reuse your fieldsets many times with alternative labels/default values/dropdown options/etc. and render your Granit UI components and widgets differently depending on the programming context, such as what is the current Java file or package.
  • Brand new @Setting annotation to define variables used in scripting.
  • @OptionProvider now supports Java enums as well as Java classes containing constants as option sources.
  • @OptionProvider allows specifying a network JSON endpoint exposing tree-like data (and not only array-like data) as an option source.

Updates and fixes

  • DependsOn: Added variations of visibility action.
  • DependsOn: Added validation of Autocomplete.
  • DependsOn: Implemented the way to disable a whole fieldset.
  • Added a communication mechanism between DependsOn and third-party JS logic over fields state.
  • Unified ways of managing annotations within the ToolKit plugin via the Metadata and Property abstractions.

Documentation

  • Updated project documentation.

Issues managed

  • EAK-355, EAK-359, EAK-429, EAK-455, EAK-456
etoolbox-authoring-kit - Exadel Authoring Kit 2.3.0

Published by smiakchilo over 1 year ago

New features

  • Brand new @RequestAttribute injector.
  • Brand new @EnumValue injector.
  • @OptionProvider now supports Java enums as well as Java classes containing constants as option sources.
  • @OptionProvider allows specifying a network JSON endpoint exposing tree-like data (and not only array-like data) as an option source.

Updates and fixes

  • All injectors' logic and APIs are unified to support advanced type coercion of injected values. When injecting, strings are converted to numeric types and back if needed, collections are converted to arrays and back if needed, etc.
  • @Child and @Children injectors apply prefix/postfix filtering to subresources.
  • Implemented integration tests for the browser-bound features.
  • Multiple bug fixes and minor updates.

Documentation

  • Updated project documentation.
  • Revised basic ToolKit annotations' targets to improve the code-first dialog designing and validation technique.

Issues managed

  • EAK-365, EAK-381, EAK-382, EAK-383, EAK-399, EAK-397, EAK-414, EAK-423, EAK-433, EAK-446, EAK-448
etoolbox-authoring-kit - Exadel Authoring Kit 2.2.2

Published by smiakchilo about 2 years ago

New features

  • @AllowedChildren supports specifying not just components' paths but also components' class references for the ease of setting up policies.
  • DependsOn handlers now support proper escaping of inline Javascript entities (such as arrays).

Updates and fixes

  • Fixed applying @AllowedChildren policies to root containers.
  • Refactored and expanded tests in the plugin module.

Documentation

  • Revised the "Debugging Custom Logic" documentation section; updated the website docs.
  • Improved Javadoc.

Issues managed

  • EAK-401, EAK-372, EAK-370, EAK-360.
etoolbox-authoring-kit - Exadel Authoring Kit 2.2.1

Published by smiakchilo about 2 years ago

New features

  • @AllowedChildren now supports specifying policies for "top-level" containers (such as a root parsys/iparsys/grid of a page) if attached to a Java class that matches a page component. The whole range of options for an ordinary component policy is also available for top-level containers.
  • @OptionSource received support for URLs pointing to a local/network HTTP endpoint serving JSON data. JSON can be used as a primary datasource for a @Select or @RadioGroup, backed up with a JCR datasource, or vice versa.
  • Enhanced @PathField with many new attributes including the ones which arrived in Adobe Granite with AEM 6.5.10 (the "droppable" feature).

Updates and fixes

  • Can provide s string constant containing a list of components/templates/etc. for the @AllowedComponents. The constant can be stored elsewhere in the code base and reused.
  • Minor code optimizations and fixes.

Documentation

  • Second, vastly updated and optimized rendition of the project's website with extended documentation and samples.
  • Improved Javadoc.

Issues managed

  • EAK-260, EAK-330, EAK-331, EAK-332. EAK-347.
etoolbox-authoring-kit - Exadel Authoring Kit 2.2.0

Published by smiakchilo over 2 years ago

New features

  • @AllowedChildren annotation - control and adjust lists of child components available in a container component with Java code without digging into editable templates' policies or static templates' designs.
  • @I18N annotation and injector - flexibly inject in your Sling models I18n helpers or particular localized strings. There are a number of ways to detect the current locale - from page path to an arbitrary Java routine.
  • Enhanced @PathField with many new attributes including the ones which arrived in Adobe Granite with AEM 6.5.10 (the "droppable" feature).

Updates and fixes

  • Code optimizations, minor bug fixes.
  • Improved clientlibs' taxonomy.

** Documentation**

Issues managed

  • EDMTP-154, EAK-305, EAK-307, EAK-309.
etoolbox-authoring-kit - Exadel Authoring Kit 2.1.1

Published by smiakchilo over 2 years ago

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.

etoolbox-authoring-kit - Exadel Authoring Kit 2.1.0

Published by smiakchilo over 2 years ago

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

etoolbox-authoring-kit - Exadel Authoring Kit 2.0.8

Published by smiakchilo almost 3 years ago

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
etoolbox-authoring-kit - Exadel Authoring Kit 2.0.7

Published by smiakchilo almost 3 years ago

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.
etoolbox-authoring-kit - Exadel Authoring Kit 2.0.6

Published by smiakchilo about 3 years ago

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.
etoolbox-authoring-kit - Exadel Authoring Kit 2.0.5

Published by smiakchilo over 3 years ago

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.
etoolbox-authoring-kit - Exadel Authoring Kit 2.0.4

Published by smiakchilo over 3 years ago

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.
etoolbox-authoring-kit - Exadel Authoring Kit 2.0.3

Published by smiakchilo over 3 years ago

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.
etoolbox-authoring-kit - Exadel Authoring Kit 2.0.2

Published by smiakchilo over 3 years ago

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

etoolbox-authoring-kit - AEM Authoring Toolkit 1.2.1

Published by smiakchilo about 4 years ago

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.

Package Rankings
Top 29.07% on Repo1.maven.org
Badges
Extracted from project README
javadoc