Jackrabbit is a content repository from the Apache Software Foundation. It only graduated from the Apache Incubator recently, and there is a 1.0 release available. I’m impressed with what I’ve seen so far, but one note of caution is that the documentation (Javadoc) on the site is for the trunk release not the 1.0 release. There are some things you’ll probably want to investigate, like setting up persitence managers that retrieve a DataSource from JNDI. If you download the 1.0 distribution and attempt to use something like JNDIDatabasePersistenceManager you are going to have problems.

To get around this, you can checkout the Jackrabbit source from Subversion and build it using Maven 1.0.2.
If you check out the source, you’ll also want to check out the code in a contrib subproject jcr-commands. If you are looking for good code documentation, you’ll find it in this commandline tool.

I’ve been taking a closer look at JSR-170 lately, mainly because Content Management Systems are probably the single most abused product category in enterprise computing. The industry hasn’t converged on a single definition of what a Content Management System does and does not do, and I see JSR-170 as an attempt to provide some clarity and concepts to what I perceive as the current “Wild West” approach to selecting a CMS. When organziations select a CMS, they are usually selecting the product with the prettiest looking interface, JSR-170 is an attempt to put some badly needed standards and stability behind those pretty content management toolls. From what I’ve seen in JSR-170, I’m interested to see what the next revision of JCR will bring. Work has already begun on JSR-283