chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florent Guillaume ...@nuxeo.com>
Subject Re: Versioning Services Problem
Date Fri, 20 Nov 2009 14:29:58 GMT
Hm I think there's a misunderstanding about the roles of these components.
The module chemistry-atompub-client is here to be a bridge between the
APIs and the AtomPub protocol.
It must not contain any implementation logic of the CMIS service
itself. Only backends (like "Simple", or our own Nuxeo backend for
instance) must contain the mapping logic between the vendor storage
engine and the CMIS APIs.
So deciding how versioning is implemented or when/how properties are
set doesn't have its place in chemistry-atompub-client.

Florent

On Thu, Nov 19, 2009 at 3:55 PM, Emanuele Lombardi
<lelelombardi@libero.it> wrote:
> I'm implementing it in chemistry-atompub-client
> APPDocument and APPConnection as new feature.
>
> Emanuele
>
>> On Thu, Nov 19, 2009 at 2:32 PM, Emanuele Lombardi
>> <lelelombardi@libero.it> wrote:
>> > Hi Florent,
>> > I'm sorry, but I don't speak english very well. I try to explain my question.
>> > I'm implementing the versioning services in particular the checkOut/checkIn
operations.
>>
>> You're implementing it in what codebase? Is this your code for a
>> backend of your own? Or are you implementing it for the JCR bindings?
>> Or in the "Simple" codebase (which, I repeat, is here to exercise the
>> APIs and server/client bindings)?
>>
>> Florent
>>
>> > The CMIS spec say "The value of the cmis:isVersionSeriesCheckedOut property
MUST be TRUE." on other Documents in the Version Series. So I retrieve all the documents in
the checked out document's version series and set their poperty cmis:isVersionSeriesCheckedOut=true
and then I call the save method on the document.
>> > After the implementation I write unit test using Simple Implementation and when
I assert if cmis:isVersionSeriesCheckedOut is true it fail because the property is readOnly
and the save method don't modify it.
>> >
>> > Thanks and I hope this explanation is comprensible
>> >
>> > Emanuele
>> >
>> >
>> >
>> >
>> >> Hi Emanuele,
>> >>
>> >> I don't understand what code your talking about. You seem to talk
>> >> about the internals of a repository exposed through Chemistry, in
>> >> which you want to have the property cmis:isVersionSeriesCheckedOut
>> >> take different values. But this is a system property, entirely managed
>> >> by the backend repository or its mapping the the Chemistry model, so I
>> >> don't understand why changing its exposed value would be a problem.
>> >>
>> >> If you're talking about the current "Simple" implementation used in
>> >> the unit tests, then versioning isn't implemented yet, and the
>> >> management of cmis:isVersionSeriesCheckedOut (which is tied to
>> >> versioning) is not coded either.
>> >>
>> >> The PROP_IS_VERSION_SERIES_CHECKED_OUT of SimpleType is how we expose
>> >> this property to user code. We cannot have it be "read-write when
>> >> checked out", as this is a system property and the CMIS spec mandates
>> >> it to be "Read Only".
>> >>
>> >> Keep in mind that the "Simple" implementation is not really meant to
>> >> be a base for implementing a new repository (except for very simple
>> >> classes like SimpleObjectId), it's there mainly for unit tests and to
>> >> prove that the different levels of the APIs and client/server mappings
>> >> work all right together.
>> >>
>> >> Florent
>> >>
>> >>
>> >> On Tue, Nov 17, 2009 at 10:48 AM, Emanuele Lombardi
>> >> <lelelombardi@libero.it> wrote:
>> >> > Thanks Florent,
>> >> > Now I have another problem, when I invoke the checkOut service on a
document I must, for example, set the property IsVersionSeriesCheckedOut on other documents
in the version series. But this property is read-only and the putEntry method don't update
it.
>> >> > My proposal is to set the propertyDefinition updatability to "read-write
when checked out". Is it possible?
>> >> >
>> >> > Thanks
>> >> > Emanuele
>> >> >
>> >> >> Hi Emanuele,
>> >> >>
>> >> >> As it happens I'm working on adding update code right now, I should
>> >> >> have something working tomorrow (for the trunk).
>> >> >>
>> >> >> Florent
>> >> >>
>> >> >>
>> >> >> On Wed, Oct 28, 2009 at 3:56 PM, Emanuele Lombardi
>> >> >> <lelelombardi@libero.it> wrote:
>> >> >> > Hi,
>> >> >> > I'm working on versioning services, but I have a problem :The
Updating of CmisObject's properties.
>> >> >> >
>> >> >> > My procedure:
>> >> >> > First I set the property value by CMISObject#setValue method
and last I call the save method. The save method if is an update require a server method not
yet implemented and I try to implement it (the method is "org.apache.chemistry.atompub.server.CMISObjectsCollection.putEntry(ObjectEntry,
String, Date, List<Person>, String, Content, RequestContext)") But my implementation
doesn't work. If I'm not able to save the modified properties on the repository I can't test
the versioning services.
>> >> >> > Can you help me? I attach my code.
>> >> >> >
>> >> >> > Thanks
>> >> >> >
>> >> >> > Emanuele

-- 
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

Mime
View raw message