Hi Florent,

Thanks for the answers. 

I get the repository registration idea but I don't see it that prominent in the 
API. There are too many frameworks out there that a one-fits-all approach works 
everywhere. Additionally, the fact that the RepositoryManager is a singleton 
might become a problem in some environments. I think the native service 
provisioning mechanisms of the frameworks are a better choice.

Defining new property types is problematic. If you do that and serialize them 
similar to the standard CMIS properties, most CMIS clients won't recognize 
them. Either you create a none schema complaint XML or you generate a tag that 
is ignored by most clients. Additionally, you cannot express that in the object 
type definition. The property type is an enum there.
A solution for a non-standard property type could look like this: A property of 
this new type is exposed as a String property. The value is a string 
representation of the property value. All CMIS clients should be able to, at 
least, read and display it. The real value of the property is wrapped into a 
extension of that property (a tag within the property tag). A client that can 
handle the non-standard property type would ignore the string value and use the 
value in the extension tag instead.


Cheers,

Florian



-----Original Message-----
From: Florent Guillaume [mailto:[email protected]] 
Sent: Mittwoch, 31. März 2010 15:40
To: chemistry-dev
Subject: Re: Chemistry and OpenCMIS Technical Comparison

Hi Florian,

On Tue, Mar 30, 2010 at 8:03 PM, Florian Müller <[email protected]> wrote:
> That's pretty accurate. I made a few changes and will add more details later.
> I've a few questions:
> - What's the repository registration for? What's the use case?

Registration in one part of the code and use in another.
For instance, registration of available repositories in some servlet
configuration code, or Nuxeo extension points, or any framework
configuration mechanism. Then user code just calls
RepositoryManager.getInstance().getRepository("default") to get the
default repo, however it's been configured. The idea is also to later
register automatically RepositoryService instances based on Java 6's
ServiceLoader.

> - Chemistry allows the definition of new property types. How is this mapped 
> to AtomPub/Web Service?

It's not mapped for now. That's more for future extensibility than
current need, but changing from an enum to class-based constants is
always painful for user code if it's done late in the game. This can
be discussed of course.

I'll have a few questions of my own later in the afternoon :)

Florent

-- 
Florent Guillaume, Director 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