Releases: exadel-inc/etoolbox-authoring-kit
Exadel Authoring Kit 2.1.1
New features
- Injectors: Ability to adapt entities injected via
@Child
and@Children
from bothSlingHttpServletRequest
andResource
.
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
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
New features
- Another dialog widget supported - create
ButtonGroup
s (see) with Java code annotations. - Extended support of
TextField
s andTextArea
s - 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 theforceIgnoreFreshness
flag. - Improved project documentation.
Issues managed
- EAK-270, EAK-272, EAK-275
Exadel Authoring Kit 2.0.7
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
andgetText()
). - 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
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
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
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
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
(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
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.