[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [cmis] Re: Note on CMIS utilizing COPY and MOVE verbs
>Sure, that's the APP behavior, but APP is designed for posting items to
>news feeds, not for document management. So what I wanted to know what
>*CMIS* assumes.
Sure - CMIS Domain model provides/specifies:
- addObjectToFolder(object, folder)
- removeObjectFromFolder(object, folder)
- moveObject(object, targetFolder[, sourceFolder])
REST App binding (currently) specifies:
- CMIS Folder is modeled as an APP Collection for folder-membership/containment
- CMIS Objects (Folder, document, relationship, policy) are modelled as Atom Entries
- POST of an Atom Entry document to APP Collection is:
- (if no cmis:objectId) createDocument/Folder/Relationship based on Atom Entry
- If post of something besides atom entry, createDocument with default values with default document class
- (if valid cmis:objectId) addObjectToFolder - adds object POST'ed to the collection (folder)
- Optionally if removeFrom is specified, also remove the specified object from specified folder
Nothing in the CMIS rest binding has collection-local names. Nothing in the CMIS Domain model as folder-local names. CMIS domain model only provides properties on an object, not properties on an object in a particular folder.
> > removeObjectFromFolder?
> How is that a problem?
How can this be expressed with COPY/MOVE?
MOVE - Add in Source-Collection header?
COPY - Add in RemoveFrom-Collection header?
>By defining a precondition code that can be sent back if
>Destination-Collection is absent, and by defining a new WebDAV feature
>to be returned in the "DAV" response header.
COPY and MOVE verbs to me do not sound like a good fit. And to get them to work, it sounds like way too much effort - DAV header, new RFC most likely, potentially other parts of DAV, etc.
Also, getting the required tooling to support the updated COPY/MOVE for CMIS seems problematic. Especially, if we want AJAX apps to be able to provide these functions. Not all JS clients can specify headers on POST.
I think it would be simpler to leave as-is or POST a new document type (application/cmis-copyrequest, application/cmis-moverequest) to a specific collection and a request resource created from that. However, the latter proposal is very RPCish messaging style in a RESTish pattern.
-Al
Al Brown
Emerging Standards and Industry Frameworks
CMIS: https://w3.tap.ibm.com/w3ki07/display/ECMCMIS/Home
Industry Frameworks: https://w3.tap.ibm.com/w3ki07/display/ECMIF/Home
Office 714 327 3453
Mobile 714 263 6441
Email albertcbrown@us.ibm.com
CONFIDENTIAL NOTICE: The contents of this message, including any attachments, are confidential and are intended solely for the use of the person or entity to whom the message was addressed. If you are not the intended recipient of this message, please be advised that any dissemination, distribution, or use of the contents of this message is strictly prohibited. If you received this message in error, please notify the sender. Please also permanently delete all copies of the original message and any attached documentation.
Julian Reschke ---04/15/2009 11:56:24 AM---Al Brown wrote:
From: | Julian Reschke <julian.reschke@greenbytes.de> |
To: | Al Brown/Costa Mesa/IBM@IBMUS |
Cc: | cmis@lists.oasis-open.org |
Date: | 04/15/2009 11:56 AM |
Subject: | Re: [cmis] Re: Note on CMIS utilizing COPY and MOVE verbs |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]