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
Bot releases are hidden (Show)
Published by smiakchilo about 1 month ago
New features
<executions>
section.Updates and fixes
Documentation
Issues managed
Published by smiakchilo 4 months ago
New features
@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.Updates and fixes
@AllowedChildren
policies in a separate Java class/interface and reuse them across components.StringTransformation
variants more useful when working with num-based option sourcesDocumentation
Issues managed
Published by smiakchilo 8 months ago
New features
<componentsReferenceBase>
configuration property to assemble AEM components based on differen Java packages.Updates and fixes
@DropTarget
properties.Documentation
Issues managed
Published by smiakchilo 9 months ago
New features
@MaxChildren
annotation that allows to flexibly limit the number of child components per containerUpdates and fixes
Documentation
Published by smiakchilo 11 months ago
New features
@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.Updates and fixes
@Dialog
dimensions are now skipped. Provides better dialog display in some installations.Documentation
Issues managed
Published by smiakchilo about 1 year ago
New features
@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
visibility
action.Autocomplete
.Metadata
and Property
abstractions.Documentation
Issues managed
Published by smiakchilo over 1 year ago
New features
@RequestAttribute
injector.@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
@Child
and @Children
injectors apply prefix/postfix filtering to subresources.Documentation
Issues managed
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
@AllowedChildren
policies to root containers.Documentation
Issues managed
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.@PathField
with many new attributes including the ones which arrived in Adobe Granite with AEM 6.5.10 (the "droppable" feature).Updates and fixes
@AllowedComponents
. The constant can be stored elsewhere in the code base and reused.Documentation
Issues managed
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.@PathField
with many new attributes including the ones which arrived in Adobe Granite with AEM 6.5.10 (the "droppable" feature).Updates and fixes
** Documentation**
Issues managed
Published by smiakchilo over 2 years ago
New features
@Child
and @Children
from both SlingHttpServletRequest
and Resource
.Fixes and enhancements
@NotNull
and @Nullable
guidance annotations to the API methods;** Issues managed**
EAK-295; technical stories.
Published by smiakchilo over 2 years ago
New features
ListHelper
).@FixedColumns
annotation.Fixes and enhancements
@Place
an arbitrary widget into an arbitrary in-dialog container. Nested containers are supported.@Ignore
an arbitrary widget in any container, including nested containers.Issues managed
EDMTP-152, EAK-239, EAK-259, EDMTP-384, EDMTP-385, EDMTP-419, EDMTP-434, EDMTP-435, EDMTP-436
Published by smiakchilo almost 3 years ago
New features
ButtonGroup
s (see) with Java code annotations.TextField
s and TextArea
s - all the properties according to the spec.Updates and fixes
forceIgnoreFreshness
: we made sure that the pre-existing properties are correctly rendered when the dialog is updated with the forceIgnoreFreshness
flag.Issues managed
Published by smiakchilo almost 3 years ago
New features
forceIgnoreFreshness
feature (see) not only for a particular component but for the entire dialog.Updates and fixes
@Place
annotation now understands the _Super
presudoclass.text
and getText()
).@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.@Multipe
is added to a class member which defines a complex dialog widget, such as @RichTextEditor
.update-options
DependsOn action restore selected options when more than one options needs to be selected.Published by smiakchilo about 3 years ago
New features
Updates and fixes
@Miltiple
.Published by smiakchilo over 3 years ago
New features
Updates and fixes
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).DependsOn
fixes and code optimization.Published by smiakchilo over 3 years ago
New features
@AemComponent
if missing in the package (create components on the fly).Updates and fixes
OptionProvider
allows creating option sets containing only static values (without the need to specify JCR sources).DependsOn
validation and widget showing/hiding logic.Documentation
Published by smiakchilo over 3 years ago
New features
@Include
annotation for including JCR resources into Touch UI dialogs.Updates and fixes
Documentation and visual styles
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
@AemComponent
, @Dialog
, @DesignDialog
in addition to @EditConfig
, @ChildEditConfig
, @HtmlTag
).@Dialog
, another class/interface with @DesignDialog
, etc., and yet they assemble into the one AEM component.Property
-s, and custom annotation properties' renditions.@Accordion
, @Tabs
, @AnchorButton
, @Hyperlink
, @Text
.Plus: multiple performance optimizations and bug fixes for the core, plugin, and the DependsOn microframework.
New authoring experience
@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.
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;terminateOn
config giving the possibility to flexibly turn on/off exceptions and groups of exceptions that would interrupt Maven build workflow.Updates and fixes:
Assets/DependsOn module
New features:
Updates and fixes:
DependsOnRef
;Sample project
Updated with the features and improvements of recent releases.