ICF Next maintains several open source libraries for the Adobe Experience Manager platform. In anticipation of the release of AEM version 6.5, we’ve updated our libraries (detailed below) to provide preliminary support for the upcoming 6.5 release in addition to backward compatibility with AEM versions 6.3 and 6.4. Historically, these libraries have been coupled to a specific version of AEM; with these latest releases, the libraries have been transitioned to a new dependency model that supports usage with a range of AEM versions (currently 6.3 through 6.5).
AEM Groovy Extension
The AEM Groovy Extension is an OSGi bundle containing Groovy builders and metaclasses for Adobe Experience Manager. The metaclasses effectively “enhance” the provided APIs for Groovy code executed in the AEM runtime (e.g. components/services written in Groovy or via the Groovy Console). See the project documentation for details on the enhanced interfaces.
Prosper is a Groovy-based unit/integration testing library for AEM projects that leverages the power of Spock, a testing framework that is notable for it’s highly expressive specification language. The Spock syntax provides an elegant, efficient way for developers to build test content, mock dependencies, and produce data-driven specifications for their components, while the underlying AEM Mock and Sling testing frameworks ensure that tests written in Prosper accurately simulate a production AEM environment.
AEM Groovy Console
The Groovy Console provides an interface for executing Groovy scripts in the AEM container. Scripts can be created for testing, debugging, providing bulk content updates, or executing any arbitrary code using the AEM, Sling, or JCR APIs.
In addition to compatibility changes for AEM versions 6.3, 6.4, and 6.5, the Groovy Console has received several other enhancements, including:
- New extension for compiler customization (whitelist/blacklist language features to limit script functionality in different environments)
- Added documentation for custom bindings and star imports
- Reorganized content structure in alignment with latest AEM 6.4/6.5 conventions
ICF Next’s AEM Library contains utilities, decorators, abstract classes, and Sling Model injectors for bootstrapping and simplifying AEM projects. Version 12.0.0 was just released to support AEM versions 6.3, 6.4, and 6.5, in addition to a few minor enhancements as detailed in the GitHub release notes.
We would love to hear your feedback on these updates and welcome suggestions/contributions from the AEM developer community!