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