Hello everyone,
in the last week I've been coding a bit (together with Carlo Sciolla and Emanuele Lombardi) on the cmis-confluence-plugin; somewhere last couple of weeks the Apache Chemistry[1] team released the 0.1-SNAPSHOT version of the OpenCMIS client libraries; we've ported the trunk (that was using Apache Chemistry and some legacy code from Abdera) to OpenCMIS and we managed to deliver all core functionalities:
{cmis-docinfo:id=workspace://SpacesStore/096a6cc4-9c03-4606-afe0-16278ca484f6}
{cmis-doclink:id=workspace://SpacesStore/096a6cc4-9c03-4606-afe0-16278ca484f6}
{cmis-embed:id=workspace://SpacesStore/096a6cc4-9c03-4606-afe0-16278ca484f6}
{cmis-search:properties=createdBy;lastModifiedBy}SELECT * FROM cmis:document{cmis-search}
Some parts - like the Attachments view and the Navigation macro - have not been reimplemented yet, since we wanted to have some feedback first; more features can be found on the README[2]
All the links which are rendered via these macros point to a ProxyServlet deployed on Confluence (and shipped with the plugin); this Proxy abstracts the access to the CMIS repository, solving proxied/firewalled connection issues between the end-user and the CMIS server; additionally, the user does not need to type the the CMIS server authentication, since it is handled via the plugin configuration; thanks a lot to Jason Edwards[3], that released his ProxyServlet[4] under Apache License v2 and allowed us to include it into our project!
The implementation is clean (might be cleaner ;-) and mostly easy to understand (12 Java classes, 8 non-Java classes, README included ;-) and we'd really like to discuss which level of integration is required in the most common cases (read, write, both?) or which features should be prioritized (Look 'n feel and better configuration VS new macros); there's already a small TODO[5] list you can check
We shipped a test which runs against
cmis.alfresco.com; try it yourself! Checkout the code, check the README[2] and run "mvn test"
The old code has been copied into a branch[6] and the new implementation has been committed into the trunk.
Release: our first priority is to get rid of SNAPSHOT dependencies (opencmis-client and confluence-test) and do a complete release cycle using Apache Maven (already configured); soon we will be able to ship a JAR file in a stable location everytime we want to release new features; for the time being, I've uploaded a cmis-confluence-plugin-1.1-SNAPSHOT.jar[7] for those who would like to try it.
A special thanks to our Alfresco friends who provided me tons of documentation and code on how to use OpenCMIS! I really hope they will join the discussion on this list and provide some feedback on the use cases that we might build for this plugin.
Looking forward to hearing your feedback!
mau