I'm looking for a tool (preferably open source) to work with JackRabbit. For example, I'd like to backup/restore some branches of a repository. Any pointer, recommendation ?
If you are just looking for backup, you can use the included backup capabilities of jackrabbit.
java -jar jackrabbit-standalone.jar --backup \
--repo=jackrabbit \
--conf=jackrabbit/repository.xml \
--backup-repo=jackrabbit-backupN \
--backup-conf=jackrabbit-backupN/repository.xml
However if you are more interested in a general tool I can only recommend the CLI tool of jackrabbit which I think is the swiss army knife for repository operations.
If you want to look at an existing repository in your filesystem you start it with:
java -Xmx256m -jar jackrabbit-standalone-2.2.4.jar --cli file:///scratch/jcr/repository
If you jcr is running remotely you can also connect with jndi, davex, or rmi, depending on how your repository is exposed.
java -Xmx256m -jar jackrabbit-standalone-2.2.4.jar --cli http:///localhost:8080/server
java -Xmx256m -jar jackrabbit-standalone-2.2.4.jar --cli rmi:///localhost:1099/jackrabbit
Once you have logged in you can do all sorts of repository navigation, node creation or querying. You also have the export and import commands which can export respective import to and from a file in the filesystem.
exportsys /testbranch /tmp/export.xml
There are more parameters that you can see by typing
help exportsys
All available commands can be seen with
help
There are some caveats of this tool as it doesn't support more sophestic operations like ACL modifications or node type creation but for the basic stuff it is my favorite.