18.01.2015 Views

Content Management Interoperability Services (CMIS) Version 1.1

Content Management Interoperability Services (CMIS) Version 1.1

Content Management Interoperability Services (CMIS) Version 1.1

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.1.9 <strong>Services</strong> not Exposed<br />

The following services are not exposed in this binding:<br />

• getRenditions: This is exposed as part of getObject.<br />

• getProperties: This is exposed as part of getObject.<br />

• getPropertiesOfLatest<strong>Version</strong>: This is exposed as part of getObjectOfLatest<strong>Version</strong>.<br />

• createDocumentFromSource: This is not exposed in this binding except as the client saving the<br />

resource and resubmitting it without the cmis:objectId.<br />

• Adding and removing ACEs on Create or CheckIn operations: This is not possible with the AtomPub<br />

binding. The Create or CheckIn operation must be performed first. Then the dependent resource,<br />

ACL, must be retrieved and updated.<br />

• set<strong>Content</strong>Stream: This does not return the new object id and change token as specified by the<br />

domain model. This is not possible without introducing a new HTTP header.<br />

• delete<strong>Content</strong>Stream: This does not return the new object id and change token as specified by<br />

the domain model. This is not possible without introducing a new HTTP header.<br />

• checkOut: This does not return whether or not content was copied. This is not possible without<br />

introducing a new HTTP header. Clients may check content related properties such as the<br />

cmis:contentStreamLength property if the Private Working Copy has a content stream.<br />

• deleteTree: This does not return which objects have not been deleted. If the deletion of a folder<br />

fails, the client can call getChildren or getDescendants to determine which objects could not<br />

been deleted.<br />

3.1.9.1 removePolicy<br />

This service is exposed from the domain model in the AtomPub binding. However, it is not as straightforward.<br />

To remove a policy from an object, one must do:<br />

• Get the object.<br />

• Fetch the policies collection of the object.<br />

• Walk through the feed and find the policy object where cmis:objectId == policy id to remove.<br />

• Get the self link of this policy object.<br />

• Perform a DELETE on this URL.<br />

This is also the only case in the AtomPub Binding where an URI in a collection (policies) is specific to that<br />

collection.<br />

3.2 HTTP<br />

3.2.1 HTTP Range<br />

Repositories MAY support HTTP Range requests on content streams.<br />

3.2.2 HTTP OPTIONS Method<br />

The repository MAY support the HTTP OPTIONS method on all the resources defined in this specification.<br />

If the repository supports OPTIONS, then the repository MUST at least return the HTTP methods specified<br />

for that resource in the Allow header.<br />

<strong>CMIS</strong>-v<strong>1.1</strong>-csprd01<br />

Standards Track Work Product<br />

Copyright © OASIS Open 2012. All Rights Reserved.<br />

18 August 2012<br />

Page 203 of 331

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!