Hi all,

Yes the architecture I want is the one also outlined in David's slides. I propose that the code be structured like this:

cmis-api
 Interfaces based on the CMIS spec, but made Java-ish
cmis-client
 cmis-client-atompub
   Client using AtomPub
 cmis-client-ws
   Client using SOAP
cmis-server
 cmis-server-atompub
   Server using AtomPub
 cmis-server-ws
   Server using SOAP
cmis-commons
 Common utility classes used by client/server parts, for instance:
   - a simple implementation for Document, Folder, etc.
   - a parser and AST for SQL queries
cmis-tck
 Some upcoming, *unofficial* tck for CMIS, basically lots of unit tests
jackrabbit-cmis2jcr
 The implementation of cmis-api on top of a JCR repository
cmis-webapp-atompub (or cmis-sample-browser ?)
 The sample webapp connecting to a remote CMIS repository using AtomPub

The code existing in the sandbox would be moved to fit in the above hierarchy, nothing is lost.

I've started working on the refactoring in a Mercurial repository here at Nuxeo (just the cmis-api for starters), and I'll provide patches as soon as all the tests pass. I'll give you a URL for the repository when it's set up today. The refactoring will basically have to define (a first draft of) the CMIS Java API, and change the clients and server to use them as intermediate datastructures.

How does that sound?
I'd like to use org.apache.cmis as the package base for all the cmis-* bundles, does anyone foresee a problem with that?

Thanks,
Florent


On 9 Feb 2009, at 08:07, Jens Hübel wrote:

Hi Florent,

this looks like an interesting project! It would be nice if you could at some point in time give some more details about your proposed architecture. Is this following the guideline David presented at the CMIS TC meeting? Meaning is there a common abstraction layer hiding the protocol specific bindings? Will this be only server or server and client?

Jens


-----Original Message-----
From: Florent Guillaume [mailto:f...@nuxeo.com]
Sent: Samstag, 7. Februar 2009 01:57
To: dev@jackrabbit.apache.org
Subject: Working on CMIS

Hi all,

I'm from Nuxeo, and we plan on working a lot on CMIS in the coming
months.

We're very interested in the young but promising ideas embodied in the
current jcr-cmis sandbox, because we plan on offering CMIS bindings on
top of our current repository (Nuxeo 5.2). We'll be using and
contributing to the API+client parts of the jcr-cmis project very
soon, and I wanted to announce this to you first.

Nuxeo has been using Jackrabbit as one of its underlying content
storage for quite some time, and we're quite familiar with it. However
for the time being our area of focus will not be the CMIS-to-JCR
(server) part, but the building of a complete Java API and model for
CMIS, and the bindings of AtomPub and SOAP to it. Internally we'll be
writing a binding from the Java API to our Nuxeo Core API.

I'm not yet an Apache committer so our contributions will take the
form of patches for the time being.
I'll be floating ideas soon about code and stuff :)

Thanks,
Florent

--
Florent Guillaume, Head of R&D, Nuxeo
Open Source, Java EE based, Enterprise Content Management (ECM)
http://www.nuxeo.com   http://www.nuxeo.org   +33 1 40 33 79 87


--
Florent Guillaume, Head of R&D, Nuxeo
Open Source, Java EE based, Enterprise Content Management (ECM)
http://www.nuxeo.com   http://www.nuxeo.org   +33 1 40 33 79 87

Reply via email to