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
<[email protected]> 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
>> <[email protected]> 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
>> >> <[email protected]> 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
>> >> >> <[email protected]> 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

Reply via email to