A simple application to access and manage JCR repositories (JackRabbit only at the moment). The following features are planned for the application:
- Save repository access information for easy reuse.
- Display a tree view of the repository.
- Execute XPath or SQL queries against the repository.
- Execute simple full-text searches against the repository.
- CRUD operations on nodes.
- Import/export to and from the repository.
- Support versionable nodes (view and create)
The following additional features may be added to the project:
- Support remote repositories (WebDav, RMI etc.).
- Develop desktop version of the application.
- Support other implementations (depends upon free availability).
- Support JCA Managed Repositories.
Jcr Manager is fully tested in Tomcat.
Jcr Manager is a web application (war file) and may work without any configuration.
By default, Jcr Manager save their files in directory /var/data/sptjcrmanager. So, this directory should exist (at least /var/data should exist) and the application server user may need permissions to write on this directory.
You may change this directory defining the environment variable sptjcrmanager.data.dir.
JAVA_OPTS="$JAVA_OPTS -Dsptjcrmanager.data.dir=/var/data/sptjcrmanager/1.0" JAVA_OPTS="$JAVA_OPTS -Dsptjcrmanager.query.history=50"
Jcr Manager may access JNDI repositories. If you want to access a JNDI repository, configuration of resources follows standard JEE application rules. The included WEB-INF/web.xml file have a commented out resource-ref element similar to:
<resource-ref> <description>SPT JCR</description> <res-ref-name>jcr/spt</res-ref-name> <res-type>javax.jcr.Repository</res-type> <res-auth>Container</res-auth> </resource-ref>
You can uncomment and change as necessary. You should see the configured resources appear in the menu.
If you want to create a BindableJackRabbit repository you may also has to change context.xml and uncomment the Resource definition:
<Resource configFilePath='/var/data/jcr/repository.xml' factory='org.apache.jackrabbit.core.jndi.BindableRepositoryFactory' name='jcr/spt' repHomeDir='/var/data/jcr' type='javax.jcr.Repository' auth='Container' />
You can either build the war from the sources with the modified web.xml file, or deploy as an exploded directory. In Tomcat, just shutdown tomcat and remove the war file and work off the previously exploded directory.
Notice Jcr Manager search for resources inside java:/comp/env/jcr environment and shows all the javax.jcr.Repository resources found inside this environment in menu. Resources outside java:/comp/env/jcr should not appear in menu.
- Actually this project does not support JCA Managed Repositories.