Grabbit - Fast Content Sync tool for AEM/CQ
Branch: master
Clone or download
Sagar Sane
Sagar Sane v7.1.5
Latest commit 48a5d8f Aug 26, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Added issue template Oct 22, 2017
assets - Added transaction support Feb 22, 2016
buildSrc Upgrade Gradle to get around tls incompatibility issues when connecti… May 22, 2017
docs v7.1.5 Aug 26, 2018
gradle Upgrade Gradle to get around tls incompatibility issues when connecti… May 22, 2017
src #2 : Updates the debug statement to only write out the node name and … Aug 20, 2018
testutils More accurate AEM6 jars Aug 5, 2015
.gitattributes initial project files Mar 10, 2015
.gitignore More accurate AEM6 jars Aug 5, 2015
.travis.yml Update CI to use openjdk8 and oraclejdk8 for builds Jul 30, 2017
CONTRIBUTING.md initial project files Mar 10, 2015
LICENSE.txt initial project files Mar 10, 2015
README.adoc Update the README for AEM 6.2 support Jan 20, 2017
build.gradle Upgrade Joda-Time to 2.7 and update MANIFEST to accept [2,3) for AEM … Aug 13, 2016
grabbit.sh Added Content-Type header in Curl request for it to work in AEM 6.2 Aug 14, 2016
gradle.properties v7.1.5 Aug 26, 2018
gradlew Now uses 2.3 generated Gradle wrapper Jul 14, 2015
gradlew.bat Now uses 2.3 generated Gradle wrapper Jul 14, 2015
install_protoc_from_source.sh Small modifications to install_protoc_from_source Jun 18, 2018
sample-config.json Add https sync support (fix #149) Oct 3, 2016
sample_config.yaml Add https sync support (fix #149) Oct 3, 2016
settings.gradle Restructuring Gradle build Jul 19, 2016

README.adoc

Grabbit

grabbit grabbit

download

Project Purpose

The purpose of Grabbit is to provide a fast and reliable way of copying content from one Sling (specifically Adobe CQ/AEM) instance to another.

Existing solutions have been tried and found insufficient for very large data sets (GB-TB), especially over a network. CQ’s .zip packages are extremely space inefficient, causing a lot of extra I/O. vlt rcp and Mark Adamcin’s recap use essentially the same mechanism: WebDAV using XML, doing an HTTP handshake for every node and many sets of properties, which means that any latency whatsoever on the network hurts performance enormously.

Grabbit creates a stream of data using Google’s Protocol Buffers aka "ProtoBuf". Protocol Buffers are an extremely efficient (in terms of CPU, memory and wire size) binary protocol that includes compression.

Moreover, by doing a continuous stream, we avoid the latency issues. Depending on the size and nature of the data, as well as network latency, we have so far seen speed improvements ranging from 2 to 10 times that of Recap/vlt.

Note
"Grabbit" obviously refers to this "grabbing" content from one CQ/AEM instance and copying it to another. However it also refers to "Jackrabbit," the reference JCR implementation that the content is being copied to and from.

download