Posts by tag : Tools

Recap. rsync for AEM

rsync for CRX! Recap is based on the ‘vlt rcp’ command, but focuses on providing a simple web interface for syncing content between CRX instances, using a browser or a command-line tool like curl.


Carty is an integrated tool to create, edit, review and test Sling mappings for Adobe CQ/AEM. Read more.

  • mapping generator - enter domain and the content path and Carty will take of everything else,
  • mapping editor - edit, move, create and delete sling:Mapping entries,
  • tester - check what will be the result of the map or resolve operation,
  • highlighter - Carty explains which entries have been applied to a specific part of the tested URL,
  • configuration - you may choose any path to create mappings, it doesn’t have to be the mapping root currently set in the Resource Resolver

PhoneGap Developer App

The PhoneGap Developer app is a testing utility for web developers and designers using the PhoneGap framework. After installing the PhoneGap Developer app you can connect to your PhoneGap desktop app to instantly view and test your project on the device.

For more information, see

PhoneGap App Desktop

The PhoneGap Desktop App is the easiest way to get started with PhoneGap. It’s an alternative to the PhoneGap CLI, yet it uses the same libraries under-the-hood.

CRX Content Package Deployer Plugin

Deploys content packages to AEM applications.

  • Supports password-less HTTP Signature authentication using your configured SSH Private Keys, eliminating the need to coordinate password exchange between developers, devops, and operations teams.
  • Downloads and/or deploys 1-to-many CRX packages per execution, and deploys each CRX package to 1-to-many servers per execution
  • The multiselect-enabled Package Choice Parameter allows for execution of parameterized builds using a selection widget populated with a list of packages retrieved from a CRX server.

CQ Unix Toolkit

CQ Unix Toolkit is a set of POSIX shell tools that calls curl and other 3rd party commands to perform some different tasks on Adobe CQ platform such as:

  • Create, Build, upload, list, download, install and deletion of CRX zip packages
  • Maintenance tasks: consistency checks, TarPM compaction and index merge, DataStore garbage collection
  • Clear/invalidate dispatcher cache for subtree specified by /statfilelevel
  • Active workflow instances list
  • Display OSGI bundles list and start/stop specified bundles

Each action is wrapped in separate stand-alone script with additional usage output that allows to perform these tasks easily.

AEM Developer Chrome extension

Chrome extension for AEM developers. A collection of tools and links to help the daily AEM developer work a little faster. It’s a work in progress. Please feel free to provide feedback on my little side project.

Homebrew brews

Collection of Homebrew formulae for Adobe Marketing Cloud tools.
To add this to your taps (available homebrew repos): brew tap adobe-marketing-cloud/brews Then install via: brew install adobe-marketing-cloud/brews/<formula>


Prosper is an integration testing library for AEM (Adobe CQ) projects using Spock, a Groovy-based testing framework notable for it’s expressive specification language. The library contains a base Spock specification using an in-memory repository for JCR session-based testing and also includes basic Sling request and resource implementations for testing interactions between CQ objects.

  • Test AEM projects outside of an OSGi container in the standard Maven build lifecycle.
  • Write test specifications in Groovy using Spock, a JUnit-based testing framework with an elegant syntax for writing tests more quickly and efficiently.
  • Extends and augments the transient JCR implementation provided by the Apache Sling Testing Tools to eliminate the need to deploy tests in OSGi bundles for most testing scenarios.
  • more…

OSGi Bundle Status Maven Plugin

The OSGi Bundle Status Maven Plugin is used during the install phase of the build lifecycle to check the status of one or more bundles in an OSGi container, such as Apache Felix. The plugin expects the OSGi container to be running at build time in order to connect and perform the check remotely. A typical use case for the plugin would be to verify that an OSGi bundle that is deployed by the project is running as expected after a successful build.

See the project site for the User Guide and project details.

AEM Groovy Console

The AEM Groovy Console provides an interface for running Groovy scripts in the AEM container. Scripts can be created to manipulate content in the JCR, call OSGi services, or execute arbitrary code using the CQ, Sling, or JCR APIs.

For more information on the Plugin and its usage, please see the CQ Groovy Console site


Canary is a framework that enables simple monitoring of OSGi components and services. The Canary API provides a set of interfaces and annotations that quickly enable developers and engineers to peer into critical aspects of their system. Canary does this by collecting data from registered, monitored services and distributing that data to notification agents, poll response handlers, and persistence services. Canary also aims to reduce outage response and investigation by escalating log levels for problematic services and informing necessary parties of precisely where an investigation might begin. Lastly, Canary provides a clean, responsive UI for viewing collected data and other metrics, in addition to exposing data via JMX beans.

See the project site for the User Guide and project details.

AEM Brackets Extension

Sightly is the new HTML templating system introduced with Adobe Experience Manager 6.0. The AEM Brackets Extension provides a smoother development workflow for writing AEM components, offering several features like:
* Sightly syntax-highlighting;
* code-completion for Sightly expressions, data-sly-* block elements and Use-API Java objects;
* bidirectional synchronisation.

AEM Project Archetype

Maven template to create a new AEM project as starting point to develop your own functionality.

mvn archetype:generate \
 -DarchetypeGroupId=com.adobe.granite.archetypes \
 -DarchetypeArtifactId=sample-project-archetype \