Yesterday I added the sources of our CMIS and WebDAV adapters to our main repository on svn.flexive.org. They are still under development, so no binary releases yet, but especially the WebDAV adapter is already quite useable. If you want to build them now, please follow these steps…
Get and build Chemistry
Chemistry is an incubating project at Apache and provides a generic implementation of a server-side CMIS connector. The idea is that the content repository only has to implement a modest set of backend methods, and Chemistry will provide the rest (like AtomPub and WebService bindings). Currently there are no releases of Chemistry yet, so we need to build it on our own (all instructions are for Unix, please adopt slightly when using Windows):
Update 2010-01-08: Flexive tracks the Chemistry trunk version again, so please checkout http://svn.apache.org/repos/asf/incubator/chemistry/trunk instead.
mkdir build
cd build
svn checkout http://svn.apache.org/repos/asf/incubator/chemistry/branches/0.62 chemistry-reactor
cd chemistry-reactor
mvn install
cd chemistry
mvn install
Get the CMIS/WebDAV modules
The CMIS and WebDAV modules of [fleXive] are also built with Maven 2. To build them, we don’t need the entire [fleXive] source tree, as the [fleXive] artifacts will be resolved from our Maven repository.
cd ../..
svn checkout http://svn.flexive.org/repository/flexive/trunk/modules/chemistry flexive-chemistry
cd flexive-chemistry
mvn install
The “mvn install” step will also run some tests with an embedded [fleXive] container, if you want to skip them pass “-DskipTests” on the command line.
Installation
The interesting artifacts produced by the build are two web applications:
flexive-webdav-webapp/target/flexive-webdav.warcontains the WebDAV adapterflexive-atompub-webapp/target/flexive-atompub.waris the CMIS AtomPub connector
To use them, add the WAR files to your flexive.ear (when using Maven, add a dependency to the WAR artifact, when using the flexive distribution, add them to the flexive-dist/applications directory, when building [fleXive] from source put them in the drop/ directory). Note that both adapters are under active development, and are not yet in a stable state. The CMIS adapter used to work against the CMIS Spaces and CMIS Explorer clients, but the clients have moved to newer versions of the standard since then. The WebDAV adapter is based on Milton and works quite well, although it’s also not recommended for production use. I tested it with KDE’s Dolphin, Gnome Nautilus (only works when it is bound to the root web context), cadaver (Linux command line client), and Windows XP. It also passes quite a few tests of the litmus WebDAV test suite, which of course is entirely to be attributed to the excellent Milton WebDAV library.