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 instead of the command-line.
The primary motivation for the development of this application (besides the possibility of winning a MacBook Pro) was to enable a team of CQ developers in a shared testing environment to work more easily with content creators and QA testers to troubleshoot bugs and other issues on their local machines without having to waste as much time as they currently do with the overhead of creating packages specific to the problem, downloading those packages, and installing them locally.
The core Recap API is also designed to be extensible and applicable to remote JCR content sync challenges of all kinds. A Recap service is available to other OSGi services that provides a method to create a RecapSession, which encapsulates a single JCR sync session between the local JCR repository and a remote repository identified by a RecapAddress. The recap interfaces fully encapsulate the undlerlying implementation based on JCR DavEX similar to the way the VLT tool's rcp command is implemented.
The source for the application is very instructive in terms of how to structure a modular maven build to assemble a package for the CQ/Granite UI while retaining API and library compatibility with Apache Sling so that many utilitarian elements of the functionality can be reused between projects. The recap modules, net.adamcin.recap.core and net.adamcin.recap.addressbook are dependent only on non-proprietary Sling and Jackrabbit packages, while the net.adamcin.recap.replication and recap-graniteui modules provide the CQ-specific configuration, functionality, and user interface elements.
In addition, the Recap project also makes some use of the Sling Junit / Testing Tools Framework to demonstrate how the framework can be used with the vltpack-maven-plugin in the context of a continuous integration process with a central integration CQ instance.
This expects your local instance to be accessible at localhost on port 4502 with default admin credentials. To install it on a different server, you can use the User Properties listed on the vltpack-maven-plugin:upload-from-repo goal documentation.
Recap was one of five winning entries in the 2013 Adobe CQ Package Share Contest !