Content Management Interoperability Services (CMIS...

294
Content Management Interoperability Services (CMIS) Version 1.0 OASIS Standard Incorporating Approved Errata 01 1 May 2010 04 November 2011 Specification URIs This version: http://docs.oasis-open.org/cmis/CMIS/v1.0/errata-01/os/cmis-spec-v1.0- errata-01-os-complete.doc (Authoritative) http://docs.oasis-open.org/cmis/CMIS/v1.0/errata-01/os/cmis-spec-v1.0- errata-01-os-complete.html http://docs.oasis-open.org/cmis/CMIS/v1.0/errata-01/os/cmis-spec-v1.0- errata-01-os-complete.pdf Previous version: http://docs.oasis-open.org/cmis/CMIS/v1.0/os/cmis-spec-v1.0.doc (Authoritative) http://docs.oasis-open.org/cmis/CMIS/v1.0/os/cmis-spec-v1.0.html http://docs.oasis-open.org/cmis/CMIS/v1.0/os/cmis-spec-v1.0.pdf Latest version: http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc (Authoritative) http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.html http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.pdf Technical Committee: OASIS Content Management Interoperability Services (CMIS) TC Chair: David Choy ([email protected]), EMC Editors: Al Brown, IBM cmis-spec-v1.0-errata-01-os-complete 04 November 2011 Standards Track Work ProductCopyright © OASIS Open 2011. All Rights Reserved. Page 1 of 294 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 2 3

Transcript of Content Management Interoperability Services (CMIS...

Page 1: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Content Management Interoperability Services (CMIS) Version 1.0OASIS Standard Incorporating Approved Errata 01

1 May 2010

04 November 2011Specification URIsThis version:

http://docs.oasis-open.org/cmis/CMIS/v1.0/errata-01/os/cmis-spec-v1.0-errata-01-os-complete.doc (Authoritative)http://docs.oasis-open.org/cmis/CMIS/v1.0/errata-01/os/cmis-spec-v1.0-errata-01-os-complete.htmlhttp://docs.oasis-open.org/cmis/CMIS/v1.0/errata-01/os/cmis-spec-v1.0-errata-01-os-complete.pdf

Previous version:http://docs.oasis-open.org/cmis/CMIS/v1.0/os/cmis-spec-v1.0.doc (Authoritative)http://docs.oasis-open.org/cmis/CMIS/v1.0/os/cmis-spec-v1.0.htmlhttp://docs.oasis-open.org/cmis/CMIS/v1.0/os/cmis-spec-v1.0.pdf

Latest version:http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc (Authoritative)http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.htmlhttp://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.pdf

Technical Committee:OASIS Content Management Interoperability Services (CMIS) TC

Chair:David Choy ([email protected]), EMC

Editors:Al Brown, IBMEthan Gur-Esh, MicrosoftRyan McVeigh ([email protected]), Zia ConsultingFlorian Müller ([email protected]), Alfresco

Additional artifacts:This prose specification is one component of a Work Product which also includes: XML schemas and WSDL: http://docs.oasis-open.org/cmis/CMIS/v1.0/errata-01/os/schemas/ XML examples: http://docs.oasis-open.org/cmis/CMIS/v1.0/errata-01/os/examples/

Related work:This specification is related to:Content Management Interoperability Services (CMIS) Version 1.0. OASIS Standard. http://docs.oasis-open.org/cmis/CMIS/v1.0/os/cmis-spec-v1.0.html

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 1 of 236

1

2

3

4

5

6

789101112131415161718192021222324252627282930313233343536373839

123

Page 2: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Declared XML namespaces: http://docs.oasis-open.org/ns/cmis/core/200908/ http://docs.oasis-open.org/ns/cmis/restatom/200908/ http://docs.oasis-open.org/ns/cmis/messaging/200908/ http://docs.oasis-open.org/ns/cmis/ws/200908/ http://docs.oasis-open.org/ns/cmis/link/200908/

Abstract:The Content Management Interoperability Services (CMIS) standard defines a domain model and Web Services and Restful AtomPub bindings that can be used by applications to work with one or more Content Management repositories/systems.The CMIS interface is designed to be layered on top of existing Content Management systems and their existing programmatic interfaces. It is not intended to prescribe how specific features should be implemented within those CM systems, not to exhaustively expose all of the CM system's capabilities through the CMIS interfaces. Rather, it is intended to define a generic/universal set of capabilities provided by a CM system and a set of services for working with those capabilities.

Status:This document was last revised or approved by the OASIS Content Management Interoperability Services (CMIS) TC on the above date. The level of approval is also listed above. Check the “Latest version” location noted above for possible later revisions of this document.Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at http://www.oasis-open.org/committees/cmis/.For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (http://www.oasis-open.org/committees/cmis/ipr.php).

Citation format:When referencing this specification the following citation format should be used:[CMIS-v1.0-With-Errata-1]Content Management Interoperability Services (CMIS) Version 1.0. 04 November 2011. OASIS Standard Incorporating Approved Errata 01. http://docs.oasis-open.org/cmis/CMIS/v1.0/errata-01/os/cmis-spec-v1.0-errata-01-os-complete.html.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 2 of 236

40414243444546474849505152535455565758596061626364656667686970717273

456

Page 3: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

NoticesCopyright © OASIS Open 2011. All Rights Reserved.All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 3 of 236

74

75767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117

118

789

Page 4: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Table of Contents1 Introduction....................................................................................................................................... 10

1.1 Terminology..................................................................................................................................... 101.2 Normative References.....................................................................................................................101.3 Non-Normative References.............................................................................................................10

2 Domain Model................................................................................................................................... 112.1 Data Model...................................................................................................................................... 11

2.1.1 Repository................................................................................................................................ 112.1.1.1 Optional Capabilities...........................................................................................................................112.1.1.2 Implementation Information................................................................................................................14

2.1.2 Object....................................................................................................................................... 142.1.2.1 Property..............................................................................................................................................15

2.1.3 Object-Type.............................................................................................................................. 162.1.3.1 Object-Type Hierarchy and Inheritance..............................................................................................172.1.3.2 Object-Type Attributes........................................................................................................................172.1.3.3 Object-Type Property Definitions........................................................................................................19

2.1.4 Document Object.....................................................................................................................232.1.4.1 Content Stream...................................................................................................................................242.1.4.2 Renditions...........................................................................................................................................242.1.4.3 Document Object-Type Definition.......................................................................................................25

2.1.5 Folder Object............................................................................................................................ 332.1.5.1 File-able Objects.................................................................................................................................342.1.5.2 Folder Hierarchy.................................................................................................................................352.1.5.3 Paths...................................................................................................................................................362.1.5.4 Folder Object-Type Definition.............................................................................................................37

2.1.6 Relationship Object.................................................................................................................. 412.1.6.1 Relationship Object-Type Definition....................................................................................................42

2.1.7 Policy Object............................................................................................................................ 472.1.7.1 Policy Object-Type Definition..............................................................................................................47

2.1.8 Access Control.........................................................................................................................512.1.8.1 ACL, ACE, Principal, and Permission.................................................................................................512.1.8.2 CMIS Permissions..............................................................................................................................512.1.8.3 ACL Capabilities.................................................................................................................................52

2.1.9 Versioning................................................................................................................................ 612.1.9.1 Version Series.....................................................................................................................................612.1.9.2 Latest Version.....................................................................................................................................612.1.9.3 Major Versions....................................................................................................................................612.1.9.4 Services that modify Version Series...................................................................................................622.1.9.5 Versioning Properties on Document Objects......................................................................................632.1.9.6 Document Creation and Initial Versioning State.................................................................................642.1.9.7 Version Specific/Independent membership in Folders........................................................................642.1.9.8 Version Specific/Independent membership in Relationships..............................................................642.1.9.9 Versioning visibility in Query Services................................................................................................65

2.1.10 Query..................................................................................................................................... 652.1.10.1 Relational View Projection of the CMIS Data Model.........................................................................662.1.10.2 Query Language Definition...............................................................................................................67

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 4 of 236

119

120121122123124125126127128

129130

131132133134

135136137138

139140141142143

144145

146147

148149150151

152153154155156157158159160161

162163164

101112

Page 5: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.10.3 Escaping...........................................................................................................................................762.1.11 Change Log............................................................................................................................ 77

2.1.11.1 Completeness of the Change Log....................................................................................................772.1.11.2 Change Log Token...........................................................................................................................782.1.11.3 Change Event...................................................................................................................................78

2.2 Services........................................................................................................................................... 782.2.1 Common Service Elements......................................................................................................78

2.2.1.1 Paging.................................................................................................................................................792.2.1.2 Retrieving additional information on objects in CMIS service calls.....................................................792.2.1.3 Change Tokens...................................................................................................................................812.2.1.4 Exceptions..........................................................................................................................................822.2.1.5 ACLs...................................................................................................................................................85

2.2.2 Repository Services................................................................................................................. 852.2.2.1 getRepositories...................................................................................................................................862.2.2.2 getRepositoryInfo................................................................................................................................862.2.2.3 getTypeChildren..................................................................................................................................872.2.2.4 getTypeDescendants..........................................................................................................................882.2.2.5 getTypeDefinition................................................................................................................................89

2.2.3 Navigation Services.................................................................................................................892.2.3.1 getChildren..........................................................................................................................................892.2.3.2 getDescendants..................................................................................................................................902.2.3.3 getFolderTree.....................................................................................................................................912.2.3.4 getFolderParent..................................................................................................................................922.2.3.5 getObjectParents................................................................................................................................932.2.3.6 getCheckedOutDocs...........................................................................................................................93

2.2.4 Object Services........................................................................................................................ 942.2.4.1 createDocument..................................................................................................................................942.2.4.2 createDocumentFromSource..............................................................................................................962.2.4.3 createFolder........................................................................................................................................972.2.4.4 createRelationship..............................................................................................................................982.2.4.5 createPolicy........................................................................................................................................992.2.4.6 getAllowableActions..........................................................................................................................1002.2.4.7 getObject...........................................................................................................................................1012.2.4.8 getProperties.....................................................................................................................................1012.2.4.9 getObjectByPath...............................................................................................................................1022.2.4.10 getContentStream...........................................................................................................................1022.2.4.11 getRenditions..................................................................................................................................1032.2.4.12 updateProperties.............................................................................................................................1032.2.4.13 moveObject.....................................................................................................................................1042.2.4.14 deleteObject....................................................................................................................................1052.2.4.15 deleteTree.......................................................................................................................................1052.2.4.16 setContentStream...........................................................................................................................1062.2.4.17 deleteContentStream......................................................................................................................107

2.2.5 Multi-filing Services................................................................................................................1072.2.5.1 addObjectToFolder...........................................................................................................................1072.2.5.2 removeObjectFromFolder.................................................................................................................108

2.2.6 Discovery Services................................................................................................................. 1082.2.6.1 query................................................................................................................................................. 108

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 5 of 236

165

166167168169

170171172173174175176

177178179180181182

183184185186187188189

190191192193194195196197198199200201202203204205206207

208209210

211212

131415

Page 6: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.6.2 getContentChanges..........................................................................................................................1092.2.7 Versioning Services...............................................................................................................111

2.2.7.1 checkOut...........................................................................................................................................1112.2.7.2 cancelCheckOut................................................................................................................................1112.2.7.3 checkIn..............................................................................................................................................1122.2.7.4 getObjectOfLatestVersion.................................................................................................................1132.2.7.5 getPropertiesOfLatestVersion...........................................................................................................1132.2.7.6 getAllVersions...................................................................................................................................114

2.2.8 Relationship Services.............................................................................................................1152.2.8.1 getObjectRelationships.....................................................................................................................115

2.2.9 Policy Services....................................................................................................................... 1162.2.9.1 applyPolicy........................................................................................................................................1162.2.9.2 removePolicy....................................................................................................................................1162.2.9.3 getAppliedPolicies.............................................................................................................................116

2.2.10 ACL Services.......................................................................................................................1172.2.10.1 getACL............................................................................................................................................1172.2.10.2 applyACL........................................................................................................................................117

3 Restful AtomPub Binding................................................................................................................1193.1 Overview....................................................................................................................................... 119

3.1.1 Namespaces..........................................................................................................................1193.1.2 Authentication........................................................................................................................1193.1.3 Response Formats.................................................................................................................1193.1.4 Optional Arguments...............................................................................................................1203.1.5 Errors and Exceptions............................................................................................................1203.1.6 Renditions.............................................................................................................................. 1203.1.7 Content Streams.................................................................................................................... 1203.1.8 Paging of Feeds..................................................................................................................... 1203.1.9 Services not exposed.............................................................................................................120

3.2 HTTP............................................................................................................................................. 1213.2.1 Entity Tag............................................................................................................................... 1213.2.2 HTTP Range..........................................................................................................................1223.2.3 HTTP OPTIONS Method........................................................................................................1223.2.4 HTTP Status Codes...............................................................................................................122

3.2.4.1 General CMIS Exceptions.................................................................................................................1223.2.4.2 Notable HTTP Status Codes.............................................................................................................122

3.3 Media Types.................................................................................................................................. 1223.3.1 CMIS Atom............................................................................................................................. 1233.3.2 CMIS Query........................................................................................................................... 1243.3.3 CMIS Allowable Actions.........................................................................................................1243.3.4 CMIS Tree.............................................................................................................................. 1253.3.5 CMIS ACL.............................................................................................................................. 129

3.4 Atom Extensions for CMIS............................................................................................................1303.4.1 Atom Element Extensions......................................................................................................130

3.4.1.1 AtomPub Workspace........................................................................................................................1303.4.1.2 Atom Feed........................................................................................................................................1303.4.1.3 Atom Entry........................................................................................................................................130

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 6 of 236

213

214215216217218219220

221222

223224225226

227228229

230231232233234235236237238239240241242243244245246247

248249250251252253254255256257258

161718

Page 7: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.4.2 Attributes................................................................................................................................ 1313.4.2.1 cmisra:id............................................................................................................................................1313.4.2.2 cmisra:renditionKind.........................................................................................................................132

3.4.3 CMIS Link Relations...............................................................................................................1323.4.3.1 Existing Link Relations......................................................................................................................1323.4.3.2 Hierarchy Navigation Internet Draft Link Relations...........................................................................1343.4.3.3 Versioning Internet Draft Link Relations...........................................................................................1343.4.3.4 CMIS Specific Link Relations............................................................................................................134

3.5 Atom Resources............................................................................................................................ 1363.5.1 Feeds..................................................................................................................................... 1363.5.2 Entries.................................................................................................................................... 137

3.5.2.1 Hierarchical Atom Entries.................................................................................................................1383.6 AtomPub Service Document (Repository).....................................................................................140

3.6.1 URI Templates....................................................................................................................... 1413.6.1.1 Object By Id......................................................................................................................................1423.6.1.2 Object By Path..................................................................................................................................1433.6.1.3 Query................................................................................................................................................ 1443.6.1.4 Type By Id.........................................................................................................................................145

3.6.2 HTTP Methods.......................................................................................................................1453.6.2.1 GET................................................................................................................................................... 145

3.7 Service Collections........................................................................................................................ 1463.7.1 Root Folder Collection............................................................................................................1463.7.2 Query Collection..................................................................................................................... 146

3.7.2.1 POST................................................................................................................................................ 1473.7.3 Checked Out Collection.........................................................................................................149

3.7.3.1 GET................................................................................................................................................... 1493.7.3.2 POST................................................................................................................................................ 149

3.7.4 Unfiled Collection................................................................................................................... 1533.7.4.1 POST................................................................................................................................................ 153

3.7.5 Types Children Collection......................................................................................................1573.7.5.1 GET................................................................................................................................................... 157

3.8 Collections..................................................................................................................................... 1583.8.1 Relationships Collection.........................................................................................................158

3.8.1.1 GET................................................................................................................................................... 1583.8.1.2 POST................................................................................................................................................ 159

3.8.2 Folder Children Collection......................................................................................................1613.8.2.1 GET................................................................................................................................................... 1623.8.2.2 POST................................................................................................................................................ 162

3.8.3 Policies Collection..................................................................................................................1703.8.3.1 GET................................................................................................................................................... 1713.8.3.2 POST................................................................................................................................................ 1713.8.3.3 DELETE............................................................................................................................................171

3.9 Feeds............................................................................................................................................ 1733.9.1 Object Parents Feed..............................................................................................................173

3.9.1.1 GET................................................................................................................................................... 1763.9.2 Changes................................................................................................................................. 176

3.9.2.1 GET................................................................................................................................................... 181

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 7 of 236

259260261

262263264265266

267268269270

271272273274275276

277278

279280281282

283284285

286287

288289

290291292293

294295296

297298299300

301302303

304305

192021

Page 8: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.9.3 Folder Descendants...............................................................................................................1813.9.3.1 GET................................................................................................................................................... 1873.9.3.2 DELETE............................................................................................................................................187

3.9.4 Folder Tree............................................................................................................................. 1883.9.4.1 GET................................................................................................................................................... 1913.9.4.2 DELETE............................................................................................................................................191

3.9.5 AllVersions Feed.................................................................................................................... 1913.9.5.1 GET................................................................................................................................................... 1933.9.5.2 DELETE............................................................................................................................................193

3.9.6 Type Descendants Feed........................................................................................................1933.9.6.1 GET................................................................................................................................................... 201

3.10 Resources................................................................................................................................... 2013.10.1 Type Entry............................................................................................................................ 201

3.10.1.1 GET.................................................................................................................................................2023.10.2 Document Entry...................................................................................................................203

3.10.2.1 GET.................................................................................................................................................2043.10.2.2 PUT.................................................................................................................................................2063.10.2.3 DELETE..........................................................................................................................................206

3.10.3 Document Private Working Copy (PWC) Entry....................................................................2063.10.3.1 GET.................................................................................................................................................2073.10.3.2 PUT.................................................................................................................................................2093.10.3.3 DELETE..........................................................................................................................................209

3.10.4 Folder Entry.......................................................................................................................... 2093.10.4.1 GET.................................................................................................................................................2103.10.4.2 PUT.................................................................................................................................................2123.10.4.3 DELETE..........................................................................................................................................212

3.10.5 Relationship Entry................................................................................................................2123.10.5.1 GET.................................................................................................................................................2133.10.5.2 PUT.................................................................................................................................................2143.10.5.3 DELETE..........................................................................................................................................214

3.10.6 Policy Entry..........................................................................................................................2143.10.6.1 GET.................................................................................................................................................2153.10.6.2 PUT.................................................................................................................................................2163.10.6.3 DELETE..........................................................................................................................................216

3.10.7 Content Stream....................................................................................................................2163.10.7.1 GET.................................................................................................................................................2173.10.7.2 PUT.................................................................................................................................................2173.10.7.3 DELETE..........................................................................................................................................217

3.10.8 ACL Resource...................................................................................................................... 2173.10.8.1 GET.................................................................................................................................................217

4 Web Services Binding..................................................................................................................... 2194.1 Overview....................................................................................................................................... 219

4.1.1 WS-I....................................................................................................................................... 2194.1.2 Authentication........................................................................................................................2194.1.3 Content Transfer.................................................................................................................... 2194.1.4 Reporting Errors.....................................................................................................................219

4.2 Web Services Binding Mapping.....................................................................................................219

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 8 of 236

306307308

309310311

312313314

315316

317318319

320321322323

324325326327

328329330331

332333334335

336337338339

340341342343

344345

346347348349350351352

222324

Page 9: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

4.3 Additions to the Services section...................................................................................................2194.3.1 updateProperties and checkIn Semantics..............................................................................2194.3.2 Content Ranges.....................................................................................................................2194.3.3 Extensions.............................................................................................................................. 2204.3.4 Web Services Specific Structures..........................................................................................220

4.3.4.1 cmisFaultType and cmisFault...........................................................................................................2204.3.4.2 cmisRepositoryEntryType.................................................................................................................2204.3.4.3 cmisTypeContainer...........................................................................................................................2204.3.4.4 cmisTypeDefinitionListType..............................................................................................................2204.3.4.5 cmisObjectInFolderType, cmisObjectParentsType and cmisObjectInFolderContainerType............2204.3.4.6 cmisObjectListType and cmisObjectInFolderListType......................................................................2214.3.4.7 cmisContentStreamType..................................................................................................................2214.3.4.8 cmisACLType....................................................................................................................................2214.3.4.9 cmisExtensionType...........................................................................................................................221

5 IANA Considerations....................................................................................................................... 2225.1 Content-Type Registration.............................................................................................................222

5.1.1 CMIS Query........................................................................................................................... 2225.1.2 CMIS AllowableActions..........................................................................................................2225.1.3 CMIS Tree.............................................................................................................................. 2235.1.4 CMIS Atom............................................................................................................................. 2245.1.5 CMIS ACL.............................................................................................................................. 225

6 Conformance........................................................................................................................................ 227A. Acknowledgements......................................................................................................................... 229B. Non-Normative Text........................................................................................................................231C. Revision History.............................................................................................................................. 232

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 9 of 236

353354355356357358359360361362363364365366

367368369370371372373374375376377

378379

252627

Page 10: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

1 IntroductionThe Content Management Interoperability Services (CMIS) standard defines a domain model and set of bindings that include Web Services and ReSTful AtomPub that can be used by applications to work with one or more Content Management repositories/systems. The CMIS interface is designed to be layered on top of existing Content Management systems and their existing programmatic interfaces. It is not intended to prescribe how specific features should be implemented within those CM systems, nor to exhaustively expose all of the CM system’'s capabilities through the CMIS interfaces. Rather, it is intended to define a generic/universal set of capabilities provided by a CM system and a set of services for working with those capabilities.

1.1 TerminologyThe key words “"MUST”, “", "MUST NOT”, “", "REQUIRED”, “", "SHALL”, “", "SHALL NOT”, “", "SHOULD”, “", "SHOULD NOT”, “", "RECOMMENDED”, “", "MAY”,", and “"OPTIONAL”" in this document are to be interpreted as described in RFC2119.

1.2 Normative References[RFC4287] M. Nottingham, R. Sayre, Atom Syndication Format,

http://www.ietf.org/rfc/rfc4287.txt, December 2005[RFC5023] J. Gregorio, B. de hOra, Atom Publishing Protocol,

http://www.ietf.org/rfc/rfc5023.txt, October 2007[RFC2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-

Lee, Hypertext Transfer Protocol --HTTP/1.1, http://www.ietf.org/rfc/rfc2616.txt, June 1999

[RFC2119] S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, http://www.ietf.org/rfc/rfc2119.txt, March 1997

[RFC4918] L. Dusseault, HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV), June 2007

[RFC3986] T. Berners-Lee, R. Fielding, L. Masinter, Unified Resource Identifier, January 2005

[ID-Brown] J. Reschke Editor, A. Brown, G. Clemm, Link Relation Types for Simple Version Navigation between Web Resources, http://www.ietf.org/id/draft-brown-versioning-link-relations-07.txthttp://www.ietf.org/id/draft-brown-versioning-link-relations-08.txt, 2010

[ID-WebLinking] M. Nottingham, Web Linking, http://tools.ietf.org/id/draft-nottingham-http-link-header-07.txthttp://tools.ietf.org/id/draft-nottingham-http-link-header-08.txt, 2010

1.3 Non-Normative References

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 10 of 236

380381382383384385386387388

389390391392

393394395396397398399400401402403404405406407408409410411412413

414

415

282930

Page 11: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2 Domain Model2.1 Data ModelCMIS provides an interface for an application to access a Repository. To do so, CMIS specifies a core data model that defines the persistent information entities that are managed by the repository, and specifies a set of basic services that an application can use to access and manipulate these entities. In accordance with the CMIS objectives, this data model does not cover all the concepts that a full-function ECM repository typically supports. Specifically, transient entities (such as programming interface objects), administrative entities (such as user profiles), and extended concepts (such as compound or virtual document, work flow and business process, event and subscription) are not included.

However, when an application connects to a CMIS service endpoint, the same endpoint MAY provide access to more than one CMIS repository. (How an application obtains a CMIS service endpoint is outside the scope of CMIS. How the application connects to the endpoint is a part of the protocol that the application uses.) An application MUST use the CMIS “"Get Repositories”" service (getRepositories) to obtain a list of repositories that are available at that endpoint. The Repository Identity MUST uniquely identify an available repository at this service endpoint. Both the repository name and the repository identity are opaque to CMIS. Aside from the “"Get Repositories”" service, all other CMIS services are single-repository-scoped, and require a Repository Identity as an input parameter. In other words, except for the “"Get Repositories”" service, multi-repository and inter-repository operations are not supported by CMIS.

2.1.1 RepositoryThe repository itself is described by the CMIS “"Get Repository Information”" service. The service output is fully described in section 2.2.2.2 getRepositoryInfo.

2.1.1.1 Optional Capabilities

Commercial ECM repositories vary in their designs. Moreover, some repositories are designed for a specific application domain and may not provide certain capabilities that are not needed for their targeted domain. Thus, a repository implementation may not necessarily be able to support all CMIS capabilities. A few CMIS capabilities are therefore “"optional”" for a repository to be compliant. A repository’'s support for each of these optional capabilities is discoverable using the getRepositoryInfo service. The following is the list of these optional capabilities. All capabilities are “"Boolean”" (i.e. the Repository either supports the capability entirely or not at all) unless otherwise noted.

Navigation Capabilities:capabilityGetDescendants

Ability for an application to enumerate the descendants of a folder via the getDescendants service.See section: 2.2.3.2 getDescendants

capabilityGetFolderTreeAbility for an application to retrieve the folder tree via the getFolderTree service.See section: 2.2.3.3 getFolderTree

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 11 of 236

416

417

418419420421422423424

425426427428429430431432433434

435436437

438

439440441442443444445

446447448

449450451

452453

454455

313233

Page 12: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Object Capabilities:capabilityContentStreamUpdatability (enumCapabilityContentStreamUpdates)

Indicates the support a repository has for updating a document’'s content stream. Valid values are:

none: The content stream may never be updated.

anytime: The content stream may be updated any time. pwconly: The content stream may be updated only when checked out. The abbreviation

PWC is described in section .See Section: 2.1.4.1 Content Stream

capabilityChanges (enumCapabilityChanges)

Indicates what level of changes (if any) the repository exposes via the “"change log”" service. Valid values are:

none: The repository does not support the change log feature.

objectidsonly: The change log can return only the ObjectIDs for changed objects in the repository and an indication of the type of change, not details of the actual change.

properties: The change log can return properties and the ObjectID for the changed objects

all: The change log can return the ObjectIDs for changed objects in the repository and more information about the actual change

See Section: 2.1.11 Change Log

capabilityRenditions (enumCapabilityRendition) Indicates whether or not the repository exposes renditions of document or folder objects.

none: The repository does not expose renditions at all.

read: Renditions are provided by the repository and readable by the client.

Filing Capabilities:capabilityMultifiling

Ability for an application to file a document or other file-able object in more than one folderSee Section: 2.1.5 Folder Object

capabilityUnfilingAbility for an application to leave a document or other file-able object not filed in any folderSee Section: 2.1.5 Folder Object

capabilityVersionSpecificFilingAbility for an application to file individual versions (i.e., not all versions) of a document in a folder

See Section:

Versioning Capabilities:capabilityPWCUpdatable

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 12 of 236

456457458459460461462463464465

466467468469470471472473474475476477

478479480481482483484485

486487

488489

490491

492493

494495

496497498

343536

Page 13: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Ability for an application to update the “"Private Working Copy”" of a checked-out documentSee Section:

capabilityPWCSearchableAbility of the Repository to include the "Private Working Copy" of checked-out documents in query search scope; otherwise PWC's are not searchable

See Section:

capabilityAllVersionsSearchableAbility of the Repository to include all versions of document.If False, typically either the latest or the latest major version will be searchable.

See Section:

Query Capabilities:capabilityQuery (enumCapabilityQuery)

Indicates the types of queries that the Repository has the ability to fulfill. Query support levels are: none: No queries of any kind can be fulfilled.

metadataonly: Only queries that filter based on object properties can be fulfilled. Specifically, the CONTAINS() predicate function is not supported.

fulltextonly: Only queries that filter based on the full-text content of documents can be fulfilled. Specifically, only the CONTAINS() predicate function can be included in the WHERE clause.

bothseparate: The repository can fulfill queries that filter EITHER on the full-text content of documents OR on their properties, but NOT if both types of filters are included in the same query.

bothcombined: The repository can fulfill queries that filter on both the full-text content of documents and their properties in the same query.

See Section: 2.1.10 Query

capabilityJoin (enumCapabilityJoin)

Indicates the types of JOIN keywords that the Repository can fulfill in queries. Support levels are: none: The repository cannot fulfill any queries that include any JOIN clauses.

inneronly: The repository can fulfill queries that include an INNER JOIN clause, but cannot fulfill queries that include other types of JOIN clauses.

innerandouter: The repository can fulfill queries that include any type of JOIN clause defined by the CMIS query grammar.

See Section: 2.1.10 Query

ACL Capabilities:capabilityACL (enumCapabilityACL)

Indicates the level of support for ACLs by the repository none: The repository does not support ACL services

discover: The repository supports discovery of ACLs (getACL and other services)

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 13 of 236

499500

501502

503504505

506507

508509510

511512513514515516517518519520521522523524525526

527528529530531532533534535

536537538

539540541

373839

Page 14: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

manage: The repository supports discovery of ACLs AND applying ACLs (getACL and applyACL services)

See Section: 2.8 Access Control

2.1.1.2 Implementation InformationThe “"Get Repository Information”" service MUST also return implementation information including vendor name, product name, product version, version of CMIS that it supports, the root folder ID (see section 2.1.5.2 Folder Hierarchy), and MAY include other implementation-specific information. The version of CMIS that the repository supports MUST be expressed as a Decimal that matches the specification version.

2.1.2 Object

The entities managed by CMIS are modeled as typed Objects. There are four base types of objects: Document Objects, Folder Objects, Relationship Objects, and Policy Objects.

A document object represents a standalone information asset. Document objects are the elementary entities managed by a CMIS repository.

A folder object represents a logical container for a collection of “"file-able”" objects, which include folder objects and document objects. Folder objects are used to organize file-able objects. Whether or not an object is file-able is specified in its object-type definition.object-type definition.

A relationship object represents an instance of directional relationship between two objects. The support for relationship objects is optional, and may be discovered via the “"Get Type Children”" service.

A policy object represents an administrative policy, which may be “"applied”" to one or more “"controllablePolicy”" objects. Whether or not an object is controllable is specified in its object-type definition. The support for policy objects is optional, and may be discovered via the “"Get Type Children”" service.

Additional object-types MAY be defined in a repository as subtypes of these base types. CMIS services are provided for the discovery of object-types that are defined in a repository. However, object-type management services, such as the creation, modification, and deletion of an object-type, are outside the scope of CMIS.

Every CMIS object has an opaque and immutable Object Identity (ID), which is assigned by the repository when the object is created. An ID uniquely identifies an object within a repository regardless of the type of the object. Repositories SHOULD assign IDs that are “"permanent”" – that is, they remain unchanged during the lifespan of the identified objects, and they are never reused or reassigned after the objects are deleted from the repository.

Every CMIS object has a set of named, but not explicitly ordered, Properties. (However, a Repository SHOULD always return object properties in a consistent order.) Within an object, each property is uniquely identified by its property definition id.

In addition, a document object MAY have a Content-Stream, which may be used to hold a raw digital asset such as an image or a word-processing document. A repository MUST specify, in each object-type definition, whether document objects of that type MAY, MUST, or MUST NOT have a content-stream. A document MAY also have one or more Renditions associated with it. A rendition can be a thumbnail or an alternate representation of the content stream.

Document or folder objects MAY have one Access Control List (ACL), which controls access to the document or folder. A policy object may also control access to the document or folder. An ACL cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 14 of 236

542543544

545546547548549550

551

552553

554555556557558559560561562563564565

566567568569

570571572573574

575576577

578579580581582

583584404142

Page 15: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

represents a list of Access Control Entries (ACEs). An ACE in turn represents one or more permissions being granted to a principal (a user, group, role, or something similar).

The notion of localization of the objects in the data model is entirely repository specific. CMIS objects MAY expose additional information, such as vendor-specific workflow data, beyond the attributes described above. In this respect, the data model can be extended as desired. This specification does not standardize such extensions.

2.1.2.1 Property

A property MAY hold zero, one, or more typed data value(s). Each property MAY be single-valued or multi-valued. A single-valued property contains a single data value, whereas a multi-valued property contains an ordered list of data values of the same type. The ordering of values in a multi-valued property MAY be preserved by the repository.

If a value is not provided for aA property, the property is in a “value not set” state. There is no “null” value for a property. Through protocol binding, a property is either single-valued or multi-valued, MAY be in a "not set" state. CMIS does not support "null" property value.

If a multi-valued property is not in a "not set, or is set to a particular" state, its property value orMUST be a non-empty list of individual values. Each individual value in the list MUST NOT be in a "not set" state and MUST conform to the property's property-type.

A multi-valued property is either set or not set in its entirety. An individual value of a multi-valued property MUST NOT be in an individual “"value not set”" state and hold a position in the list of values. An empty list of values MUST NOT be allowed.

Every property is typed. The Property-type defines the data type of the data value(s) held by the property. CMIS specifies the following Property-types. They include the following data types defined by “"XML Schema Part 2: Datatypes Second Edition”" (W3C Recommendation, 28 October 2004, http://www.w3.org/TR/xmlschema-2/):

string (xsd:string) boolean (xsd:boolean) decimal (see section 2.1.3.3.5 Attributes specific to Decimal Object-Type Property Definitions) integer (xsd:integer) datetime (xsd:dateTime and see section 2.1.3.3.5 Attributes specific to Decimal Object-Type

Property Definitions) uri (xsd:anyURI)

In addition, the following Property-Types are also specified by CMIS: id html

Individual protocol bindings MAY override or re-specify these property types.

All properties MUST supply a String queryName attribute which is used for query and filter operations on object-types. This is an opaque String with limitations. This string SHOULD NOT contain any characters that negatively interact with the BNF grammar.

The string MUST NOT contain: whitespace “ “," ",

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 15 of 236

585586

587588589590

591

592593594595

596597598

599600601

602603604

605606607608609610611612613614615616617618619620621

622623624625

626627628

434445

Page 16: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

comma “,”"," double quotes ‘”’'"' single quotes “’”"'" backslash “\”"\" the period “.”"." character or, the open “(“"(" or close “)”")" parenthesis characters.

2.1.2.1.1 ID Property

An ID property holds a system-generated, read-only identifier, such as an Object ID, an Object-Type ID, etc. (The ID Property-Type is NOT defined by xsd:id.) The lexical representation of an ID is an opaque string. As such, an ID cannot be assumed to be interpretable syntactically or assumed to be to be collate-able with other IDs, and can only be used in its entirety as a single atomic value. When used in a query predicate, an ID can only participate in an “"equal”" or a “"not equal”" comparison with a string literal or with another ID.

While all CMIS identities share the same Property-Type, they do not necessarily share the same address space. Unless explicitly specified, ID properties NEED NOT maintain a referential integrity constraint. Therefore, storing the ID of one object in another object NEED NOT constrain the behavior of either object. A repository MAY, however, support referential constraint underneath CMIS if the effect on CMIS services remains consistent with an allowable behavior of the CMIS model. For example, a repository MAY return an exception when a CMIS service call violates an underlying referential constraint maintained by the repository. In that case, an error message SHOULD be returned to the application to describe the cause of exception and suggest a remedial action. The content of such messages is outside the scope of CMIS.

2.1.2.1.2 HTML PropertyAn HTML property holds a document or fragment of Hypertext Markup Language (HTML) content. HTML properties are not guaranteed to be validated in any way. The validation behavior is entirely repository specific.

2.1.3 Object-Type

An Object-Type defines a fixed and non-hierarchical set of properties (“("schema”)") that all objects of that type have. This schema is used by a repository to validate objects and enforce constraints, and is also used by a user to compose object-type-based (structured) queries.

All CMIS objects are strongly typed. If a property not specified in an object’'s object-type definition is supplied by an application, an exception SHOULD be thrown.

Each object-type is uniquely identified within a repository by a system-assigned and immutable Object-Type Identifier, which is of type ID.

A CMIS repository MUST expose exactly one collection of Object-Types via the “"Repository”" services (getTypeChildren, getTypeDescendants, getTypeDefinition).

While a repository MAY define additional object-types beyond the CMIS Base Object-Types,CMIS Base Object-Types, these Object-Types MUST NOT extend or alter the behavior or semantics of a CMIS service (for example, by adding new services). A repository MAY attach additional constraints to an object-type underneath CMIS, provided that the effect visible through the CMIS interface is consistent with the allowable behavior of CMIS.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 16 of 236

629630631632633634

635

636

637638639640641642

643644645646647648649650651

652653654655

656

657658659

660661

662663

664665

666667668669670

464748

Page 17: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.3.1 Object-Type Hierarchy and Inheritance

Hierarchy and Inheritance for Object-Types are supported by CMIS in the following manner:

A CMIS repository MUST have these base types:

o cmis:document:document object-type

o cmis:folder:folder object-type

A CMIS repository MAY have these base types:

o cmis:relationship:relationship object-type

o cmis:policycmis:policy object-type

Additional base types MUST NOT exist. Additional object-types MAY be defined as sub-types or descendant types of these four base types.

A Base Type does not have a parent type.

A non-base type has one and only one parent type. An object-type’'s Parent Type is a part of the object-type definition.

An object-type definition includes a set of object-type attributesobject-type attributes (e.g. Fileable, Queryable, etc.) and a property schema that will apply to Objects of that type.

o There is no inheritance of object-type attributes from a parent object-type to its sub-types.

The properties of a CMIS base type MUST be inherited by its descendant types.

A Child Type whose immediate parent is NOT its base type SHOULD inherit all the property definitions that are specified for its parent type. In addition, it MAY have its own property definitions.

o If a property is NOT inherited by a subtype, the exhibited behavior for query MUST be as if the value of this property is “"not set”" for all objects of this sub-type.

The scope of a query on a given object-type is automatically expanded to include all the Descendant Types of the given object-type with the attribute includedInSuperTypeQuery equals TRUE. This was added for synthetic types as well as to support different type hierarchies that are not necessarily the same as CMIS. Only the properties of the given object-type, including inherited ones, MUST be used in the query. Properties defined for its descendant types MAY NOT be used in the query, and CAN NOT be returned by the query.

o If a property of its parent type is not inherited by this type, the property MUST still appear as a column in the corresponding virtual table in the relational view, but this column MUST contain a NULL value for all objects of this type. (See section 2.1.10 Query.)

2.1.3.2 Object-Type Attributes

2.1.3.2.1 Attributes common to ALL Object-Type Definitions

All Object-Type Definitions MUST contain the following attributes:id ID

This opaque attribute identifies this object-type in the repository.

localName String (optional)

This attribute represents the underlying repository’'s name for the object-type. This field is opaque and has no uniqueness constraint imposed by this specification.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 17 of 236

671

672

673

674675676

677678679680

681

682683

684685

686687

688689690

691692

693694695696697698

699700701

702

703

704705706

707708709710

495051

Page 18: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Two properties with the same localName and localNamespace MUST have the same semantic equality.

localNamespace String (optional)

This attribute allows repositories to represent the internal namespace of the underlying repository’'s name for the object-type.

queryName String

Used for query and filter operations on object-types. This is an opaque String with limitations. This string SHOULD NOT contain any characters that negatively interact with the BNF grammar.

The string MUST NOT contain: whitespace “ “," ", comma “,”"," double quotes ‘”’'"' single quotes “’”"'" backslash “\”"\" the period “.”"." character or, the open “(“"(" or close “)”")" parenthesis characters.

displayName String (optional)

Used for presentation by application.

baseId Enum

A value that indicates whether the base type for this Object-Type is the Document, Folder, Relationship, or Policy base type.

parentId ID

The ID of the Object-Type’'s immediate parent type. It MUST be “"not set”" for a base type.

description String (optional)

Description of this object-type, such as the nature of content, or its intended use. Used for presentation by application.

creatable Boolean

Indicates whether new objects of this type MAY be created. If the value of this attribute is FALSE, the repository MAY contain objects of this type already, but MUST NOT allow new objects of this type to be created.

fileable Boolean

Indicates whether or not objects of this type are file-able.file-able.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 18 of 236

711712

713714715716

717718719720

721722723724725726727728729

730731732

733734735736

737738739740

741742743744

745746747748749

750751752

753

525354

Page 19: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

queryable Boolean

Indicates whether or not this object-type can appear in the FROM clause of a query statement. A non-queryable object-type is not visible through the relational view that is used for query, and CAN NOT appear in the FROM clause of a query statement.

controllablePolicy Boolean

Indicates whether or not objects of this type are controllable via policies. Policy objects can only be applied to controllablePolicy objects.

controllableACL Boolean

This attribute indicates whether or not objects of this type are controllable by ACL’'s. Only objects that are controllableACL can have an ACL.

fulltextIndexed Boolean

Indicates whether objects of this type are indexed for full-text search for querying via the CONTAINS() query predicate.

includedInSupertypeQuery Boolean

Indicates whether this type and its subtypes appear in a query of this type’'s ancestor types.

For example: if Invoice is a sub-type of cmis:document, if this is TRUE on Invoice then for a query on cmis:document, instances of Invoice will be returned if they match. If this attribute is FALSE, no instances of Invoice will be returned even if they match the query.

2.1.3.3 Object-Type Property Definitions

Besides these object-type attributes, an object-type definition SHOULD contain inherited property definitions and zero or more additional property definitions. All the properties of an object, including inherited properties, MUST be retrievable through the “"get”" services, and MAY appear in the SELECT clause of a query.

2.1.3.3.1 Property TypesProperty types are defined in section 2.1.2.1 Property.

2.1.3.3.2 Attributes common to ALL Object-Type Property Definitions

All Object-Type Property Definitions MUST contain the following attributes:id ID

This opaque attribute uniquely identifies the property in the repository. If two Object-Types each contain property definitions with the same ID, those property definitions are the same.

localName String (optional)

This attribute represents the underlying repository’'s name for the property. This field is opaque and has no uniqueness constraint imposed by this specification.

localNamespace String (optional)

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 19 of 236

754755756757

758759760761

762763764765

766767768769

770771772

773774775

776

777778779780

781782

783

784785786787

788789790791

792793

555657

Page 20: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

This attribute allows repositories to represent the internal namespace of the underlying repository’'s name for the property.

queryName String

Used for query operations on properties. This is an opaque String with limitations. Please see queryName in Object-Type Attributes for the limitations on what characters are not allowed.

displayName String (optional)

Used for presentation by application.

description String (optional)

This is an optional attribute containing a description of the property

propertyType Enum

This attribute indicates the type of this property. It MUST be one of the allowed property types. (See section 2.1.2.1 Property.)

cardinality Enum

Indicates whether the property can have “"zero or one”" or “"zero or more”" values.Values:

single: Property can have zero or one values (if property is not required), or exactly one value (if property is required)

multi: Property can have zero or more values (if property is not required), or one or more values (if property is required).

Repositories SHOULD preserve the ordering of values in a multi-valued property. That is, the order in which the values of a multi-valued property are returned in get operations SHOULD be the same as the order in which they were supplied during previous create/update operation.

updatability Enum

Indicates under what circumstances the value of this property MAY be updated. Values:

readonly: The value of this property MUST NOT ever be set directly by an application. It is a system property that is either maintained or computed by the repository. o The value of a readOnly property MAY be indirectly modified by other repository

interactions (for example, calling “"updateProperties”" on an object will change the object’'s last modified date, even though that property cannot be directly set via an updateProperties() service call.)

readwrite: The property value can be modified using the updateProperties service.

whencheckedout: The property value MUST only be update-able using a “private working copy”"private working copy" Document.o I.e. the update is either made on a “"private working copy”" object or made using a

“"check in”" service. oncreate: The property value MUST only be update-able during the Create operation on

that Object.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 20 of 236

794795

796797798799800801802

803804805

806807808809

810811812813814815816817818819820

821822823824825826827828829830831832833834835836837

838585960

Page 21: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

inherited Boolean

Indicates whether the property definition is inherited from the parent-type when TRUE or it is explicitly defined for this object-type when FALSE.

required Boolean

This attribute is only applicable to non-sytem properties, i.e. properties whose value is provided by the application. If TRUE, then the value of this property MUST never be set to the “"not set”" state when an object of this type is created/updated. If not provided during a create or update operation, the repository MUST provide a value for this property.If a value is not provided, then the default value defined for the property MUST be set. If no default value is provided and no default value is defined, the repository MUST throw an exception.This attribute is not applicable when the “"updatability”" attribute is “"readonly”.". In that case, “"required”" SHOULD be set to FALSE. Note: For CMIS-defined object types, the value of a system property (such as cmis:objectId, cmis:createdBy) MUST be set by the repository. However, the property’'s “"required”" attribute SHOULD be FALSE because it is read-only to applications.

queryable Boolean

Indicates whether or not the property MAY appear in the WHERE clause of a CMIS query statement. This attribute MUST have a value of FALSE if the Object-type’'s attribute for “"Queryable”" is set to FALSE.

orderable Boolean

Indicates whether the property can appear in the ORDER BY clause of a CMIS query statement or an ORDERBY parameter. This property MUST be FALSE for any property whose cardinality is “"multi”.".

choices <PropertyChoiceType list> (multi-valued)

Indicates an explicit ordered set of single values allowed for this property.If the cardinatity of the property definition is “"single”" and the “"openChoice”" attribute is FALSE, then the property value MUST be at most one of the values listed in this attribute. If the cardinatity of the property definition is “"single”" and the “"openChoice”" attribute is TRUE, then the property value MAY be one of the values listed in this attribute.If the cardinatity of the property definition is “"multi”" and the “"openChoice”" attribute is FALSE, then the property value MUST be zero, one or more than one of the values listed in this attribute. If the cardinatity of the property definition is “"multi”" and the “"openChoice”" attribute is TRUE, then the property value MAY be zero, one, or more than one of the values listed in this attribute.If this attribute is “"not set”,", then any valid value for this property based on its type may be used.

Each choice includes a displayName and a value. The displayName is used for presentation purpose. The value will be stored in the property when selected. Choices MAY be hierarchically presented. For example: a value of “"choices”" for a geographic location would be represented as follows:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 21 of 236

839840841

842843844845846847848849850851852853854855856857

858859860861862863

864865866867868

869870871872873874875876877878879880

881882883884

616263

Page 22: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o Europe:

England France Germany

o North America

Canada USA Mexico

openChoice Boolean

This attribute is only applicable to properties that provide a value for the “"Choices”" attribute. If FALSE, then the data value for the property MUST only be one of the values specified in the “"Choices”" attribute. If TRUE, then values other than those included in the “"Choices”" attribute may be set for the property.

defaultValue <PropertyType>

The value that the repository MUST set for the property if a value is not provided by an application when the object is created. If no default value is specified and an application creates an object of this type without setting a value for the property, the repository MUST attempt to store a “"value not set”" state for the property value. If this occurs for a property that is defined to be required, then the creation attempt MUST throw an exception.The attributes on the default value element are the same as the attributes on the property definition.

2.1.3.3.3 Attributes specific to Integer Object-Type Property DefinitionsThe following Object attributes MUST only apply to Property-Type definitions whose propertyType is “"Integer”,", in addition to the common attributes specified above. A repository MAY provide additional guidance on what values can be accepted. If the following attributes are not present the repository behavior is undefined and it MAY throw an exception if a runtime constraint is encountered.

minValue Integer

The minimum value allowed for this property.If an application tries to set the value of this property to a value lower than minValue, the repository MUST throw a constraint exception.

maxValue Integer

The maximum value allowed for this property.If an application tries to set the value of this property to a value higher than maxValue, the repository MUST throw a constraint exception.

2.1.3.3.4 Attributes specific to DateTime Object-Type Property DefinitionsThe following Object attributes MUST only apply to Property-Type definitions whose propertyType is “"DateTime”,", in addition to the common attributes specified above. A repository MAY provide additional guidance on what values can be accepted. If the following attributes are not present the repository behavior is undefined and it MAY throw an exception if a runtime constraint is encountered.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 22 of 236

885886887888889890891892893894895896897

898899

900901902903904905906907

908909910911912913914915916917918919920921922

923924925926927

646566

Page 23: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

resolution String Enumeration

This is the precision in bits supported for values of this property. Valid values for this attribute are: Year: Year resolution is persisted Date: Date resolution is persisted Time: Time resolution is persisted

2.1.3.3.5 Attributes specific to Decimal Object-Type Property DefinitionsThe following Object attributes MUST only apply to Property-Type definitions whose propertyType is “"Decimal”,", in addition to the common attributes specified above. A repository MAY provide additional guidance on what values can be accepted. If the following attributes are not present the repository behavior is undefined and it MAY throw an exception if a runtime constraint is encountered.

precision Integer Enumeration

This is the precision in bits supported for values of this property. Valid values for this attribute are: 32: 32-bit precision (“("single”" as specified in IEEE-754-1985). 64: 64-bit precision (“("double”" as specified in IEEE-754-1985.)

minValue Decimal

The minimum value allowed for this property.If an application tries to set the value of this property to a value lower than minValue, the repository MUST throw a constraint exception.

maxValue Decimal

The maximum value allowed for this property.If an application tries to set the value of this property to a value higher than maxValue, the repository MUST throw a constraint exception.

2.1.3.3.6 Attributes specific to String Object-Type Property DefinitionsThe following Object attributes MUST only apply to Property-Type definitions whose propertyType is “"String”,", in addition to the common attributes specified above. A repository MAY provide additional guidance on what values can be accepted. If the following attributes are not present the repository behavior is undefined and it MAY throw an exception if a runtime constraint is encountered.

maxLength Integer

The maximum length (in characters) allowed for a value of this property.If an application attempts to set the value of this property to a string larger than the specified maximum length, the repository MUST throw a constraint exception.

2.1.4 Document Object

Document objects are the elementary information entities managed by the repository.

Depending on its Object-type definition, a Document Object may be:

Version-able: Can be acted upon via the Versioning Services (for example: checkOut, checkIn).checkOut, checkIn).

File-able: Can be filed in zero, one, or more than one folder via the Multi-filing services. cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 23 of 236

928929930931932

933

934935936937938939940941942

943944945946947948949950951952

953954955956957958959960961

962

963

964

965966

967676869

Page 24: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Query-able: Can be located via the Discovery Services (query).

Controllable-Policy: Can have Policies applied to it (see section 2.1.7 Policy Object.)

Controllable-ACL: Can have an ACL applied to it (see section 2.8 Access Control)

Additionally, whether a Document object MUST, MAY or MUST NOT have a content-stream is specified in its object-type definition. A Document Object MAY be associated with zero or more renditions.

Note: When a document is versioned, each version of the document is a separate document object. Thus, for document objects, an object ID actually identifies a specific version of a document.

2.1.4.1 Content Stream

A content-stream is a binary stream. Its maximum length is repository-specific. Each content-stream has a MIME Media Type, as defined by RFC2045 and RFC2046. A content-stream’'s attributes are represented as properties of the content-stream’'s containing document object. There is no MIME-type-specific attribute or name directly associated with the content-stream outside of the document object.

CMIS provides basic CRUD services for content-stream, using the ID of a content-stream’'s containing document object for identification. A content stream also has a streamId which is used for access to the stream. The “"Set Content-Stream”" service (setContentStream) either creates a new content-stream for a document object or replaces an existing content-stream. The “"Get Content-Stream”" service (getContentStream) retrieves a content-stream. The “"Delete Content-Stream”" service (deleteContentStream) deletes a content-stream from a document object. In addition, the “"CreateDocument”" and “"Check-in”" services MAY also take a content-stream as an optional input. A content stream MUST be specified if required by the type definition. These are the only services that operate on content-stream. The “"Get Properties”" and “"Query”" services, for example, do not return a content-stream.

“"Set Content-Stream”" and “"Delete Content-Stream”" services are considered modifications to a content-stream’'s containing document object, and SHOULD therefore change the object’'s LastModificationDate property upon successful completion.

The ability to set or delete a content stream is controlled by the capabilityContentStreamUpdatability capability.

2.1.4.2 RenditionsSome ECM repositories provide a facility to retrieve alternative representations of a document. These alternative representations are known as renditions. This could apply to a preview case which would enable the client to preview the content of a document without needing to download the full content. Previews are generally reduced fidelity representations such as thumbnails. Renditions can take on any general form, such as a PDF version of a word document.A CMIS repository MAY expose zero or more renditions for a document or folder in addition to a document’'s content stream. CMIS provides no capability to create or update renditions accessed through the rendition services. Renditions are specific to the version of the document or folder and may differ between document versions. Each rendition consists of a set of rendition attributes and a rendition stream. Rendition attributes are not object properties, and are not queryable. They can be retrieved using the getRenditions service. A rendition stream can be retrieved using the getContentStream service with the rendition’'s streamId parameter.

2.1.4.2.1 Rendition AttributesA rendition has the following attributes:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 24 of 236

968

969

970

971972

973974

975

976977978979

980981982983984985986987988989

990991992

993994

99599699799899910001001100210031004100510061007

10081009

707172

Page 25: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

streamId ID

Identifies the rendition stream.

mimeType String

The MIME type of the rendition stream.

length Integer (optional)

The length of the rendition stream in bytes.

title String (optional)

Human readable information about the rendition.

kind String

A categorization String associated with the rendition.

height Integer (optional)

Typically used for ‘'image’' renditions (expressed as pixels). SHOULD be present if kind = cmis:thumbnail.

width Integer (optional)

Typically used for ‘'image’' renditions (expressed as pixels). SHOULD be present if kind = cmis:thumbnail.

renditionDocumentId ID (optional)

If specified, then the rendition can also be accessed as a document object in the CMIS services. If not set, then the rendition can only be accessed via the rendition services. Referential integrity of this ID is repository-specific.

2.1.4.2.2 Rendition KindA Rendition may be categorized via its kind. The repository is responsible for assigning kinds to Renditions, including custom kinds. A repository kind does not necessarily identify a single Rendition for a given Object.CMIS defines the following kind:

cmis:thumbnail : A rendition whose purpose is to a provide an image preview of the document without requiring the client to download the full document content stream. Thumbnails are generally reduced fidelity representations.

2.1.4.3 Document Object-Type DefinitionThis section describes the definition of the Document Object-Type’'s attribute values and property definitions which must be present on Document instance objects. All attributes and property definitions are listed by their ID.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 25 of 236

10101011

101210131014

101510161017

101810191020

102110221023

10241025102610271028102910301031

10321033103410351036

10371038103910401041

104210431044

1045104610471048

737475

Page 26: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.4.3.1 Attributes specific to Document Object-TypesThe following Object attributes MUST only apply to Object-Type definitions whose baseId is the cmis:document Object-Type, in addition to the common attributes specified above:

versionable Boolean

Indicates whether or not objects of this type are version-able. (See section .)

contentStreamAllowed Enum

A value that indicates whether a content-stream MAY, MUST, or MUST NOT be included in objects of this type. Values:

notallowed: A content-stream MUST NOT be included

allowed: A content-stream MAY be included

required: A content-stream MUST be included (i.e. MUST be included when the object is created, and MUST NOT be deleted.)

2.1.4.3.2 Attribute ValuesThe Document Object-Type MUST have the following attribute values.Notes:

A value of <repository-specific> indicates that the value of the property MAY be set to any valid value for the attribute type.

Unless explicitly stated otherwise, all values specified in the list MUST be followed for the Object-Type definition.

idValue: cmis:document

localNameValue: <repository-specific>

localNamespaceValue: <repository-specific>

queryNameValue: cmis:document

displayNameValue: <repository-specific>

baseIdValue: cmis:document

parentIdValue: Not set

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 26 of 236

10491050105110521053

1054105510561057

1058105910601061

1062106310641065106610671068

10691070

1071

10721073

1074

10751076

1077

10781079

1080

10811082

1083

10841085

1086

10871088

1089

767778

Page 27: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

descriptionValue: <repository-specific>

creatableValue: <repository-specific>

fileableValue: TRUE

queryableValue: SHOULD be TRUE

controllablePolicyValue: <repository-specific>

includedInSupertypeQueryValue: <repository-specific>

versionableValue: <repository-specific>

contentStreamAllowedValue: <repository-specific>

controllableACLValue: <repository-specific>

fulltextIndexedValue: <repository-specific>

2.1.4.3.3 Property DefinitionsThe Document base Object-Type MUST have the following property definitions, and MAY include additional property definitions. Any attributes not specified for the property definition are repository specific. For all property definitions on base types, the query name MUST be the same as the property ID. The repository MUST have the following property definitions on the Document Type:

cmis:name Name of the objectInherited: FalseProperty Type: StringCardinality: Single

cmis:objectId Id of the object

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 27 of 236

10901091

1092

10931094

1095

10961097

1098

10991100

1101

11021103

1104

1106

1107

11081109

1110

11111112

1113

11141115

1116

11171118

1119

11201121112211231124

11251126112711281129

11301131

798081

Page 28: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Required: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:baseTypeId Id of the base object-type for the objectRequired: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:objectTypeId Id of the object’'s typeRequired: TrueInherited: FalseProperty Type: IDCardinality: SingleUpdatability: oncreateChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:createdBy User who created the object.Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableQueryable: TrueOrderable: True

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 28 of 236

113211331134113511361137113811391140

114111421143114411451146114711481149115011511152

11531154115511561157115811591160116111621163

11641165116611671168116911701171117211731174828384

Page 29: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Repository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:creationDate DateTime when the object was created.Required: FalseInherited: FalseProperty Type: DateTimeCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableQueryable: TrueOrderable: TrueRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:lastModifiedBy User who last modified the object.Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableQueryable: TrueOrderable: TrueRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:lastModificationDate DateTime when the object was last modified.Required: FalseInherited: FalseProperty Type: DateTimeCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableQueryable: TrueOrderable: TrueRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 29 of 236

11751176

1177117811791180118111821183118411851186118711881189

1190119111921193119411951196119711981199120012011202

1203120412051206120712081209121012111212121312141215

1216

858687

Page 30: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

cmis:changeToken Opaque token used for optimistic locking & concurrency checking. (see section 2.2.1.3 Change Tokens)

Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. If the repository does not support change tokens, this property SHOULD not be set.

cmis:isImmutable TRUE if the repository MUST throw an error at any attempt to update or delete the object.

Required: FalseInherited: FalseProperty Type: BooleanCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:isLatestVersion See section .Required: FalseInherited: FalseProperty Type: BooleanCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. Version Property Values are repository-specific when a document is defined as non-versionable.

cmis:isMajorVersion See section .Required: FalseInherited: FalseProperty Type: BooleanCardinality: SingleUpdatability: Read OnlyChoices: Not Applicable

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 30 of 236

121712181219122012211222122312241225122612271228

122912301231123212331234123512361237123812391240

124112421243124412451246124712481249125012511252

12531254125512561257125812591260

888990

Page 31: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Open Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. Version Property Values are repository-specific when a document is defined as non-versionable.

cmis:isLatestMajorVersion See section .Required: FalseInherited: FalseProperty Type: BooleanCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. Version Property Values are repository-specific when a document is defined as non-versionable.

cmis:versionLabel See section .Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. Version Property Values are repository-specific when a document is defined as non-versionable.

cmis:versionSeriesId See section .Required: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. Version Property Values are repository-specific when a document is defined as non-versionable.

cmis:isVersionSeriesCheckedOut See section .Required: FalseInherited: False

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 31 of 236

1261126212631264

126512661267126812691270127112721273127412751276

127712781279128012811282128312841285128612871288

128912901291129212931294129512961297129812991300

1301130213031304

919293

Page 32: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Property Type: BooleanCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. Version Property Values are repository-specific when a document is defined as non-versionable.

cmis:versionSeriesCheckedOutBy See section .Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableVersion Property Values are repository-specific when a document is defined as non-versionable.

cmis:versionSeriesCheckedOutId See section .Required: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableVersion Property Values are repository-specific when a document is defined as non-versionable.

cmis:checkinComment See section .Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

Version Property Values are repository-specific when a document is defined as non-versionable.

cmis:contentStreamLength Length of the content stream (in bytes).Required: False Inherited: False

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 32 of 236

13051306130713081309131013111312

1313131413151316131713181319132013211322

1323132413251326132713281329133013311332

1333133413351336133713381339134013411342

1343134413451346

949596

Page 33: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Property Type: IntegerCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them and if the document has a content stream

cmis:contentStreamMimeType MIME type of the Content StreamRequired: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them and if the document has a content stream

cmis:contentStreamFileName File name of the Content StreamRequired: FalseInherited: FalseProperty Type: StringCardinality: SingleRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them and if the document has a content stream

cmis:contentStreamId Id of the streamRequired: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

2.1.5 Folder Object

A folder object serves as the anchor for a collection of file-able objects. The folder object has an implicit hierarchical relationship with each object in its collection, with the anchor folder object being the Parent object and each object in the collection being a Child object. This implicit relationship has specific containment semantics which MUST be maintained by the repository with implicit referential integrity. (That is, there will never be a dangling parent-relationship or a dangling child-relationship. Furthermore, object A is a parent of object B if and only if object B is a child of object A.) This system-maintained

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 33 of 236

1347134813491350135113521353

13541355135613571358135913601361136213631364

13651366136713681369137013711372

137313741375137613771378137913801381

1382

138313841385138613871388

979899

Page 34: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

implicit relationship is distinct from an explicit relationship which is instantiated by an application-maintained Relationship Object. (See section 2.1.6 Relationship Object.)

A folder object does not have a content-stream and is not version-able. A folder object MAY be associated with zero or more renditions (see section 2.1.4.2 Renditions).

2.1.5.1 File-able Objects

A file-able object is one that MAY be “"filed”" into a folder. That is, it MAY be a child object of a folder object. The following list defines whether the base CMIS Object-types are file-able:

cmis:folderMUST be file-able

cmis:documentMUST be file-able

cmis:relationshipMUST NOT be file-able

cmis:policyMAY be file-able

2.1.5.1.1 Document Version Series and Filing

Since document objects are versionable, a document object’'s membership in a folder MAY be version-specific or version-independent. That is, the folder membership MAY be restricted to that particular version of the document or MAY apply to all versions of the document. Whether or not a repository supports version-specific filing is discoverable via the “"Get Repository Information”" service (getRepositoryInfo).

When the child objects of a folder are retrieved, a specific version of a document MAY be returned. If the repository supports version-specific filing, the specific version filed in that folder is returned. If the repository does not support version-specific filing, the latest version of the document is returned.

Likewise, this version sensitivity in child-binding also affects the behavior of parent retrieval for a document object, as well as the scope of the IN_FOLDER() and IN_TREE() function calls in a query. For non-versionable fileable objects, their membership in a folder does not have version sensitivity.

2.1.5.1.2 Filing Restrictions by Object-TypeA folder collection’'s membership MAY be restricted by object-type. Each folder object has a multi-valued AllowedChildObjectTypeIDs property, which specifies that only objects of these types are allowed to be its children. If this property is “"not set”,", then objects of any file-able type MAY be filed in the Folder. It is repository-specific if subtypes of the types listed in the AllowedChildObjectTypeIDs property MAY be filed in the folder.

Because of these filing constraints, when a new folder object is created, an existing folder object MUST be specified as its parent.

When a non-file-able object is created, a parent folder MUST NOT be specified.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 34 of 236

13891390

13911392

1393

1394139513961397

139813991400

140114021403

140414051406

1407

14081409141014111412

141314141415

141614171418

141914201421142214231424

14251426

1427

100101102

Page 35: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

When a file-able object is deleted, it is removed from any folder collection in which the object is a member. In other words, when an object is deleted, all implicit parent-child relationships with the deleted object as a child cease to exist.

2.1.5.2 Folder Hierarchy

CMIS imposes the following constraints on folder objects:

Every folder object, except for one which is called the Root Folder, MUST have one and only one parent folder. The Root Folder does not have a parent.

A cycle in folder containment relationships is not allowed. That is, a folder object cannot have itself as one of its descendant objects.

A child object that is a folder object can itself be the parent object of other file-able objects.

With these constraints, the folder objects in a CMIS repository necessarily form a strict hierarchy, with the Root Folder being the root of the hierarchy.

The child objects of a given folder object, their child objects, and grandchild objects, etc., are called Descendant objects of the given folder objectA folder object together with all its descendant objects are collectively called a Tree rooted at that folder object.

A non-folder object does not have any descendant object. Thus, a Folder Graph that consists of all fileable objects as nodes, and all the implicit folder containment relationships as directed edges from parent to child, is a directed acyclic graph, possibly with some disconnected (orphan) nodes. It follows that the tree rooted at any given folder object is also a directed acyclic graph, although a non-folder object in the tree MAY have ancestors that are not ancestors of the rooted folder.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 35 of 236

142814291430

1431

1432

14331434143514361437

14381439

144014411442

14431444144514461447

103104105

Page 36: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Folder objects are handled using the basic CRUD services for objects,the basic CRUD services for objects, and the folder graph is traversed using the Navigation Services.Navigation Services.

The Root Folder is a special folder such that it cannot be created, deleted, or moved using CMIS services. Otherwise, it behaves like any other folder object.

2.1.5.3 PathsA folder hierarchy MAY be represented in a canonical notation such as path. For CMIS, a path is represented by:

‘/’'/' for the root folder All paths start with the root folder. A set of the folder and object path segments separated by ‘/’'/' in order of closest to the root. Folder and object path segments are specified by pathSegment tokens which can be retrieved by

all services that take an includePathSegments parameter.

A pathSegment token MUST not include a ‘/’'/' character.o It is repository specific how a repository chooses the value for pathSegment.

Repositories might choose to use cmis:name or content stream filename for pathSegment token.

The pathSegment token for each item MUST uniquely identify the item in the folder.

E.g., if folder A is under the root, and folder B is under A, then the path would be /A/B.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 36 of 236

1448

14491450

14511452

1453145414551456145714581459146014611462146314641465

14661467

106107108

Page 37: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

A path for an object may be calculated by taking the item’'s parent folder cmis:path property and appending the “/”"/" character and the object’'s pathSegment. This constructed path may be given as input to the getObjectByPath service for object by path retrieval.The getObjectParents service returns relativePathSegment tokens. These tokens are the pathSegment of the input object relative to the parent folders.

2.1.5.4 Folder Object-Type DefinitionThis section describes the definition of the Folder Object-Type’'s attribute values and property definitions which must be present on Folder instance objects. All attributes and property definitions are listed by their ID.

2.1.5.4.1 Attribute ValuesThe Folder Object-Type MUST have the following attribute values.Notes:

A value of <repository-specific> indicates that the value of the property MAY be set to any valid value for the attribute type.

Unless explicitly stated otherwise, all values specified in the table MUST be followed for the Object-Type definition.

idValue: cmis:folder

localNameValue: <repository-specific>

localNamespaceValue: <repository-specific>

queryNameValue: cmis:folder

displayNameValue: <repository-specific>

baseIdValue: cmis:folder

parentIdValue: Not set

descriptionValue: <repository-specific>

creatable

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 37 of 236

14681469147014711472

1473147414751476

1477147814791480148114821483

14841485

1486

14871488

1489

14901491

1492

14931494

1495

14961497

1498

14991500

1501

15021503

1504

15051506

1507

15081509

109110111

Page 38: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Value: <repository-specific>

fileableValue: TRUE

queryableValue: SHOULD be TRUE

controllablePolicyValue: <repository-specific>

includedInSupertypeQueryValue: <repository-specific>

controllableACLValue: <repository-specific>

fulltextIndexedValue: <repository-specific>

2.1.5.4.2 Property DefinitionsThe Folder base Object-Type MUST have the following property definitions, and MAY include additional property definitions. Any attributes not specified for the Property Definition are repository specific. For all property definitions on base types, the query name MUST be the same as the property ID. The repository MUST have the following property definitions on the Folder Type:

cmis:name Name of the objectInherited: FalseProperty Type: StringCardinality: SingleRequired: True

cmis:objectId Id of the objectRequired: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 38 of 236

1510

15111512

1513

15141515

1516

15171518

1519

15201521

1522

15231524

1525

15261527

1528

1529

1530153115321533153415351536153715381539

15401541154215431544154515461547154815491550

1551

112113114

Page 39: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

cmis:baseTypeId Id of the base object-type for the objectRequired: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:objectTypeId Id of the object’'s typeRequired: FalseTrueInherited: FalseProperty Type: IDCardinality: SingleUpdatability: oncreateChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:createdBy User who created the object.Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableQueryable: TrueOrderable: TrueRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:creationDate DateTime when the object was created.Required: FalseInherited: FalseProperty Type: DateTimeCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 39 of 236

1552155315541555155615571558155915601561

15621563156415651566156715681569157015711572

1573157415751576157715781579158015811582158315841585

158615871588158915901591159215931594115116117

Page 40: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Queryable: TrueOrderable: TrueRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:lastModifiedBy User who last modified the object.Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableQueryable: TrueOrderable: TrueRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:lastModificationDate DateTime when the object was last modified.Required: FalseInherited: FalseProperty Type: DateTimeCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableQueryable: TrueOrderable: TrueMUST be set on the object

cmis:changeToken Token used for optimistic locking & concurrency checking. (see section 2.2.1.3 Change Tokens)

Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. If the repository does not support change tokens, this property SHOULD not be set.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 40 of 236

1595159615971598

1599160016011602160316041605160616071608160916101611

161216131614161516161617161816191620162116221623

1624162516261627162816291630163116321633163416351636

1637

118119120

Page 41: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

cmis:parentId ID of the parent folder of the folder.Required: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:path The fully qualified path to this folder. See section 2.1.5.3 Paths.

Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:allowedChildObjectTypeIds Id’'s of the set of Object-types that can be created, moved or filed into this folder.

Required: FalseInherited: FalseProperty Type: IDCardinality: MultiUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

2.1.6 Relationship Object

A relationship object is semantically a dependent object. A relationship object MUST NOT have a content-stream, and MUST NOT be versionable, MAY be queryable, and MUST NOT be fileable, although it MAY be controllable.

If a repository does not support relationship objects, the relationship base object-type SHOULD NOT be returned by a “"Get Types”" service call.

A Relationship Object instantiates an explicit, binary, directional, non-invasive, and typed relationship between a Source Object and a Target Object. The source object and the target object MUST both be independent objects, such as a document object, a folder object, or a policy object. Whether a policy object is allowed to be the source or target object of a relationship object is repository-specific.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 41 of 236

1638163916401641164216431644164516461647

164816491650165116521653165416551656165716581659

1660166116621663166416651666166716681669

1670

167116721673

16741675

1676167716781679

121122123

Page 42: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The relationship instantiated by a relationship object is explicit since it is explicitly represented by an object and is explicitly managed by application.

This relationship is non-invasive in the sense that creating or removing this relationship SHOULD NOT modify either the source or the target object. That is, it SHOULD NOT require an update capability (or permission) on either object; SHOULD NOT affect the versioning state of either object; and SHOULD NOT change their “"Last Modification Date”.".

Explicit relationships can be used to create an arbitrary relationship graph among independent objects. Such a relationship graph is only structural in nature. No inheritance or transitive properties are attached to a relationship graph.

The notion of a source object and a target object of a relationship is used solely to indicate the direction of the relationship. No semantics or implementation bias is implied by this terminology.

The binding of a relationship object to a source document object or to a target document object MAY be either version-specific or version-independent. This version sensitivity is repository-specific, and is largely transparent to CMIS. An independent object MAY participate in any number of explicit relationships, as the source object for some and as the target object for others. Multiple relationships MAY exist between the same pair of source and target objects.

Referential integrity, either between the source object and the target object, or between the relationship object and the source or target object, is repository-specific. Therefore, creating an explicit relationship between two objects MAY impose a constraint on any of the three objects, and removing a relationship or deleting either the source or the target object MAY be restricted by such a constraint. If the source or the target object of a relationship is deleted, the repository MAY automatically delete the relationship object.

Like all CMIS objects, relationship objects are typed. Typing relationship allows them to be grouped, identified, and traversed by type id, and for properties to be defined for individual relationship types.

Additionally, a relationship object-type MAY specify that only Objects of a specific Object-Type can participate as the source object or target object for relationship objects of that type. If no such constraints are specified, then an independent object of any type MAY be the source or the target of a relationship object of that type.

When a relationship object is created, the source object ID and the target object ID MUST reference valid non-relationship CMIS objects.

When a relationship object is retrieved, its source object or target object MAY no longer exist, since referential integrity MAY not be maintained by a repository.

In addition to object CRUD services, a “"Get Relationships”" service (getObjectRelationships) may be used to return a set of relationship objects in which a given independent object is identified as the source or the target object, according to the binding semantics maintained by the repository (i.e., either a version-specific or a version-independent binding as described above).

2.1.6.1 Relationship Object-Type DefinitionThis section describes the definition of the Relationship Object-Type’'s attribute values and property definitions which must be present on Relationship instance objects. All attributes and property definitions are listed by their ID.

2.1.6.1.1 Attributes specific to Relationship Object-TypesThe following Object attributes MUST only apply to Object-Type definitions whose baseId is the cmis:relationship Object-Type, in addition to the common attributes specified above:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 42 of 236

16801681

1682168316841685

168616871688

16891690

16911692169316941695

16961697169816991700

17011702

1703170417051706

17071708

17091710

1711171217131714

1715171617171718

171917201721

124125126

Page 43: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

allowedSourceTypes ID (multi-valued)

A list of object-type IDs, indicating that the source object of a relationship object of this type MUST only be one of the types listed. If this attribute is “"not set”,", then the source object MAY be of any type.

allowedTargetTypes ID (multi-valued)

A list of object-type IDs, indicating that the target object of a relationship object of this type MUST only be one of the types listed. If this attribute is “"not set”,", then the target object MAY be of any type.

2.1.6.1.2 Attribute ValuesThe Relationship Object-Type MUST have the following attribute values.Notes:

A value of <repository-specific> indicates that the value of the property MAY be set to any valid value for the attribute type.

Unless explicitly stated otherwise, all values specified in the table MUST be followed for the Object-Type definition.

idValue: cmis:relationship

localNameValue: <repository-specific>

localNamespaceValue: <repository-specific>

queryNameValue: cmis:relationship

displayNameValue: <repository-specific>

baseIdValue: cmis:relationship

parentIdValue: Not set

descriptionValue: <repository-specific>

creatable

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 43 of 236

1722172317241725

17261727172817291730

1731173217331734173517361737

17381739

1740

17411742

1743

17441745

1746

17471748

1749

17501751

1752

17531754

1755

17561757

1758

17591760

1761

17621763

127128129

Page 44: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Value: <repository-specific>

fileableValue: FALSE

queryableValue: <repository-specific>

includedInSupertypeQueryValue: <repository-specific>

controllablePolicyValue: <repository-specific>

allowedSourceTypesValue: <repository-specific>

allowedTargetTypesValue: <repository-specific>

controllableACLValue: <repository-specific>

fulltextIndexedValue: <repository-specific>

2.1.6.1.3 Property DefinitionsThe Relationship base Object-Type MUST have the following property definitions, and MAY include additional property definitions. Any attributes not specified by the Property Definitions are repository specific. For all property definitions on base types, the query name MUST be the same as the property ID. The repository MUST have the following property definitions on the Relationship Type:

cmis:name Name of the objectInherited: FalseProperty Type: StringCardinality: Single

cmis:objectId Id of the objectRequired: FalseInherited: FalseProperty Type: IDCardinality: Single

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 44 of 236

1764

17651766

1767

17681769

1770

17711772

1773

17741775

1776

17771778

1779

17801781

1782

17831784

1785

17861787

1788

1789

17901791179217931794

17951796179717981799

180018011802180318041805

130131132

Page 45: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Updatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:baseTypeId Id of the base object-type for the objectRequired: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:objectTypeId Id of the object’'s typeRequired: FalseTrueInherited: FalseProperty Type: IDCardinality: SingleUpdatability: oncreateChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:createdBy User who created the object.Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:creationDate DateTime when the object was created.Required: FalseInherited: FalseProperty Type: DateTime

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 45 of 236

18061807180818091810

18111812181318141815181618171818181918201821

18221823182418251826182718281829183018311832

18331834183518361837183818391840184118421843

18441845184618471848

133134135

Page 46: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Cardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:lastModifiedBy User who last modified the object.Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:lastModificationDate DateTime when the object was last modified.Required: FalseInherited: FalseProperty Type: DateTimeCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them

cmis:changeToken Opaque token used for optimistic locking & concurrency checking. (see section 2.2.1.3 Change Tokens)

Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. If the repository does not support change tokens, this property SHOULD not be set.

cmis:sourceId ID of the source object of the relationship.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 46 of 236

184918501851185218531854

18551856185718581859186018611862186318641865

18661867186818691870187118721873187418751876

1877187818791880188118821883188418851886188718881889

18901891

136137138

Page 47: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Required: TrueInherited: FalseProperty Type: IDCardinality: SingleChoices: Not ApplicableOpen Choice: Not Applicable

cmis:targetId ID of the target object of the relationship.Required: TrueInherited: FalseProperty Type: IDCardinality: SingleChoices: Not ApplicableOpen Choice: Not Applicable

2.1.7 Policy Object

A policy object represents an administrative policy that can be enforced by a repository, such as a retention management policy. CMIS 1.0 does not specify what kinds of administrative policies that are specifically supported, nor attempts to model administrative policy of any particular kind. Only a base object-type is specified for policy objects. Each policy object holds the text of an administrative policy as a repository-specific string, which is opaque to CMIS and which may be used to support policies of various kinds. A repository may create subtypes of this base type to support different kinds of administrative policies more specifically. If a repository does not support policy objects, the policy base object-type SHOULD NOT be returned by a “"Get Types”" service call. This is an extension point for repositories that want to expose other capabilities via CMIS that are not supported directly in CMIS 1.0.

Aside from allowing an application to create and maintain policy objects, CMIS allows an application to “"apply”" a policy to an object, and to remove an applied policy from an object. An object to which a policy may be applied is called a controllable object. A policy MAY be applied to multiple controllable objects. Conversely, a repository MAY allow multiple policies applied to a controllable object. (A repository may, for example, impose constraints such as only one policy of each kind can be applied to an object.) Whether or not an object is controllable is specified by the object’'s type definition. Applying a policy to an object is to place the object under the control of that policy (while the object may also be under the control of other policies at the same time), and removing an applied policy from one of its controlled objects is to remove the corresponding control from that object. This control may change the state of the object, may impose certain constraints on service calls operating on this object, or may cause certain management actions to take place. The effect of this control, when this effect takes place, and how this control interacts with other controls, are repository-specific. Only directly/explicitly applied policies are covered by CMIS 1.0. Indirectly applying policy to an object, e.g. through inheritance, is outside the scope of CMIS 1.0.

A policy object does not have a content-stream and is not versionable. It may be fileable, queryable or controllable. Policy objects are handled using the basic CRUD services for objects. If a policy is updated, the change may alter the corresponding control on objects that the policy is currently applied to. If a controlled object is deleted, all the policies applied to that object, if there are any, are removed from that object. A policy object that is currently applied to one or more controllable objects CAN NOT be deleted. That is, there is an implicit referential constraint from a controlled object to its controlling policy object(s). Besides the basic CRUD services, the “"Apply Policy”" (applyPolicy) and the “"Remove Policy”" (removePolicy) services may be used to apply a policy object to a controllable object and respectively to remove an applied policy from one of its controlled objects. In addition, the “"Get Applied Policies”"

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 47 of 236

189218931894189518961897

18981899190019011902190319041905

1906

190719081909191019111912191319141915

1916191719181919192019211922192319241925192619271928

192919301931193219331934193519361937

139140141

Page 48: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

(getAppliedPolicies) service may be used to obtain the policy objects that are currently applied to a controllable object.

2.1.7.1 Policy Object-Type DefinitionThis section describes the definition of the Policy Object-Type’'s attribute values and property definitions which must be present on Policy instance objects. All attributes and property definitions are listed by their ID.

2.1.7.1.1 Attribute ValuesThe Policy Object-Type MUST have the following attribute values.Notes:

A value of <repository-specific> indicates that the value of the property MAY be set to any valid value for the attribute type.

Unless explicitly stated otherwise, all values specified in the table MUST be followed for the Object-Type definition.

idValue: cmis:policy

localNameValue: <repository-specific>

localNamespaceValue: <repository-specific>

queryNameValue: cmis:policy

displayNameValue: <repository-specific>

baseIdValue: cmis:policy

parentIdValue: Not set

descriptionValue: <repository-specific>

creatableValue: <repository-specific>

fileable

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 48 of 236

19381939

1940194119421943

1944194519461947194819491950

19511952

1953

19541955

1956

19571958

1959

19601961

1962

19631964

1965

19661967

1968

19691970

1971

19721973

1974

19751976

1977

19781979

142143144

Page 49: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Value: <repository-specific>

queryableValue: <repository-specific>

includedInSupertypeQueryValue: <repository-specific>

controllablePolicyValue: <repository-specific>

controllableACLValue: <repository-specific>

fulltextIndexedValue: <repository-specific>

2.1.7.1.2 Property DefinitionsThe Policy base Object-Type MUST have the following property definitions, and MAY include additional property definitions. Any attributes not specified by the Property Definitions are repository specific. For all property definitions on base types, the query name MUST be the same as the property ID. The repository MUST have the following property definitions on the Policy Type:

cmis:name Name of the objectInherited: FalseProperty Type: StringCardinality: Single

cmis:objectId Id of the objectRequired: FalseInherited: FalseProperty Type: IDCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

cmis:baseTypeId Id of the base object-type for the objectRequired: FalseInherited: FalseProperty Type: IDCardinality: Single

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 49 of 236

1980

19811982

1983

19841985

1986

19871988

1989

19901991

1992

19931994

1995

1996

19971998199920002001

20022003200420052006

200720082009201020112012201320142015

201620172018201920202021

145146147

Page 50: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Updatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

cmis:objectTypeId Id of the object’'s typeRequired: FalseTrueInherited: FalseProperty Type: IDCardinality: SingleUpdatability: oncreateChoices: Not ApplicableOpen Choice: Not Applicable

cmis:createdBy User who created the object.Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

cmis:creationDate DateTime when the object was created.Required: FalseInherited: FalseProperty Type: DateTimeCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

cmis:lastModifiedBy User who last modified the object.Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

cmis:lastModificationDate DateTime when the object was last modified.Required: False

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 50 of 236

202220232024

202520262027202820292030203120322033

203420352036203720382039204020412042

204320442045204620472048204920502051

205220532054205520562057205820592060

206120622063

148149150

Page 51: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Inherited: FalseProperty Type: DateTimeCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not Applicable

cmis:changeToken Opaque token used for optimistic locking & concurrency checking. (see section 2.2.1.3 Change Tokens)

Required: FalseInherited: FalseProperty Type: StringCardinality: SingleUpdatability: Read OnlyChoices: Not ApplicableOpen Choice: Not ApplicableRepository MUST return this property with non-empty values when an object is requested and the property filter does not exclude them. If the repository does not support change tokens, this property SHOULD not be set.

cmis:policyText User-friendly description of the policyRequired: TrueInherited: FalseProperty Type: StringCardinality: SingleChoices: Not ApplicableOpen Choice: Not Applicable

2.1.8 Access Control

A repository can support either a base set of CMIS-defined permissions and/or its own set of repository specific permissions. The getACL service allows the requestor to specify that the result be expressed using only the CMIS defined permissions. Without this restriction, the response may include, or be solely expressed in repository specific permissions. The applyACL service permits either CMIS permissions or repository permissions, or a combination of both, to be used.

2.1.8.1 ACL, ACE, Principal, and PermissionAn ACL is a list of Access Control Entries (ACEs) and MAY hold zero or more ACEs. If an ACL has no ACEs, the behavior is the same as if the ACL is not set.An ACE holds:

one Principal: A principal represents a user management object, e.g. a user, group, or role.It holds one String with the principalid.

One or more Strings with the names of the permissions.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 51 of 236

206420652066206720682069

2070207120722073207420752076207720782079208020812082

20832084208520862087208820892090

2091

209220932094209520962097

2098209921002101210221032104

151152153

Page 52: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

a Boolean flag direct, which indicates if TRUE the ACE is directly assigned to the object. If FALSE, that the ACE is somehow derived.

2.1.8.2 CMIS PermissionsThere are three basic permissions predefined by CMIS:

cmis:read: to be used to express “"permission to read”.". A Repository SHOULD express the permission for reading properties AND reading content with this permission.

cmis:write: to be used to express “"permission to write”.". SHOULD be used to express permission to write properties and content of an object. MAY include other basic CMIS permissions.

cmis:all: SHOULD be used to express all the permissions of a repository. SHOULD include all other basic CMIS permissions.

How these basic permissions can be mapped to the allowable actions is repository specific. However, the actual repository semantics for the basic permissions with regard to allowable actions can be discovered by the mappings parameter returned by getRepositoryInfo (see below).Repositories MAY extend this set with repository-specific permissions.

2.1.8.3 ACL CapabilitiesWhether a repository supports ACLs at all, may be discovered via capabilityACL returned by getRepositoryInfo (see section 2.1.1.1 Optional Capabilities). If capabilityACL is none, ACLs are not supported by the repository.If capabilityACL is discover or manage, additional information about the repositories permission model and how changes to ACL are handled, can be discovered via the getRepositoryInfo service:

<Array> Enum propagation: specifies, how non-direct ACEs can be handled by the repository using the following values (see section 2.2.10.2 applyACL):o objectonly indicates, that the repository is able to apply ACEs to a document or folder,

without changing the ACLs of other objects.o propagate: indicates that the ACEs is to be applied to the given object and all inheriting

objects. Propagate incorporates the support for objectonly.o repositorydetermined indicates, that the repository has its own mechanism of

computing how changing an ACL for an object influences the non-direct ACEs of other objects.

<Array> PermissionDefinition repositoryPermissions: is a list with names and descriptions of the supported permissions.

<Array> PermissionMapping mappings: contains a list with mappings for the basic CMIS permissions to allowed actions.

2.1.8.3.1 Supported Permissions

The list of permission definitions returned by getRepositoryInfo lists all the permissions a repository supports. This list also includes the CMIS permissions if supported by the repository.A PermissionDefinition holds:

String permission: the (technical) name of the permission (unique within the list of permission definitions).

(Optional) String description: an optional description of the permission that should be used as the permission’'s name to be presented to the user.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 52 of 236

21052106

210721082109211021112112211321142115

2116211721182119

2120212121222123212421252126212721282129213021312132213321342135213621372138

2139

2140214121422143214421452146

154155156

Page 53: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.8.3.2 AllowableActions & Permission MappingCMIS provides a mechanism called “"AllowableActions”" which allows an application to discover the set of service operations that can currently be performed on a particular object, without having to actually invoke the service. The set of allowable actions on an object at a point in time are affected not only by CMIS ACLs, but also by other factors such as:

1. Constraints inherent in the CMIS Domain Model based on the object’'s base type or current versioning state.

2. Policies or other control mechanisms that are opaque to CMIS.

CMIS defines several services that applications can use at run-time to discover the AllowableActions for an object.If a Repository supports ACLs, then the repository MUST provide a mapping table that defines how the permissions supported by the repository interact with the CMIS allowable actions, i.e. which permissions are necessary for a principal to have on one or more objects in order to potentially perform each action, subject to the other constraints on allowable actions above. This section defines both the allowable actions as well as how those actions are presented in the PermissionMapping table. The Permission Mapping table contains a set of (key, permissions) pairs:

o String Key: Because several allowable actions may require permissions on more than one object – for example, moving a document from one folder to another may require permissions on the document and each of the folders – the mapping table is defined in terms of permission “"keys”,", where each key combines the name of the allowable action as the object for which the principal needs the required permission.

o For example – the canMoveObject.Source key indicates the permissions that the principal must have on the” “" "source folder”" to move an object from that folder into another folder.

o <Array> String permissions: The names of one or more permissions that the principal MUST have. If more than one permission is specified, then the principal MUST be allowed to perform the operation if they have ANY of the listed permissions.

The list below defines all mapping keys, as well as a permissions mapping that repositories SHOULD use. Repositories MAY require additional permissions. For convenience, the list below groups all mapping entries by the underlying Allowable Actions, and includes descriptive information. For each Allowable Action the following information is given:

Description: The description and name of the service the AllowableAction enables.Base Object: The base object-types for which the allowable action MAY be TRUE.Operand: The object the permission applies to.Key: The permission mapping key.Permissions: The permission values.

Navigation Services:canGetDescendants

Description: Can get the descendants of the folder (getDescendants)

Base Object: cmis:folderOperand: cmis:folderKey: canGetDescendants.Folder

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 53 of 236

214721482149215021512152215321542155

215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185

2186218721882189219021912192

157158159

Page 54: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Permission: Read

canGetFolderTree Description: Can get the sub-folder tree of the folder (getFolderTree)

Base Object: cmis:folderOperand: cmis:folderKey: canGetFolderTree.FolderPermission: Read

canGetChildrenDescription: Can get the children of the folder (getChildren)

Base Object: cmis:folderOperand: cmis:folderKey: canGetChildren.FolderPermission: Read

canGetFolderParentDescription: Can get the parent/ancestor folder(s) of the folder (getFolderParent)

Base Object: cmis:folderOperand: cmis:folderKey: canGetFolderParent.FolderObjectPermission: Read

canGetObjectParentsDescription: Can get the parent folders of the object. (getObjectParents)

Base Object: cmis:document, cmis:folder, cmis:policyOperand ObjectKey: canGetObjectParents.ObjectPermission: Read

Object Services:canCreateDocument

Description: Can create a cmis:document Object in the folder (createDocument)

Base Object: cmis:folderOperand: FolderKey: canCreateDocument.FolderPermission: Read

canCreateFolderDescription: Can create a cmis:folder Object as a child of the specified folder (createFolder)

Base Object: cmis:folder

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 54 of 236

2193

2194219521962197219821992200

2201220222032204220522062207

2208220922102211221222132214

2215221622172218221922202221

2222222322242225222622272228222922302231223222332234

160161162

Page 55: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Operand: FolderKey: canCreateFolder.FolderPermission: Read

canCreateRelationshipDescription: Can create a Relationship in which this Object is a source

(createRelationship)

Base Object: cmis:document, cmis:folderOperand: ObjectKey: canCreateRelationship.SourcePermission: Read

canCreateRelationshipDescription: Can create a Relationship in which this Object is a target

(createRelationship)

Base Object: cmis:document, cmis:folderOperand: ObjectKey: canCreateRelationship.TargetPermission: Read

canGetPropertiesDescription: Can read the properties of this object (getProperties)

Base Object: cmis:document, cmis:folder, cmis:relationship, cmis:policyOperand: ObjectKey: canGetProperties.ObjectPermission: Read

canGetRenditions Description: Can retrieve the renditions of this object (getRenditions)

Base Object: cmis:document, or cmis:folderOperand: ObjectKey: canGetRenditions.ObjectPermission: Read

canGetContentStream Description: Can get the content stream for the Document object

(getContentStream)

Base Object: cmis:documentOperand: ObjectKey: canGetContentStream.ObjectPermission: Read

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 55 of 236

223522362237

22382239224022412242224322442245

22462247224822492250225122522253

2254225522562257225822592260

2261226222632264226522662267

22682269227022712272227322742275

2276

163164165

Page 56: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

canUpdatePropertiesDescription: Can update the properties of this object (updateProperties)

Base Object: cmis:document, cmis:folder, cmis:relationship, cmis:policyOperand: ObjectKey: canUpdateProperties.ObjectPermission: Write

canMoveObjectDescription: Can move the object (moveObject)

Base Object: cmis:document, cmis:folder, cmis:policyOperand: ObjectKey: canMoveObject.ObjectPermission: Write

canMoveObjectDescription: Can move an object into this folder (moveObject)

Base Object: cmis:folderOperand: FolderKey: canMoveObject.TargetPermission: Read

canMoveObjectDescription: Can move an object from this folder (moveObject)

Base Object: cmis:folderOperand: FolderKey: canMoveObject.SourcePermission: Read

canDeleteObjectDescription: Can delete this object (deleteObject)

Base Object: cmis:document, cmis:folder, cmis:relationship, cmis:policyOperand: ObjectKey: canDelete.ObjectPermission: Write

canGetContentStreamcanDeleteObject Description: Can delete an object that is a child of this folder (deleteObject)

Base Object: cmis:folderdocumentAction: Can get the content stream for the Document object

(getContentStream)

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 56 of 236

227722782279228022812282

2283228422852286228722882289

2290229122922293229422952296

2297229822992300230123022303

2304230523062307230823092310

23112312231323142315231623172318

166167168

Page 57: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Operand: FolderObjectKey: canDelete.FoldercanViewContent.ObjectPermission: Read

canSetContentStreamDescription: Can set the content stream for the Document object

(setContentStream)

Base Object: cmis:documentOperand: ObjectKey: canSetContentStream.DocumentPermission: Write

canDeleteContentStreamBase Object: cmis:documentAction: Can delete the content stream for the Document object

(deleteContentStream)

Operand: ObjectKey: canDeleteContentStream.DocumentPermission: Write

canDeleteTreeBase Object: cmis:folderAction: Can delete the folder and all contained objects (deleteTree)

Operand: ObjectKey: canDeleteTree.FolderPermission: Write

Filing Services:canAddObjectToFolder

Description: Can file the document in a folder (addObjectToFolder)

Base Object: cmis:document, cmis:policyOperand: ObjectKey: canAddToFolder.ObjectPermission: Read

canAddObjectToFolderDescription: Can file a document in the specified folder (addObjectToFolder)

Base Object: cmis:document, cmis:policyOperand: ObjectKey: canAddToFolder.FolderPermission: Read

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 57 of 236

231923202321

23222323232423252326232723282329

23302331233223332334233523362337

2338233923402341234223432344

23452346234723482349235023512352

2353235423552356235723582359

2360

169170171

Page 58: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

canRemoveObjectFromFolderDescription: Can unfile the specified document from a folder (removeObjectFromFolder)

Base Object: cmis:document, cmis:policyOperand: ObjectKey: canRemoveObjectFromFolder.ObjectPermission: Read

canRemoveObjectFromFolderDescription: Can unfile a document from the specified folder (removeObjectFromFolder)

Base Object: cmis:document, cmis:policyOperand: ObjectKey: canRemoveObjectFromFolder.FolderPermission: Read

Versioning Services:canCheckOut

Description: Can check out the Document object (checkOut)

Base Object: cmis:documentOperand: ObjectKey: canCheckOout.DocumentPermission: Write

canCancelCheckOutDescription: Can cancel the check out the Document object (cancelCheckOut)

Base Object: cmis:documentOperand: ObjectKey: canCancelCheckout.DocumentPermission: Write

canCheckInDescription: Can check in the Document object (checkIn)

Base Object: cmis:documentOperand: ObjectKey: canCheckin.DocumentPermission: Write

canGetAllVersions

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 58 of 236

2361236223632364236523662367

23682369237023712372237323742375

23762377237823792380238123822383

2384238523862387238823892390

2391239223932394239523962397

23982399

172173174

Page 59: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Description: Can get the version series for the Document object (getAllVersions)

Base Object: cmis:documentOperand: ObjectKey: canGetAllVersions.DocumentVersionSeriesPermission: Read

Relationship Services:canGetObjectRelationships

Description: Can get the relationship in which this object is a source/target (getObjectRelationships)

Base Object: cmis:document, cmis:folder, cmis:policyOperand: ObjectKey: canGetObjectRelationships.ObjectPermission: Read

Policy Services:canApplyPolicy

Description: Can apply a policy to the Object (applyPolicy)

Base Object: cmis:document, cmis:folderOperand: ObjectKey: canAddPolicy.ObjectPermission: Read

canApplyPolicyDescription: Can apply the specified policy to an Object (applyPolicy)

Base Object: cmis:policyOperand: ObjectKey: canAddPolicy.PolicyPermission: Read

canRemovePolicyDescription: Can remove a policy from the specified Object (removePolicy)

Base Object: cmis:document, cmis:folderOperand: ObjectKey: canRemovePolicy.ObjectPermission: Read

canRemovePolicyDescription: Can remove the specified policy from an Object (removePolicy)

Base Object: cmis:document, cmis:folderOperand: cmis:policy

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 59 of 236

24002401240224032404

240524062407240824092410241124122413

24142415241624172418241924202421

2422242324242425242624272428

2429243024312432243324342435

24362437243824392440

175176177

Page 60: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Key: canRemovePolicy.PolicyPermission: Read

canGetAppliedPoliciesDescription: Can get the list of Policies applied to the Object

(getAppliedPolicies)

Base Object: cmis:document, cmis:folderOperand: ObjectKey: canGetAppliedPolicies.ObjectPermission: Read

ACL Services:canGetACL

Description: Can get ACL for object (getACL)

Base Object: cmis:document, cmis:folder, cmis:relationship, cmis:policyOperand: ObjectKey: canGetACL.ObjectPermission: Read

canApplyACLDescription: Can apply ACL to this object (applyACL)

Base Object: cmis:document, cmis:folder, cmis:relationship, cmis:policyOperand: ObjectKey: canApplyACL.ObjectPermission: Write

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 60 of 236

24412442

24432444244524462447244824492450

24512452245324542455245624572458

2459246024612462246324642465

178179180

Page 61: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.9 VersioningCMIS supports versioning of Document objects. Folder objects, relationship objects, and policy objects cannot be versioned. Whether or not a Document object is versionable (i.e. whether or not operations performed on the object via the Versioning Services MUST be allowed) is specified by the “"versionable”" attribute on its Object-type. A version of a Document object is an explicit/”/"deep”" copy of the object, preserving its state at a certain point in time. Each version of a Document object is itself a Document object, i.e. has its own ObjectId, property values, MAY be acted upon using all CMIS services that act upon Document objects, etc.

2.1.9.1 Version SeriesA version series for a Document object is a transitively closed collection of all Document objects that have been created from an original Document in the Repository. Each version series has a unique, system-assigned, and immutable version series ID. The version series has transitive closure -- that is, if object B is a version of object A, and object C is a version of object B, then object C is also a version of object A. The objects in a version series can be conceptually sequenced by their respective CreationDate properties. Additionally, the repository MAY expose a textual VersionLabel that describes to a user the position of an individual object with respect to the version series. (For example, version 1.0). Note: A Document object that is NOT versionable will always have a single object in its Version Series. A versionable Document object MAY have one or more objects in its Version Series.

2.1.9.2 Latest VersionThe version that has the most recent LastModificationDate is called the Latest Version of the series, or equivalently, the latest version of any Document object in the series.When the latest version of a version series is deleted, a previous version (if there is one) becomes the latest version.

2.1.9.2.1 Behavioral constraints on non-Latest VersionsRepositories NEED NOT allow the non-latest versions in a Version Series to be updated, queried, or searched.

2.1.9.3 Major VersionsA Document object in a Version Series MAY be designated as a Major Version. The CMIS specification does not define any semantic/behavioral differences between Major and non-Major versions in a Version Series. Repositories may enforce/apply additional constraints or semantics for Major versions, if the effect on CMIS services remains consistent with an allowable behavior of the CMIS model.If the Version Series contains one or more Major versions, the one that has the most recent LastModificationDate is the Latest Major Version of the version series. (Note that while a Version Series MUST always have a Latest Version, it NEED NOT have a Latest Major Version.)When the latest major version is deleted, a previous major version (if there is one) becomes the latest major version.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 61 of 236

2466

246724682469247024712472247324742475

24762477247824792480248124822483248424852486

24872488248924902491

249224932494

249524962497249824992500250125022503250425052506

181182183

Page 62: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.9.4 Services that modify Version Series

2.1.9.4.1 CheckoutA new version of a versionable Document object is created when the checkIncheckIn service is invoked on the Private Working copy (PWC) of this object. A PWC is created by invoking checkOut on a versionable Document object. A repository MAY allow any Document object in a version series to be checked out, or MAY only allow the Latest Version to be checked out. The effects of invoking the checkout service MUST be as follows:

A new Document object, referred to herein as the Private Working Copy (PWC), is created.o The PWC NEED NOT be visible to users who have permissions to view other Document

objects in the Version Series. o Until it is checked in (using the checkIn service), the PWC MUST NOT be considered the

LatestMajorVersion in the Version Series. o The property values for the PWC SHOULD be identical to the properties of the Document

object on which the checkout service was invoked. Certain properties such as cmis:objectId may be different. Properties such as cmis:creationDate most likely will be different. The content-stream of the PWC MAY be identical to the content-stream of the Document object on which the checkout service was invoked, or MAY be “"not set”.".

After a successful checkout operation is completed, and until such time when the PWC is deleted (via the cancelCheckOut service) or checked-in (via the checkIn) service, the effects on other Documents in the Version Series MUST be as follows:

The repository MUST throw an exception if the checkout service is invoked on any Document in the Version Series. (I.e. there can only be one PWC for a version series at a time.)

The value of the cmis:isVersionSeriesCheckedOut property MUST be TRUE. The value of the cmis:versionSeriesCheckedOutBy property MAY be set to a value indicating

which user created the PWC. (The Repository MAY still show the “"not set”" value for this property.)

The value of the cmis:versionSeriesCheckedOutId property MAY be set to the ObjectId of the PWC. (The Repository MAY still show the “"not set”" value for this property).

The repository MAY prevent operations that modify or delete the other Documents in the Version Series.

2.1.9.4.2 Updates to the Private Working CopyIf the repository supports the optional “"PWCUpdatable”" capability, then the repository MUST allow authorized users to modify the PWC Object using the Object services (e.g. UpdateProperties). If the repository does NOT support the “"PWCUpdatable”" capability, then the PWC object can only be modified as part of the checkIn service call.

2.1.9.4.3 Discarding Check outAn authorized user MAY discard the check-out using the cancelCheckOut service on any Document in the Version Series or by using the deleteObject service on the PWC Object. The effects of discarding a check-out MUST be as follows:

The PWC Object MUST be deleted. For all other Documents in the Version Series:

o The value of the cmis:isVersionSeriesCheckedOut property MUST be FALSE.

o The value of the cmis:versionSeriesCheckedOutBy property MUST be “"not set”.".

o The value of the cmis:versionSeriesCheckedOutId property MUST be “"not set”.".

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 62 of 236

2507

25082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536

25372538253925402541

254225432544254525462547254825492550

184185186

Page 63: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o The repository MUST allow authorized users to invoke the checkout service.

2.1.9.4.4 CheckinAn authorized user/application MAY “"check in”" the Private Working Copy object via the checkIn service. The checkIn service allows users/applications to provide update property values and a content-stream for the PWC object. The effects of the checkIn service MUST be as follows for successful checkins: The PWC object MUST be updated as specified by the inputs to the checkIn service. (Note that for

repositories that do NOT support the “"PWCUpdatable”" property, this is the only way to update the PWC object.)

The Document object resulting from the checkIn operation MUST be considered the Latest Version in the Version Series.

If the inputs to the checkIn service specified that the PWC MUST be a “"major version”,", then the PWC MUST be considered the Latest Major Version in the Version Series.

If the checkin returns a new cmis:objected, then the PWC object MUST disappear if the checkIn call was successful and the new checked in version will use the new specified id.

For all Documents in the Version Series:o The value of the cmis:isVersionSeriesCheckedOut property MUST be FALSE.

o The value of the cmis:versionSeriesCheckedOutBy property MUST be “"not set”.".

o The value of the cmis:versionSeriesCheckedOutId property MUST be “"not set”.".

o The repository MUST allow authorized users to invoke the checkout service.

Note: The Repository MAY change the ID of the PWC upon completion of the checkin service invocation.Note: A repository MAY automatically create new versions of Document objects without an explicit invocation of the checkout/checkin services.

2.1.9.5 Versioning Properties on Document ObjectsAll Document objects will have the following read-only property values pertaining to versioning:

cmis:isLatestVersion Boolean

TRUE if the Document object is the Latest Version in its Version Series. FALSE otherwise.

cmis:isMajorVersion Boolean

TRUE if the Document object is a Major Version in its Version Series. FALSE otherwise.

cmis:isLatestMajorVersion Boolean

TRUE if the Document object is the Latest Major Version in its Version Series. FALSE otherwise.

cmis:versionLabel String (optional)

Optional textual description the position of an individual object with respect to the version series. (For example, version 1.0).

cmis:versionSeriesId ID

ID of the Version Series for this Object.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 63 of 236

2551

2552255325542555255625572558255925602561256225632564256525662567256825692570257125722573

25742575

25762577

2578

25792580

2581

25822583

2584

25852586

25872588

25892590

2591

2592

187188189

Page 64: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

cmis:isVersionSeriesCheckedOut Boolean

TRUE if there currenly exists a Private Working Copy for this Version Series. FALSE otherwise

cmis:versionSeriesCheckedOutBy String

If IsVersionSeriesCheckedOut is TRUE: then an identifier for the user who created the Private Working Copy. “"Not set”" otherwise.

cmis:versionSeriesCheckedOutId ID

If IsVersionSeriesCheckedOut is TRUE: The Identifier for the Private Working Copy. “"Not set”" otherwise.

cmis:checkinComment String

Textual comment associated with the given version.

Note: Changes made via the Versioning Services that affect the values of these properties MUST NOT constitute modifications to the Document objects in the Version Series (e.g. MUST NOT affect the cmis:lastModificationDate, etc.)

2.1.9.6 Document Creation and Initial Versioning StateA repository MAY create new Document objects in a “"Private Working Copy”" state when they are created via the createDocument or createDocumentFromSource services. This state is logically equivalent to having a Version Series that contains exactly one object (the PWC) and 0 other documents. The repository MAY also create new Document objects in a “"Major Version”" state. This state is logically equivalent to having a Version Series that contains exactly one Major Version and 0 other documents.The repository MAY also create new Document objects in a “"Non-Major Version”" state. This state is logically equivalent to having a Version Series that contains exactly one Non-Major Version and 0 other documents.If the repository does not support versioning the repository MUST ignore the value of the versioningState parameter.

2.1.9.7 Version Specific/Independent membership in Folders Repositories MAY treat membership of a Document object in a folder collection as “"version-specific”" or “"version-independent”.". Repositories MUST indicate whether they support version-specific membership in a folder via the “"VersionSpecificFiling”" optional capability flag. If the repository is treating folder collection membership as “"version-independent”,", then:

Moving or Filing a Document Object into a folder MUST result in ALL Documents in the Version Series being moved/filed into the folder.

The Repository MAY return only the latest-version OR latest major-version Document object in a version series in the response to Navigation service requests (getChildren, getDescendants), and NEED NOT return other Document Objects filed in the folder that are in the Version Series.

If the repository is treating folder collection membership as “"version-specific”,", then moving or Filing a Document Object into a folder MUST NOT result in other Documents in the Version Series being moved/filed.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 64 of 236

2593

2594

25952596

25972598

25992600

26012602

26032604

2605

260626072608

26092610261126122613261426152616261726182619

26202621262226232624262526262627262826292630263126322633

190191192

Page 65: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.9.8 Version Specific/Independent membership in RelationshipsA relationship object MAY have either a version-specific or version-independent binding to its source and/or target objects. This behavior MAY vary between repositories and between individual relationship types defined for a Repository. If a relationship object has a version-independent binding to its source/target object, then:

The getObjectRelationships service invoked on a Document Object MUST return the relationship if Relationship was source/target is set to ANY Document Object in the Version Series.

If a relationship object has a version-specific binding to its source/target object, then: The getObjectRelationships service invoked on a Document Object MUST return the relationship if

Relationship was source/target is set to the ID of the Document Object on which the service was invoked.

2.1.9.9 Versioning visibility in Query ServicesRepositories MAY include non-latest-versions of Document Objects in results to the Discovery Services (query). Repositories MUST indicate whether they support querying for non-latest-versions via the “"AllVersionsSearchable”" optional capability flag. If “"AllVersionsSearchable”" is TRUE then the Repository MUST include in the query results ANY Document Object in the Version Series that matches the query criteria. (subject to other query constraints such as security.)Additionally, repositories MAY include Private Working Copy objects in results in results to the Discovery Services (query). Repositories MUST indicate whether they support querying for Private Working Copy objects via the “"PWCSearchable”" optional capability flag. If “"PWCSearchable”" is TRUE then the Repository MUST include in the query results ANY Private Working Copy Document Objects that matches the query criteria (subject to other query constraints such as security.)If “"PWCSearchable”" is FALSE then the Repository MUST NOT include in the query results ANY Private Working Copy Document Objects that match the query criteria (subject to other query constraints such as security.)

2.1.10 QueryCMIS provides a type-based query service for discovering objects that match specified criteria, by defining a read-only projection of the CMIS data model into a Relational View. Through this relational view, queries may be performed via a simplified SQL SELECT statement. This query language is based on a subset of the SQL-92 grammar (ISO/IEC 9075: 1992 – Database Language SQL), with a few extensions to enhance its filtering capability for the CMIS data model, such as existential quantification for multi-valued property, full-text search, and folder membership. Other statements of the SQL language are not adopted by CMIS. The semantics of this query language is defined by the SQL-92 standard, plus the extensions, in conjunction with the model mapping defined by CMIS’'s relational view.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 65 of 236

26342635263626372638263926402641264226432644

264526462647264826492650265126522653265426552656265726582659266026612662

266326642665266626672668266926702671

193194195

Page 66: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.10.1 Relational View Projection of the CMIS Data ModelThe relational view of a CMIS repository consists of a collection of virtual tables that are defined on top of the CMIS data model. This relational view is used for query purposes only.

In this relational view a Virtual Table is implicitly defined for each queryablequeryable Object-Type defined in the repository. (Non-queryable Object-Types are NOT exposed through this Relational View.)

In each Virtual Table, a Virtual Column is implicitly defined for each property defined in the Object-Type Definition AND for all properties defined on ANY ancestor-type of the Object-Type but NOT defined in the Object-Type definition. Virtual Columns for properties defined on ancestor-types of the Object-type but NOT defined in the Object-Type definition MUST contain the SQL NULL value. Virtual Columns for properties whose value is “"not set”" MUST contain the SQL NULL value.

An object-type’'s queryName attribute is used as the table name for the corresponding virtual table, and a property’'s queryName attribute is used as the column name for the corresponding table column. Please see the restrictions on queryName in the appropriate data model section.

The Virtual Column for a multi-valued property MUST contain a single list value that includes all values of the property.

2.1.10.1.1 Object-Type Hierarchy in the Relational View Projection

The Relational View projection of the CMIS Data Model ensures that the Virtual Table for a particular Object-type is a complete super-set of the Virtual Table for any and all of its ancestor types.

Additionally, an Object-Type definition’'s “"includedInSupertypeQuery”" specifies whether objects of that Object-Type MUST be included in the Virtual Table for any of its ancestor types. If the “"includedInSupertypeQuery”" attribute of the Object-Type is FALSE, then objects of that Object-Type MUST NOT be included in the Virtual Table for any of its ancestor types.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 66 of 236

2672

267326742675

26762677

26782679268026812682

268326842685

26862687

2688

26892690

2691269226932694

196197198

Page 67: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Thus the Virtual Table for an Object-type includes a row not only for each Object of that type, but all Objects of any of that Object-types’' Descendant Types for which the “"includedInSupertypeQuery”" attribute is TRUE.

But since the Virtual Table will include only columns for properties defined in the Object-Type underlying the Virtual Table, a row that is a query result representing an Object of a Descendant Type can only include those columns for properties defined on the Object-Type underlying the Virtual Table.

2.1.10.1.2 Content Streams

Content-streams are NOT exposed through this relational view.

2.1.10.1.3 Result SetWhen a query is submitted, a set of pseudo CMIS objects will be returned. These pseudo objects are comprised of the properties specified in the select clause of the query statement. For each property in each object in the result set, the Repository MUST include the property definition ID as well as either the query name (if no alias is used) or the alias in place of the query name (if an alias is used). If the select clause of the query statement contains properties from a single type reference then the repository MAY represent these pseudo-objects with additional object information.

2.1.10.2 Query Language DefinitionThis query languages is based on a subset of the SQL-92 grammar. CMIS-specific language extensions to SQL-92 are called out explicitly. The basic structure of a CMIS query is a SQL statement that MUST include the following clauses:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 67 of 236

269526962697

269826992700

2701

2702

2703

27042705270627072708270927102711

2712271327142715

199200201

Page 68: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

SELECT [virtual columns]: This clause identifies the set of virtual columns that will be included in the query results for each row.

FROM [Virtual Table Names]: This clause identifies which Virtual Table(s) the query will run against.

Additionally, a CMIS query MAY include the following clauses: WHERE [conditions]: This clause identifies the constraints that rows MUST satisfy to be

considered a result for the query. ORDER BY [sort specification]: This clause identifies the order in which the result rows MUST

be sorted in the result row set.

2.1.10.2.1 BNF GrammarThis BNF grammar is a “"subset”" of the SQL-92 grammar (ISO/IEC 9075: 1992 – Database Language SQL), except for some production alternatives. Specifically, except for these extensions, the following production rules are derived from the SQL-92 grammar. The non-terminals used in this grammar are also borrowed from the SQL-92 grammar without altering their semantics. Accordingly, the non-terminal <column name> is used for single-valued properties only so that the semantics of SQL can be preserved and borrowed. This approach not only facilitates comparison of the two query languages, and simplifies the translation of a CMIS query to a SQL query for a RDBMS-based implementation, but also allows future expansion of this query language to cover a larger subset of SQL with minimum conflict. The CMIS extensions are introduced primarily to support multi-valued properties and full-text search, and to test folder membership. Multi-valued properties are handled separately from single-valued properties, using separate non-terminals and separate production rules to prevent the extensions from corrupting SQL-92 semantics.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 68 of 236

271627172718271927202721272227232724

2725272627272728272927302731273227332734273527362737

202203204

Page 69: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<CMIS 1.0 query statement> ::= <simple table> [ <order by clause> ]<simple table> ::= SELECT <select list> <from clause> [ <where clause> ]<select list> ::= “*”"*"

| <select sublist> [ { “,”"," <select sublist> }… ]<select sublist> ::= <value expression> [ [ AS ] <column name> ]

| <qualifier> “.*”".*"| <multi-valued-column reference>

<value expression> ::= <column reference> | <numeric value function><column reference> ::= [ <qualifier> “.”"." ] <column name><multi-valued-column reference> ::= [ <qualifier> “.”"." ] <multi-valued-column name><numeric value function> ::= SCORE()<qualifier> ::= <table name> | <correlation name><from clause> ::= FROM <table reference><table reference> ::= <table name> [ [ AS ] <correlation name> ]

| <joined table><joined table> ::= “(“"(" <joined table> “)”")"

| <table reference> [ <join type> ] JOIN <table reference> <join specification><join type> ::= INNER | LEFT [ OUTER ]<join specification> ::= ON <column reference> "=" <column reference> <where clause> ::= WHERE <search condition><search condition> ::= <boolean term> | <search condition> OR <boolean term><boolean term> ::= <boolean factor> | <boolean term> AND <boolean factor><boolean factor> ::= [ NOT ] <boolean test><boolean test> ::= <predicate> | “(“"(" <search condition> “)”")"<predicate> ::= <comparison predicate> | <in predicate> | <like predicate> | <null predicate>

| <quantified comparison predicate> | <quantified in predicate>| <text search predicate> | <folder predicate>

<comparison predicate> ::= <value expression> <comp op> <literal><comp op> ::= “=” | “<>” | “<” | “>” | “<=” | “>=”"=" | "<>" | "<" | ">" | "<=" | ">="<literal> ::= <signed numeric literal> | <character string literal> | <datetime literal> | <boolean literal><in predicate> ::= <column reference> [ NOT ] IN “(“"(" <in value list> “)”")"<in value list> ::= <literal> [{ “,”"," <literal> }…]<like predicate> ::= <column reference> [ NOT ] LIKE <character string literal><null predicate> ::= { <column reference> | <multi-valued-column reference> } IS [ NOT ] NULL<quantified comparison predicate> ::= <literal> “=”"=" ANY <multi-valued-column reference><quantified in predicate> ::= ANY <multi-valued-column reference> [ NOT ] IN “(“"(" <in value list> “)”")"<text search predicate> ::= CONTAINS "("

[ <qualifier> "," ] <quote> <text search expression> <quote> ")" <folder predicate> ::= { IN_FOLDER | IN_TREE } “(“"(" [ <qualifier> “,”"," ] <folder id> “)”")"<order by clause> ::= ORDER BY <sort specification> [ { “,”"," <sort specification> }… ]<sort specification> ::= <column reference> [ ASC | DESC ]cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 69 of 236

273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779205206207

Page 70: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<correlation name> ::= <identifier><table name> ::= <identifier> !! This MUST be the name of an object-type.<column name> ::= <identifier> !! This MUST be the name of a single-valued property,

or an alias for a scalar output value.<multi-valued-column name> ::= <identifier> !! This MUST be the name of a multi-valued property.<folder id> ::= <character string literal> !! This MUST be the object identity of a folder object.<identifier> ::= !! As defined by queryName attribute.<signed numeric literal> ::= !! As defined by SQL-92 grammar.<character string literal> ::= !! As defined by SQL-92 grammar. (i.e. enclosed in single-quotes)

!! This is an independent sub-grammar for full-text search criteria. It is isolatable from the query statement grammar. (See 2.1.10.3 Escaping) <text search expression> ::= <conjunct> [ {<space> OR <space> <conjunct>} … ]<conjunct> ::= <term> [ {<space> <term>} … ]<term> ::= ['-'] <simple term><simple term> ::= <word> | <phrase><word> ::= <non space char> [ {<non space char>} … ]<phrase> ::= <quote> <word> [ {<space> <word>} … ] <quote><space> ::= <space char> [ {<space char>} … ]<non space char> ::= <char> - <space char> <space char> ::= ' '<char> ::= !! Any character

<datetime literal> ::= TIMESTAMP <quote> <datetime string> <quote> <datetime string> ::= YYYY-MM-DDThh:mm:ss.sss[Z | +hh:mm | -hh:mm] <boolean literal> ::= TRUE | FALSE | true | false<quote> ::= “’”"'"!! Single-quote only, consistent with SQL-92 string literal

2.1.10.2.2 SELECT ClauseThe SELECT clause MUST contain exactly one of the following:

A comma separated list of one or more column names. o If an explicit column list is provided: A repository MUST include in its result row set all of the

columns specified in the SELECT clause. * : If this token is specified, then the repository MUST return columns for ALL single-valued

properties defined in the Object-Types whose Virtual Tables are listed in the FROM clause, and SHOULD also return all multi-valued properties.

All column names MUST be valid “"queryName”" values for properties that are defined as “"queryable”" in the Object-Type(s) whose Virtual Tables are listed in the FROM clause.

2.1.10.2.3 FROM ClauseThe FROM clause identifies which Virtual Table(s) the query will be run against, as described in the previous section. The FROM clause MUST contain only the queryNames of Object-Types whose queryable attribute value is TRUE.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 70 of 236

278027812782278327842785278627872788

2789279027912792279327942795279627972798279928002801

28022803280428052806

2807280828092810281128122813281428152816

28172818281928202821

208209210

Page 71: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.10.2.3.1 Join Support CMIS repositories MAY support the use of SQL JOIN queries, and MUST indicate their support level using the Optional Capability attribute “capabilityJoin”.Optional Capability attribute "capabilityJoin".

If the Repository’'s value for the capabilityJoin attribute is none, then no JOIN clauses can be used in queries.

If the Repository’'s value for the capabilityJoin attribute is inneronly, then only inner JOIN clauses can be used in queries.

If the Repository’'s value for the capabilityJoin attribute is innerandouter, then inner and/or outer JOIN clauses can be used in queries.

Only explicit joins using the “"JOIN”" keyword is supported. Queries MUST NOT include implicit joins as part of the WHERE clause of a CMIS query. CMIS queries MUST only support join operations using the “"equality”" predicate on single-valued properties.

2.1.10.2.4 WHERE ClauseThis clause identifies the constraints that rows MUST satisfy to be considered a result for the query.All column names MUST be valid “"queryName”" or their aliased values for properties that are defined as “"queryable”" in the Object-Type(s) whose Virtual Tables are listed in the FROM clause. Properties are defined to not support a “"null”" value, therefore the <null predicate> MUST be interpreted as testing the not set or set state of the specified property.

2.1.10.2.4.1 Comparisons permitted in the WHERE clause.

SQL’'s simple comparison predicate, IN predicate, and LIKE predicate are supported, for single-valued properties only (so that SQL’'s semantics is preserved). Boolean conjunction (AND), disjunction (OR), and negation (NOT) of predicates are also supported.

Repositories SHOULD support the comparisons for the property types as described in the list below. Repositories MAY support additional comparisons and operators. Any additional operators not specified are repository-specific:

<Property Type>Supported Operators: <List of Operators supported on Type>Supported Literal: <Supported type of Literal in comparison>

String (Single)Supported Operators: =, <>, [NOT] LIKESupported Literal: String

String (IN)Supported Operators: [NOT] INSupported Literal: List of Strings

DecimalSupported Operators: =, <>, <, <=, >, >= Supported Literal: Decimal

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 71 of 236

2822282328242825282628272828282928302831283228332834

283528362837283828392840

2841

284228432844

284528462847

2848284928502851

2852285328542855

2856285728582859

2860286128622863

211212213

Page 72: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Decimal (IN)Supported Operators: [NOT] INSupported Literal: List of Decimal IntegerSupported Operators: =, <>, <, <=, >, >= Supported Literal: Integer

Integer (IN)Supported Operators: [NOT] INSupported Literal: List of Integer

BooleanSupported Operators: = Supported Literal: <boolean literal> DateTimeSupported Operators: =, <>, <*, <=*, >*, >=* Supported Literal: <datetime literal>* - comparison is based on chronological before or after date.

DateTime (IN)Supported Operators: [NOT] INSupported Literal: List of <datetime literal>’s's IDSupported Operators: =, <> Supported Literal: String ID (IN)Supported Operators: [NOT] INSupported Literal: List of strings

URISupported Operators: =, <> Supported Literal: String

URI (IN)Supported Operators: [NOT] INSupported Literal: List of strings

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 72 of 236

28642865286628672868286928702871

2872287328742875

287628772878287928802881288228832884

288528862887288828892890289128922893289428952896

2897289828992900

2901290229032904

2905

214215216

Page 73: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

URISupported Operators: [NOT] LIKESupported Literal: String Operations on the SCORE() output MUST be treated the same as decimal operations.

When using properties in a join statement, comparison MUST be allowed on properties of the same types as defined by the table above. Repositories MAY extend this behavior.

The ANY operation argument MUST be one of the properties found in the table above which supports equality operations

2.1.10.2.4.2 Multi-valued property support (SQL-92 Extension)The CMIS query language includes several new non-terminals to expose semantics for querying multi-valued properties, in a way that does not alter the semantics of existing SQL-92 production rules.

2.1.10.2.4.2.1 Multi-valued column referencesBNF grammar structure: <Multi-valued-column reference>, <multi-valued-column name> These are non-terminals defined for multi-valued properties whereas SQL-92’'s <column reference>

and <column name> are retained for single-valued properties only. This is to preserve the single-value semantics of a regular “"column”" in the SQL-92 grammar.

2.1.10.2.4.2.2 <Quantified comparison predicate>The SQL-92 production rule for <quantified comparison predicate> is extended to accept a multi-valued property in place of a <table subquery>. This operation is restricted to equality tests only.

<Table subquery> is not supported in CMIS-SQL.

The SQL-92 <quantifier> is restricted to ANY only.

The SQL-92 <row value constructor> is restricted to a literal only.

Example: SELECT Y.CLAIM_NUM, X.PROPERTY_ADDRESS, Y.DAMAGE_ESTIMATESFROM ( POLICY AS X JOIN CLAIMS AS Y ON ( X.POLICY_NUM = Y.POLICY_NUM )WHERE ( 100000 = ANY Y.DAMAGE_ESTIMATES )

(Note: DAMAGE_ESTIMATES is a multi-valued Integer property.)

2.1.10.2.4.2.3 IN/ANY PredicateBNF grammar structure: <Quantified in predicate>

CMIS-SQL exposes a new IN predicate defined for a multi-valued property. It is modeled after the SQL-92 IN predicate, but since the entire predicate is different semantically, it has its own production rule in the BNF grammar below.

The quantifier is restricted to ANY. The predicate MUST be evaluated to TRUE if at least one of the property’'s values is (or, is not, if NOT is specified) among the given list of literal values. Otherwise the predicate is evaluated to FALSE.cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 73 of 236

29062907290829092910

291129122913

291429152916

291729182919

29202921292229232924

2925292629272928292929302931

29322933

2934293529362937

2938

29392940

29412942294329442945294629472948217218219

Page 74: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The ANY operation argument MUST be one of the properties found in the comparison list above which supports IN operations.Example:

SELECT *FROM CAR_REVIEWWHERE (MAKE = ‘'buick’' ) OR ( ANY FEATURES IN (‘NAVIGATION SYSTEM’, ‘SATELLITE RADIO’, ‘MP3’('NAVIGATION SYSTEM', 'SATELLITE RADIO', 'MP3') ) (Note: FEATURES is a multi-valued String property.)

2.1.10.2.4.3 CONTAINS() predicate function (CMIS-SQL Extension)

BNF grammar structure:: CONTAINS ( [ <qualifier> ,] ‘' <text search expression> ‘' )

Usage: This is a predicate function that encapsulates the full-text search capability that MAY be provided by a Repository (See previous section.)(See previous section.)Inputs:

<Qualifier>The value of this optional parameter MUST be the name of one of the Virtual Tables listed in the FROM clause for the query. o If specified, then the predicate SHOULD only be applied to objects in the specified Virtual

Table, but a repository MAY ignore the value of the parameter. o If not specified, applies to the single virtual table. If the query is a join, a server SHOULD throw

an exception if the qualifier is not specified.

<Text Search Expression>The <text search expression> parameter MUST be a character string , specifying the full-text search criteria.

The Text Search Expression may be a set of terms or phrases with an optional ‘-‘'-' to signal negation. A phrase is defined as a word or group of words. A group of words must be surrounded by quotes to be considered a single phrase.

Terms separated by whitespace are AND’'ed together.Terms separated by “"OR”" are OR’'ed togetherImplicit “"AND”" has higher precedence than “"OR”"Within a word or phrase, each (single-)quote must also be escaped by a preceding backslash “\”"\"

Return value: The predicate returns a Boolean value. The predicate MUST return TRUE if the object is considered by the repository as “"relevant”" with respect to the given <text search expression> parameter. The predicate MUST return FALSE if the object is considered by the repository as not “"relevant”" with respect to the given <text search expression> parameter.

Constraints:At most one CONTAINS() function MUST be included in a single query statement. The repository MUST throw an exception if more than one CONTAINS() function is found.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 74 of 236

2949295029512952

295329542955295629572958

2959

2960

296129622963

2964296529662967296829692970

2971297229732974297529762977297829792980298129822983298429852986298729882989299029912992

2993220221222

Page 75: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The return value of the CONTAINS() function MAY only be included conjunctively (ANDed) with the aggregate of all other predicates, if there is any, in the WHERE clause.

2.1.10.2.4.4 SCORE() predicate functionBNF grammar structure: SCORE ()

Usage: This is a predicate function that encapsulates the full-text search capability that MAY be provided by a Repository (See previous section.)(See previous section.)

Inputs: No inputs MUST be provided for this predicate function. Return value:

The SCORE() predicate function returns a decimal value in the interval [0,1] .A repository MUST return the value 0 if the object is considered by the repository as having absolutely no relevance with respect to the CONTAINS() function specified in the query. A repository MUST return the value 1 if the object is considered by the repository as having absolutely complete relevance with respect to the CONTAINS() function specified in the query.

Constraints:The SCORE() function MUST only be used in queries that also include a CONTAINS() predicate functionThe SCORE() function MUST only be used in the SELECT clause of a query. It MUST NOT be used in the WHERE clause or in the ORDER BY clauses. An alias column name defined for the SCORE() function call in the SELECT clause (i.e., "SELECT SCORE() AS column_name …") may be used in the ORDER BY clause. If SCORE() is included in the SELECT clause and an alias column name is not provided, then a query name of SEARCH_SCORE is used for the query output, and the property definition ID is repository-specific.

2.1.10.2.4.5 IN_FOLDER() predicate function

BNF grammar structure: IN_FOLDER( [ <qualifier>, ] <folder id> )

Usage: This is a predicate function that tests whether or not a candidate object is a child-object of the folder object identified by the given <folder id>.Inputs:

<qualifier>The value of this optional parameter MUST be the name of one of the Virtual Tables listed in the FROM clause for the query.

If specified, then the predicate SHOULD only be applied to objects in the specified Virtual Table, but a repository MAY ignore the value of the parameter.

If not specified, applies to the single virtual table. If the query is a join, a server SHOULD throw an exception if the qualifier is not specified.

<folder id>

The value of this parameter MUST be the ID of a folder object in the repository. Return value:

The predicate function MUST return TRUE if the object is a child-object of the folder specified by <folder id>.The predicate function MUST return FALSE if the object is a NOT a child-object of the folder specified by <folder id>.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 75 of 236

29942995

29962997

29982999

30003001300230033004300530063007300830093010301130123013301430153016

3017

3018

301930203021

3022302330243025302630273028

3029

303030313032303330343035

223224225

Page 76: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.1.10.2.4.6 IN_TREE() predicate function

BNF grammar structure: IN_TREE( [ <qualifier>, ] <folder id> )

Usage: This is a predicate function that tests whether or not a candidate object is a descendant-object of the folder object identified by the given <folder id>. Inputs:

<qualifier>The value of this optional parameter MUST be the name of one of the Virtual Tables listed in the FROM clause for the query. o If specified, then the predicate SHOULD only be applied to objects in the specified Virtual

Table, but a repository MAY ignore the value of the parameter. o If not specified, applies to the single virtual table. If the query is a join, a server SHOULD throw

an exception if the qualifier is not specified. <folder id>

The value of this parameter MUST be the ID of a folder object in the repository. Return value:

The predicate function MUST return TRUE if the object is a descendant-object of the folder specified by <folder id>.The predicate function MUST return FALSE if the object is a NOT a descendant -object of the folder specified by <folder id>.

2.1.10.2.5 ORDER BY ClauseThis clause MUST contain a comma separated list of one or more column names. All column names referenced in this clause MUST be valid “"queryName”" or their aliased values for properties defined as orderableorderable in the Object-type(s) whose Virtual Tables are listed in the FROM clause. Only columns in the SELECT clause MAY be in the ORDER BY clause.Collation rules for the ORDER BY clause are repository specific.

2.1.10.3 EscapingRepositories MUST support the escaping of characters using a backslash (\) in the query statement. The backslash character (\) will be used to escape characters within quoted strings in the query as follows:

3. \’ will represent a single-quote(‘) character4. \ \ will represent a backslash (\) character

Character escaping for character strings differs from SQL-92's escaping. A repository MUST support the escaping of certain literal characters in a character string, or in a text expression, using a backslash character (\) in the following manner. For a <character string literal>, which MUST BE a string enclosed in single-quotes according to the SQL-92 grammar, any occurrence of the single-quote character (') and the escape character (\) in the string MUST BE escaped. This applies to <folder id>, which is a <character string literal>. Furthermore, when a <character string literal> is used in a LIKE predicate, any occurrence of the percent character (%) and the underscore character (_) in the string as a literal MUST BE escaped also. Therefore, within a quoted string in a query:

The double character \' represents a literal single-quote (') character. The double character \ \ represents a literal backslash (\) character. Within a LIKE string, the double characters \% and \_ will represent the a literal characters

%percent (%) character and _,a literal underscore (_) character respectively.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 76 of 236

3036

3037

303830393040

30413042304330443045304630473048

304930503051305230533054

3055305630573058305930603061

30623063306430653066306730683069307030713072307330743075307630773078

226227228

Page 77: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

All other instances of a \backslash (\) character are errors.Using double single-quotes ('') as a SQL-92 way to escape a literal single-quote (') character SHOULD BE supported as an allowable alternative to the double character \'.

For a <text search expression>, a second-level character escaping is required so that the <text search expression> sub-grammar is isolatable from the query statement-level grammar. When a text search expression is composed for a query according to the <text search expression> sub-grammar, any occurrence of the following three characters in the expression as a literal character MUST BE escaped: hyphen (-), single-quote ('), and the escape character (\). Then, before this expression is enclosed in single-quotes and inserted into a CONTAINS() predicate, the query statement-level escaping rules described in the above MUST BE applied. This two-level character escaping allows a query statement parser, using statement-level escaping rules, to correctly extract a <text search expression> as a character string literal independent of the <text search expression> sub-grammar. This extracted <text search expression> can then be correctly interpreted by a full-text search parser independent of the query-statement grammar, using second-level escaping rules. Since the <text search expression> sub-grammar is isolated from the SQL-92 grammar, double single-quotes is not a valid way to escape a literal single-quote character for second-level character escaping.

An <identifier> in a query statement MUST conform to the SQL-92 identifier syntax, and MUST NOT require character escaping.

Example 1:A query statement that contains a full-text search for the literal string "John'sPresentation-Version2" may be composed as:

SELECT … FROM … WHERE … CONTAINS('John\\\'sPresentation\\-Version2') …A query parser extracts from this statement the text search expression "John\'sPresentation\-Version2" as a character string literal, and passes it to a text-search parser, which interprets it as a single-word full-text search criteria: John'sPresentation-Version2.

Example 2:A query statement that contains a full-text search for the phrase "Content Management" may be composed as:

SELECT … FROM … WHERE … CONTAINS('\'Content Management\'') …A query parser extracts from this statement the text search expression "'Content Management'" as a character string literal, and passes it to a text-search parser, which interprets it as a full-text search criteria consisting of a single phrase: Content Management. There is no second-level escaping.

2.1.11 Change LogCMIS provides a “"change log”" mechanism to allow applications to easily discover the set of changes that have occurred to objects stored in the repository since a previous point in time. This change log can then be used by applications such as search services that maintain an external index of the repository to efficiently determine how to synchronize their index to the current state of the repository (rather than having to query for all objects currently in the repository).Entries recorded in the change log are referred to below as “"change events”.".Note that change events in the change log MUST be returned in ascending order from the time when the change event occurred.

2.1.11.1 Completeness of the Change LogThe Change Log mechanism exposed by a repository MAY be able to return an entry for every change ever made to content in the repository, or may only be able to return an entry for all changes made since a particular point in time. This “"completeness”" level of the change log is indicated via the optional changesIncomplete value found on the getRepositoryInfo serviceoptional changesIncomplete value found on the getRepositoryInfo service response cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 77 of 236

307930803081

308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114

311531163117311831193120312131223123

312431253126312731283129

229230231

Page 78: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

However, repositories MUST ensure that if an application requests the entire contents of the repository’'s change log, that the contents of the change log includes ALL changes made to any object in the repository after the first change listed in the change log. (I.e. repositories MAY truncate events from the change log on a “"first-in first-out”" basis, but not in any other order.)A Repository MAY record events such as filing/unfiling/moving of Documents as change events on the Documents, their parent Folder(s), or both the Documents and the parent Folders.

2.1.11.2 Change Log TokenThe primary index into the change log of a repository is the “"change log token”.". The change log token is an opaque string that uniquely identifies a particular change in the change log.

2.1.11.2.1 “"Latest Change Token”" repository informationRepositories that support the changeLogToken event MUST expose the latest change log token (i.e. the change log token corresponding to the most recent change to any object in the repository) as a property returned by the getRepositoryInfo service.This will enable applications to begin “"subscribing”" to the change log for a repository by discovering what change log token they should use on a going-forward basis to discover change events to the repository.

2.1.11.3 Change EventA change event represents a single action that occurred to an object in the repository that affected the persisted state of the object.A Repository that supports the change log capability MUST expose at least the following information for each change object:

ID ObjectId: The ObjectId of the object to which the change occurred Enum ChangeType: An enumeration that indicates the type of the change. Valid values are:

o created: The object was created.

o updated: The object was updated.

o deleted: The object was deleted

o security: The access control or security policy for the object were changed.

<Properties> properties: Additionally, for events of changeType “"updated”,", the repository MAY optionally include the new values of properties on the object (if any).

Repositories MUST indicate whether they include properties for “"updated”" change events via the optional enumCapabilityChanges capability.optional enumCapabilityChanges capability.

2.2 Services The Services section of the CMIS specification defines a set of services that are described in a protocol/binding-agnostic fashion. Every protocol binding of the CMIS specification MUST implement all of the methods described in this section or explain why the service is not implemented. However, the details of how each service & method is implemented will be described in those protocol binding specifications.

2.2.1 Common Service ElementsThe following elements are common across many of the CMIS services.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 78 of 236

313031313132313331343135

313631373138

3139314031413142314331443145

3146314731483149315031513152315331543155315631573158315931603161

3162316331643165316631673168

31693170

232233234

Page 79: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.1.1 Paging All of the methods that allow for the retrieval of a collection of CMIS objects support paging of their result sets except where explicitly stated otherwise. The following pattern is used:Input Parameters: (optional) Integer maxItems: This is the maximum number of items to return in a response. The

repository MUST NOT exceed this maximum. Default is repository-specific. (optional) Integer skipCount: This is the number of potential results that the repository MUST

skip/page over before returning any results. Defaults to 0.Output Parameters: Boolean hasMoreItems: TRUE if the Repository contains additional items after those contained in

the response. FALSE otherwise. If TRUE, a request with a larger skipCount or larger maxItems is expected to return additional results (unless the contents of the repository has changed).

Integer numItems: If the repository knows the total number of items in a result set, the repository SHOULD include the number here. If the repository does not know the number of items in a result set, this parameter SHOULD not be set. The value in the parameter MAY NOT be accurate the next time the client retrieves the result set or the next page in the result set.

If the caller of a method does not specify a value for maxItems, then the Repository MAY select an appropriate number of items to return, and MUST use the hasMoreItems output parameter to indicate if any additional results were not returned. Repositories MAY return a smaller number of items than the specified value for maxItems. Each binding will express the above in context and may have different mechanisms for communicating hasMoreItems and numItems.

2.2.1.2 Retrieving additional information on objects in CMIS service callsSeveral CMIS services that return object information have the ability to return dependent object information as part of their response, such as the Allowable Actions for an object, rendition information, etc.The CMIS service methods that support returning a result set of objects will include the ability to return the following object information:

Properties (retrieves a subset instead of additional information) Relationships Renditions ACLs AllowableActions

This section describes the input parameter & output pattern for those services. All input parameters are optional.

2.2.1.2.1 PropertiesDescription: All of the methods that allow for the retrieval of properties for CMIS Objects have a “"Property Filter”" as an optional parameter, which allows the caller to specify a subset of properties for Objects that MUST be returned by the repository in the output of the method. Optional Input Parameter: String filter: Value indicating which properties for Objects MUST be returned. Values are:

Not set: The set of properties to be returned MUST be determined by the repository.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 79 of 236

3171317231733174317531763177317831793180318131823183318431853186318731883189319031913192

31933194319531963197319831993200320132023203

320432053206

3207320832093210321132123213

235236237

Page 80: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

A comma-delimited list of property definition Query Names: The properties listed MUST be returned.

“*”"*" : All properties MUST be returned for all objects. Repositories SHOULD return only the properties specified in the property filter if they exist on the object’s type definition.

If a property is requested by a filter, a property element MUST be returned for that property. A repository MAY return additional properties. If a returned property is in a "not set" state, a value element MUST NOT be returned for that property.

If a property filter specifies a property that is ‘not set’'not set', it MUST be represented as a property element without a value element.

2.2.1.2.2 RelationshipsDescription: Used to retrieve the relationships in which the object(s) are participating. Optional Input Parameter: Enum includeRelationships: Value indicating what relationships in which the objects returned

participate MUST be returned, if any. Values are: none:No relationships MUST be returned. (Default).

source: Only relationships in which the objects returned are the source MUST be returned.target: Only relationships in which the objects returned are the target MUST be returned.both: Relationships in which the objects returned are the source or the target MUST be returned.

Output Parameter for each object: <Array> Relationships: A collection of the relationship objects.

2.2.1.2.3 PoliciesDescription: Used to retrieve the policies currently applied to the object(s). Optional Input Parameter:

Boolean includePolicyIds: If TRUE, then the Repository MUST return the Ids of the policies applied to the object. Defaults to FALSE.

Output Parameter or each object: <Array> Policies: A collection of the policy objects.

2.2.1.2.4 RenditionsDescription: Used to retrieve the renditions of the object(s).Optional Input Parameter: String renditionFilter: The Repository MUST return the set of renditions whose kind matches this

filter. See section below for the filter grammar. o Defaults to “"cmis:none”.".

Output Parameter for each object: <Array> Renditions: The set of renditions.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 80 of 236

32143215321632173218

3219322032213222

322332243225

32263227322832293230323132323233323432353236323732383239

3240324132423243324432453246

32473248324932503251325232533254

238239240

Page 81: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.1.2.4.1 Rendition Filter GrammarThe Rendition Filter grammar is defined as follows:

<renditionInclusion> ::= <none> | <wildcard> | <termlist><termlist> ::= <term> | <term> ',' <termlist><term> ::= <kind> | <mimetype><kind> ::= <text><mimetype> ::= <type> '/' <subtype><type> ::= <text><subtype> ::= <text> | <wildcard><text> ::= /*!! any char except whitespace */<wildcard> ::= '*'<none> ::= 'cmis:none'

An inclusion pattern allows: Wildcard : include all associated Renditions Comma-separated list of Rendition kinds or mimetypes : include only those Renditions that

match one of the specified kinds or mimetypes cmis:none: (Default) exclude all associated Renditions

Examples: * (include all Renditions) cmis:thumbnail (include only Thumbnails)

Image/* (include all image Renditions) application/pdf, application/x-shockwave-flash (include web ready Renditions) cmis:none (exclude all Renditions)

2.2.1.2.5 ACLsDescription: Used to retrieve the ACLs for the object(s) described in the service response. Optional Input Parameter: Boolean includeACL: If TRUE, then the Repository MUST return the ACLs for each object in the

result set. Defaults to FALSE.Output Parameter for each object: <Array> ACLs: The list of access control entries of the ACL for the object.

2.2.1.2.6 Allowable ActionsDescription: Used to retrieve the allowable actions for the object(s) described in the service response.Optional Input Parameter: Boolean includeAllowableActions: If TRUE, then the Repository MUST return the available

actions for each object in the result set. Defaults to FALSE.Output Parameter for each object: <Array> AllowableActions: See cmisAllowableActionsType inThe list of allowable actions for

the CMIS schemaobject.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 81 of 236

325532563257325832593260326132623263326432653266

32673268326932703271327232733274327532763277

3278327932803281328232833284

32853286328732883289329032913292

241242243

Page 82: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.1.3 Change TokensThe CMIS base object-type definitions include an opaque string “"ChangeToken”" property that a Repository MAY use for optimistic locking and/or concurrency checking to ensure that user updates do not conflict. If a Repository provides values for the ChangeToken property for an Object, then all invocations of the “"update”" methods on that object (updateProperties, setContentStream, deleteContentStream) MUST provide the value of the changeToken property as an input parameter, and the Repository MUST throw an updateConflictException if the value specified for the changeToken does NOT match the changeToken value for the object being updated.

2.2.1.4 ExceptionsThe following sections list the complete set of exceptions that MAY be returned by a repository in response to a CMIS service method call.

2.2.1.4.1 General Exceptions The following exceptions MAY be returned by a repository in response to ANY CMIS service method call.The “"Cause”" field indicates the circumstances under which a repository SHOULD return a particular exception.

invalidArgumentCause: One or more of the input parameters to the service method is missing or invalid.

objectNotFoundCause: The service call has specified an object that does not exist in the Repository.

notSupportedCause: The service method invoked requires an optional capabilityan optional capability not

supported by the repository.

permissionDeniedCause: The caller of the service method does not have sufficient permissions to perform the

operation.

runtimeCause: Any other cause not expressible by another CMIS exception.

2.2.1.4.2 Specific ExceptionsThe following exceptions MAY be returned by a repositiory in response to one or more CMIS service methods calls. For each exception, the general intent is listed as well as a list of the methods which MAY cause the exception to be thrown.

constraintIntent: The operation violates a Repository- or Object-level constraint defined in the CMIS

domain model.Methods:

Navigation Services:o getObjectParents

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 82 of 236

329332943295329632973298329933003301

330233033304

33053306330733083309

3310

33113312

3313

33143315

33163317

33183319

33203321

33223323

3324

332533263327332833293330

33313332333333343335

244245246

Page 83: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Object Services:o createDocument

o createDocumentFromSource

o createFolder

o createRelationship

o createPolicy

o updateProperties

o moveObject

o deleteObject

o setContentStream

o deleteContentStream

Multi-filing Services:o addObjectToFolder

Versioning Services:o checkOut

o cancelCheckOut

o checkIn

Policy Services:o applyPolicy

o removePolicy

Change Log Services:o getContentChanges

contentAlreadyExists Intent: The operation attempts to set the content stream for a Document that already has a

content stream without explicitly specifying the “"overwriteFlag”" parameter.Methods:

Object Services:o setContentStream

filterNotValid Intent: The property filter or rendition filter input to the operation is not valid.Methods:

Navigation Services:o getDescendants

o getChildren

o getFolderParent

o getObjectParents

o getCheckedOutDocs

Object Services:o getProperties

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 83 of 236

333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359

3360336133623363336433653366

3367336833693370337133723373337433753376

247248249

Page 84: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o getRenditions

o getObject

o getObjectByPath

Versioning Services:o getPropertiesOfLatestVersion

o getAllVersions

Policy Services:o getAppliedPolicies

nameConstraintViolation Intent: The repository is not able to store the object that the user is creating/updating due to

a name constraint violation.Methods:

Object Services:o createDocument

o createDocumentFromSource

o createFolder

o createRelationship

o createPolicy

o updateProperties

o moveObject

storage Intent: The repository is not able to store the object that the user is creating/updating due to

an internal storage problem.Methods:

Object Services:o createDocument

o createDocumentFromSource

o createFolder

o createRelationship

o createPolicy

o updateProperties

o moveObject

o setContentStream

o deleteContentStream

Versioning Services:o checkOut

o checkIn

streamNotSupported

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 84 of 236

3377337833793380338133823383338433853386

3387338833893390339133923393339433953396339733983399

340034013402340334043405340634073408340934103411341234133414341534163417

250251252

Page 85: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Intent: The operation is attempting to get or set a contentStream for a Document whose Object-type specifies that a content stream is not allowed for Document’'s of that type.

Methods: Object Services:

o createDocument

o createDocumentFromSource

o getContentStream

o setContentStream

Versioning Services:o checkIn

updateConflict Intent: The operation is attempting to update an object that is no longer current (as

determined by the repository).Methods:

Object Services:o updateProperties

o moveObject

o deleteObject

o deleteTree

o setContentStream

o deleteContentStream

Versioning Services:o checkOut

o cancelCheckOut

o checkIn

versioning Intent: The operation is attempting to perform an action on a non-current versiona non-

current version of a Document that cannot be performed on a non-current version.Methods:

Object Services:o updateProperties

o moveObject

o setContentStream

o deleteContentStream

Versioning Services:o checkOut

o cancelCheckOut

o checkIn

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 85 of 236

3418341934203421342234233424342534263427342834293430

3431343234333434343534363437343834393440344134423443344434453446

344734483449345034513452345334543455345634573458

253254255

Page 86: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.1.5 ACLsThose services which allow for the setting of ACLs may take the optional macro cmis:user which allows the caller to indicate the operation applies to the current authenticated user.

2.2.2 Repository ServicesThe Repository Services (getRepositories, getRepositoryInfo, getTypeChildren, getTypeDescendants, getTypeDefinition) are used to discover information about the repository, including information about the repository and the object-types defined for the repository.

2.2.2.1 getRepositoriesDescription: Returns a list of CMIS repositories available from this CMIS service endpoint.

2.2.2.1.1 InputsNone.

2.2.2.1.2 OutputsA list of repository information, with (at least) the following information for each entry:

ID repositoryId: The identifier for the Repository. String repositoryName: A display name for the Repository.

2.2.2.1.3 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General Exceptions

2.2.2.2 getRepositoryInfoDescription: Returns information about the CMIS repository, the optional capabilitiesoptional capabilities it supports and its Access Control information if applicable. .

2.2.2.2.1 InputsRequired:

ID repositoryId: The identifier for the Repository.

2.2.2.2.2 Outputs ID repositoryId: The identifier for the Repository.

o Note: This MUST be the same identifier as the input to the method.

String repositoryName: A display name for the Repository.

String repositoryDescription: A display description for the Repository.

String vendorName: A display name for the vendor of the Repository’'s underlying application.

String productName: A display name for the Repository’'s underlying application.

String productVersion: A display name for the version number of the Repository’'s underlying application.

ID rootFolderId: The ID of the Root Folder Object for the Repository.

<List of capabilities>: The set of values for the repository-optional capabilities specified in section 2.1.1.1section 2.1.1.1 Optional Capabilities

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 86 of 236

345934603461

3462346334643465

34663467

34683469

3470347134723473

34743475

347634773478

347934803481

348234833484348534863487348834893490349134923493

256257258

Page 87: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

String latestChangeLogToken: The change log token corresponding to the most recent change event for any object in the repository.

String cmisVersionSupported: A decimal that indicates what version of the CMIS specification this repository supports as specified in 2.1.1.2 Implementation Information.

URI thinClientURI: A optional repository-specific URI pointing to the repository’'s web interface.

Boolean changesIncomplete: Indicates whether or not the repository’'s change log can return all changes ever made to any object in the repository or only changes made after a particular point in time. Applicable when the repository’'s optional capability capabilityChanges is not none.

o If FALSE, then the change log can return all changes ever made to every object.

o If TRUE, then the change log includes all changes made since a particular point in time, but not all changes ever made.

<List of enum values> changesOnType: Indicates whether changes are available for base types in the repository. Valid values are from enumBaseObjectTypeIds. See section 2.1.11 Change Log.Change Log.

o cmis:document

o cmis:folder

o cmis:policy

o cmis:relationship

Enum supportedPermissions: specifies which types of permissions are supported.

o basic: indicates that the CMIS Basic permissions are supported.

o repository: Indicates that repository specific permissions are supported.

o both: indicates that both CMIS basic permissions and repository specific permissions are supported.

Enum propagation: The list of allowed values for applyACL, which control how non-direct ACEs are handled by the repository:

o objectonly: indicates that the repository is able to apply ACEs without changing the ACLs of other objects – i.e. ACEs are applied, potentially “"breaking”" the “"sharing”" dependency for non-direct ACEs.

o propagate: indicates that the repository is able to apply ACEs to a given object and propagate this change to all inheriting objects – i.e. ACEs are applied with the (intended) side effect to inheriting objects.

o repositorydetermined: indicates that the repository uses its own mechanisms to handle non-direct ACEs when applying ACLs.

<Array> Permission permissions: The list of repository-specific permissions the repository supports for managing ACEs (see section 2.8 Access Control).

<Array> PermissionMapping mapping: The list of mappings for the CMIS Basic permissions to allowable actions (see section 2.8 Access Control).

String principalAnonymous: If set, this field holds the principal who is used for anonymous access. This principal can then be passed to the ACL services to specify what permissions anonymous users should have.

String principalAnyone: If set, this field holds the principal who is used to indicate any authenticated user. This principal can then be passed to the ACL services to specify what permissions any authenticated user should have.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 87 of 236

349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538

259260261

Page 88: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The cmisRepositoryInfoType schema describes the markup that will be included in all CMIS protocol bindings to implement this service.

2.2.2.2.3 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General Exceptions

2.2.2.3 getTypeChildrenDescription: Returns the list of Object-TypesObject-Types defined for the Repository that are children of the specified Type.

2.2.2.3.1 InputsRequired:

String repositoryId: The identifier for the Repository.Optional:

String typeId: The typeId of an Object-Type specified in the Repository.o If specified, then the Repository MUST return all of child types of the specified type.

o If not specified, then the Repository MUST return all Base Object-Types.

Boolean includePropertyDefinitions: If TRUE, then the Repository MUST return the property definitions for each Object-Type returned.

o If FALSE (default), the Repository MUST return only the attributes for each Object-Type.

Integer maxItems: See section 2.2.1.1 Paging. Integer skipCount: See section 2.2.1.1 Paging.

2.2.2.3.2 Outputs<Array> Object-Types: The list of child Object-TypesObject-Types defined for the given typeId.Boolean hasMoreItems: See section 2.2.1.1 Paging.

Optional: Integer numItems: See section 2.2.1.1 Paging.

2.2.2.3.3 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General Exceptions

2.2.2.4 getTypeDescendantsDescription: Returns the set of descendant Object-TypesObject-Types defined for the Repository under the specified Type.Notes:

This method does NOT support paging as defined in the 2.2.1.1 Paging section. The order in which results are returned is respository-specific.

2.2.2.4.1 InputsRequired:

String repositoryId: The identifier for the Repository.Optional:

String typeId: The typeId of an Object-Type specified in the Repository.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 88 of 236

35393540

35413542

354335443545

354635473548354935503551355235533554355535563557

35583559356035613562

35633564

356535663567356835693570

35713572357335743575

262263264

Page 89: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o If specified, then the Repository MUST return all descendant types for the specified type.

o If not specified, then the Repository MUST return all types and MUST ignore the value of the depth parameter

Integer depth: The number of levels of depth in the type hierarchy from which to return results. Valid values are:

o 1: Return only types that are children of the type.

o <Integer value greater than 1>: Return only types that are children of the type and descendants up to <value> levels deep.

o -1: Return ALL descendant types at all depth levels in the CMIS hierarchy.

o The default value is repository specific and SHOULD be at least 2 or -1.

Boolean includePropertyDefinitions: If TRUE, then the Repository MUST return the property definitions for each Object-Type returned.

o If FALSE (default), the Repository MUST return only the attributes for each Object-Type.

2.2.2.4.2 Outputs<Array> Object-Types: The hierarchy of Object-TypesObject-Types defined for the Repository.

2.2.2.4.3 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General Exceptions

invalidArgument: The Repository MUST throw this exception if the service is invoked with an invalid depth.

2.2.2.5 getTypeDefinitionDescription: Gets the definition of the specified Object-Type.Inputs

2.2.2.5.1 InputsRequired:

String repositoryId: The identifier for the Repository. String typeId: The typeId of an Object-Type specified in the Repository.

2.2.2.5.2 Outputs Object-type including all property definitions. See section 2.1.3.3 (Object-Type Property

Definitions) for further details.

2.2.2.5.3 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General Exceptions

2.2.3 Navigation Services The Navigation Services (getDescendants, getChildren, getFolderParent, getObjectParents, getCheckedoutDocs), are used to traverse the folder hierarchy in a CMIS Repository, and to locate Documents that are checked out.

2.2.3.1 getChildrenDescription: Gets the list of child objects contained in the specified folder. Notes:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 89 of 236

3576357735783579358035813582358335843585358635873588

35893590

3591359235933594

35953596

3597359835993600

360136023603

36043605

3606360736083609

361036113612

265266267

Page 90: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

If the Repository supports the optional “"VersionSpecificFiling”" capability, then the repository MUST return the document versions filed in the specified folder.

o Otherwise, the latest version of the documents MUST be returned.

2.2.3.1.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID folderId: The identifier for the folder.

Optional: Integer maxItems: See section 2.2.1.1 Paging. Integer skipCount: See section 2.2.1.1 Paging. String orderBy: The orderBy parameter MUST be a comma-separated list of query names and

the ascending modifier “"ASC”" or the descending modifier “"DESC”" for each query name. A repository's handling of the orderBy input is repository-specific.

String filter: See section 2.2.1.2.1 Properties. The service will only return the properties in the matched object if they exist on the matched object type definition and in the filter.

Enum includeRelationships: See section 2.2.1.2.2 Relationships. String renditionFilter: See section 2.2.1.2.4 Renditions. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions. Boolean includePathSegment: Defaults to FALSE. If TRUE, returns a PathSegment for each

child object for use in constructing that object’'s path.

2.2.3.1.2 Outputs <Array> ObjectResults: A list of the child objects for the specified folder. Each object result

MUST include the following elements if they are requested:o <Array> Properties: The list of properties for the object.

o <Array> Relationships: See section 2.2.1.2.2 Relationships.

o <Array> Renditions: See section 2.2.1.2.4 Renditions.

o AllowableActions: See section 2.2.1.2.6 Allowable Actions.

o String PathSegment: If includePathSegment was TRUE. See section 2.1.5.3 Paths.

Boolean hasMoreItems: See section 2.2.1.1 Paging.Optional:

Integer numItems: See section 2.2.1.1 Paging.

2.2.3.1.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if thise property or rendition filter

input parameter is not valid. invalidArgument: if the specified folder is not a folder

2.2.3.2 getDescendantsDescription: Gets the set of descendant objectsdescendant objects contained in the specified folder or any of its child-folders.Notes:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 90 of 236

361336143615

36163617361836193620362136223623362436253626362736283629363036313632

36333634363536363637363836393640364136423643

36443645364636473648

3649365036513652

268269270

Page 91: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

This method does NOT support paging as defined in the 2.2.1.1 Paging section. The order in which results are returned is respository-specific.. If the Repository supports the optional capability capabilityVersionSpecificFiling, then

the repository MUST return the document versions filed in the specified folder or its descendant folders. Otherwise, the latest version of the documents MUST be returned.

If the Repository supports the optional capability capabilityMutlifiling and the same document is encountered multiple times in the hierarchy, then the repository MUST return that document each time is encountered.

2.2.3.2.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID folderId: The identifier for the folder.

Optional: Integer depth: The number of levels of depth in the folder hierarchy from which to return results.

Valid values are:o 1: Return only objects that are children of the folder.

o <Integer value greater than 1>: Return only objects that are children of the folder and descendants up to <value> levels deep.

o -1: Return ALL descendant objects at all depth levels in the CMIS hierarchy.

o The default value is repository specific and SHOULD be at least 2 or -1

String filter: See section 2.2.1.2.1 Properties. Enum includeRelationships: See section 2.2.1.2.2 Relationships. String renditionFilter: See section 2.2.1.2.4 Renditions. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions. Boolean includePathSegment: Defaults to FALSE. If TRUE, returns a PathSegment for each

child object for use in constructing that object’'s path.

2.2.3.2.2 Outputs <Array> ObjectResults: A list of the descendant objects for the specified folder. Each object

result MUST include the following elements if they are requested:o <Array> Properties: The list of properties for the object.

o <Array> Relationships: See section 2.2.1.2.2 Relationships.

o <Array> Renditions: See section 2.2.1.2.4 Renditions.

o AllowableActions: See section 2.2.1.2.6 Allowable Actions.

o String PathSegment: If includePathSegment was TRUE. See section 2.1.5.3 Paths.

2.2.3.2.3 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if thise property or rendition filter

input parameter is not valid. invalidArgument: The Repository MUST throw this exception if the service is invoked with

“"depth = 0”.". invalidArgument: if the specified folder is not a folder

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 91 of 236

36533654365536563657365836593660

366136623663366436653666366736683669367036713672367336743675367636773678

36793680368136823683368436853686

3687368836893690369136923693

271272273

Page 92: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.3.3 getFolderTreeDescription: Gets the set of descendant folder objects contained in the specified folder.

Notes: This method does NOT support paging as defined in the 2.2.1.1 Paging section. The order in which results are returned is respository-specific..

2.2.3.3.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID folderId: The identifier for the folder.

Optional: Integer depth: The number of levels of depth in the folder hierarchy from which to return results.

Valid values are:o 1: Return only folders that are children of the folder.

o <Integer value greater than 1>: Return only folders that are children of the folder and descendant folders up to <value> levels deep.

o -1: Return ALL descendant folders at all depth levels in the CMIS hierarchy.

o The default value is repository specific and SHOULD be at least 2 or -1

String filter: See section 2.2.1.2.1 Properties. Enum includeRelationships: See section 2.2.1.2.2 Relationships. String renditionFilter: See section 2.2.1.2.4 Renditions. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions. Boolean includePathSegment: Defaults to FALSE. If TRUE, returns a PathSegment for each

child object for use in constructing that object’'s path.

2.2.3.3.2 Outputs <Array> ObjectResults: A list of the descendant folders for the specified folder. Each object

result MUST include the following elements if they are requested:o <Array> Properties: The list of properties for the object.

o <Array> Relationships: See section 2.2.1.2.2 Relationships.

o <Array> Renditions: See section 2.2.1.2.4 Renditions.

o AllowableActions: See section 2.2.1.2.6 Allowable Actions.

o String pathSegment: If includePathSegment was TRUE. See section 2.1.5.3 Paths.

2.2.3.3.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if thise property or rendition filter

input parameter is not valid. invalidArgument: The Repository MUST throw this exception if the service is invoked with

an invalid depth invalidArgument: if the specified folder is not a folder

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 92 of 236

36943695

3696369736983699

370037013702370337043705370637073708370937103711371237133714371537163717

37183719372037213722372337243725

37263727372837293730373137323733

274275276

Page 93: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.3.4 getFolderParentDescription: Gets the parent folder object for the specified folder object.

2.2.3.4.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID folderId: The identifier for the folder.

Optional: String filter: See section 2.2.1.2.1 Properties.

2.2.3.4.2 Outputs Object: The parent folder object of the specified folder.

2.2.3.4.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if this property filter input

parameter is not valid. invalidArgument: The Repository MUST throw this exception if the folderId input is the root

folder.

2.2.3.5 getObjectParentsDescription: Gets the parent folder(s) for the specified non-folder, fileable object.

2.2.3.5.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the object.

Optional: String filter: See section 2.2.1.2.1 Properties Enum includeRelationships: See section 2.2.1.2.2 Relationships. String renditionFilter: See section 2.2.1.2.4 Renditions. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions. Boolean includeRelativePathSegment: See section 2.1.5.3 Paths.

2.2.3.5.2 Outputs <Array> ObjectResults: A list of the parent folder(s) of the specified objects. Empty for unfiled

objects or for the root folder. Each object result MUST include the following elements if they are requested:

o <Array> Properties: The list of properties for the object.

o <Array> Relationships: See section 2.2.1.2.2 Relationships.

o <Array> Renditions: See section 2.2.1.2.4 Renditions.

o AllowableActions: See section 2.2.1.2.6 Allowable Actions.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 93 of 236

3734

37353736

373737383739374037413742

37433744

374537463747374837493750

37513752

3753375437553756375737583759376037613762

37633764376537663767376837693770

277278279

Page 94: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o String relativePathSegment: If includeRelativePathSegment was TRUE. See section 2.1.5.3 Paths.

2.2.3.5.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if this method is invoked on an object

who Object-Type Definition specifies that it is not fileable. filterNotValid: The Repository MUST throw this exception if thise property or rendition filter

input parameter is not valid.

2.2.3.6 getCheckedOutDocsDescription: Gets the list of documents that are checked out that the user has access to.

2.2.3.6.1 InputsRequired:

ID repositoryId: The identifier for the Repository.Optional:

ID folderId: The identifier for a folder in the repository from which documents should be returned.o If specified, the Repository MUST only return checked out documents that are child-

objects of the specified folder.o If not specified, the Repository MUST return checked out documents from anywhere in

the repository hierarchy. Integer maxItems: See section 2.2.1.1 Paging. Integer skipCount: See section 2.2.1.1 Paging. String orderBy: The orderBy parameter MUST be a comma-separated list of query names and

the ascending modifier “"ASC”" or the descending modifier “"DESC”" for each query name. A repository's handling of the orderBy input is repository-specific.

String filter: See section 2.2.1.2.1 Properties. Enum includeRelationships: See section 2.2.1.2.2 Relationships. String renditionFilter: See section 2.2.1.2.4 Renditions. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions.

2.2.3.6.2 Outputs <Array> ObjectResults: A list of checked out documents. Each object result MUST include the

following elements if they are requested:o <Array> Properties: The list of properties for the object.

o <Array> Relationships: See section 2.2.1.2.2 Relationships.

o <Array> Renditions: See section 2.2.1.2.4 Renditions.

o AllowableActions: See section 2.2.1.2.6 Allowable Actions.

Boolean hasMoreItems: See section 2.2.1.1 Paging.Optional:

Integer numItems: See section 2.2.1.1 Paging.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 94 of 236

37713772

377337743775377637773778

37793780

378137823783378437853786378737883789379037913792379337943795379637973798

3799380038013802380338043805380638073808

3809

280281282

Page 95: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.3.6.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if thise property or rendition filter

input parameter is not valid.

2.2.4 Object ServicesCMIS provides ID-based CRUD (Create, Retrieve, Update, Delete), operations on objects in a Repository.

2.2.4.1 createDocumentDescription: Creates a document object of the specified type (given by the cmis:objectTypeId property) in the (optionally) specified location.

2.2.4.1.1 InputsRequired: o ID repositoryId: The identifier for the Repository.

o <Array> properties: The property values that MUST be applied to the newly-created Document Object.

Optional: ID folderId: If specified, the identifier for the folder that MUST be the parent folder for the newly-

created Document Object.o This parameter MUST be specified if the Repository does NOT support the optional

“"unfiling”" capability. <contentStream> contentStream: The Content Stream that MUST be stored for the newly-

created Document Object. The method of passing the contentStream to the server and the encoding mechanism will be specified by each specific binding. MUST be required if the type requires it.

Enum versioningState: An enumeration specifying what the versioing state of the newly-created object MUST be. If the repository does not support versioning, the repository MUST ignore the versioningState parameter. Valid values are:

o none: The document MUST be created as a non-versionable document.

o checkedout: The document MUST be created in the checked-out state. The checked-out document MAY be visible to other users.

o major (default): The document MUST be created as a major version

o minor: The document MUST be created as a minor version.

<Array> policies: A list of policy IDs that MUST be applied to the newly-created Document object.

<Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Document object, either using the ACL from folderId if specified, or being applied if no folderId is specified.

<Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created Document object, either using the ACL from folderId if specified, or being ignored if no folderId is specified.

2.2.4.1.2 OutputsID objectId: The ID of the newly-created document.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 95 of 236

3810381138123813

38143815

381638173818

38193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847

38483849

283284285

Page 96: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.4.1.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if ANY of the following conditions are

met:o The cmis:objectTypeId property value is not an Object-Type whose baseType is

“"Document”.".o The cmis:objectTypeId property value is NOT in the list of AllowedChildObjectTypeIds of

the parent-folder specified by folderId. o The value of any of the properties violates the min/max/required/length constraints

specified in the property definition in the Object-Type.o The “"contentStreamAllowed”" attribute of the Object-Type definition specified by the

cmis:objectTypeId property value is set to “"required”" and no contentStream input parameter is provided.

o The “"versionable”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to FALSE and a value for the versioningState input parameter is provided that is something other than “"none”.".

o The “"versionable”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to TRUE and the value for the versioningState input parameter is provided that is “"none”.".

o The “"controllablePolicy”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to FALSE and at least one policy is provided.

o The "controllableACL" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to FALSE and at least one ACE is provided.

o At least one of the permissions is used in an ACE provided which is not supported by the repository.

nameConstraintViolation: See section 2.2.1.4.2 Specific Exceptions. If the repository detects a violation with the given cmis:name property value, the repository MAY throw this exception or chose a name which does not conflict.

storage: See section 2.2.1.4.2 Specific Exceptions.

o The “controllableACL”streamNotSupported: The Repository MUST throw this exception if the "contentStreamAllowed" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to "not allowed"FALSE and at least one ACE is provided.

o At least one of the permissions is used in an ACE provided which is not supported by the repository.

nameConstraintViolation: See section 2.2.1.4.2 Specific Exceptions. If the repository detects a violation with the given cmis:name property value, the repository MAY throw this exception or chose a name which does not conflict.

storage: See section 2.2.1.4.2 Specific Exceptions.

streamNotSupported: The Repository MUST throw this exception if the “contentStreamAllowed” attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to “not allowed” and a contentStream input parameter is provided.

2.2.4.2 createDocumentFromSourceDescription: Creates a document object as a copy of the given source document in the (optionally) specified location.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 96 of 236

385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891

389238933894

286287288

Page 97: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.4.2.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID sourceId: The identifier for the source document.

Optional: <Array> properties: The property values that MUST be applied to the Object. This list of

properties SHOULD only contain properties whose values differ from the source document. ID folderId: If specified, the identifier for the folder that MUST be the parent folder for the newly-

created Document Object.o This parameter MUST be specified if the Repository does NOT support the optional

“"unfiling”" capability. Enum versioningState: An enumeration specifying what the versioning state of the newly-

created object MUST be. If the repository does not support versioning, the repository MUST ignore the versioningState parameter. Valid values are:

o none: The document MUST be created as a non-versionable document.

o checkedout: The document MUST be created in the checked-out state.

o major (default): The document MUST be created as a major version

o minor: The document MUST be created as a minor version.

<Array> policies: A list of policy IDs that MUST be applied to the newly-created Document object.

<Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Document object, either using the ACL from folderId if specified, or being applied if no folderId is specified.

<Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created Document object, either using the ACL from folderId if specified, or being ignored if no folderId is specified.

2.2.4.2.2 OutputsID objectId: The ID of the newly-created document.

2.2.4.2.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if ANY of the following conditions are

met:o The sourceId is not an Object whose baseType is “"Document”.".

o The source document’'s cmis:objectTypeId property value is NOT in the list of AllowedChildObjectTypeIds of the parent-folder specified by folderId.

o The “"versionable”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to FALSE and a value for the versioningState input parameter is provided that is something other than “"none”.".

o The “"versionable”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to TRUE and the value for the versioningState input parameter is provided that is “"none”.".

o The “"controllablePolicy”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to FALSE and at least one policy is provided.

o The “"controllableACL”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to FALSE and at least one ACE is provided.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 97 of 236

3895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919

39203921

39223923392439253926392739283929393039313932393339343935393639373938289290291

Page 98: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o At least one of the permissions is used in an ACE provided which is not supported by the repository.

nameConstraintViolation: See section 2.2.1.4.2 Specific Exceptions. If the repository detects a violation with the given cmis:name property value, the repository MAY throw this exception or chose a name which does not conflict.

storage: See section 2.2.1.4.2 Specific Exceptions.

streamNotSupported: The Repository MUST throw this exception if the “"contentStreamAllowed”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to “"not allowed”" and a contentStream input parameter is provided.

2.2.4.3 createFolderDescription: Creates a folder object of the specified type in the specified location.

2.2.4.3.1 InputsRequired:

ID repositoryId: The identifier for the Repository. <Array> properties: The property values that MUST be applied to the newly-created Folder

Object. ID folderId: The identifier for the folder that MUST be the parent folder for the newly-created

Folder Object.Optional:

<Array> policies: A list of policy IDs that MUST be applied to the newly-created Folder object. <Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Folder object,

either using the ACL from folderId if specified, or being applied if no folderId is specified. <Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created

Folder object, either using the ACL from folderId if specified, or being ignored if no folderId is specified.

2.2.4.3.2 Outputso ID objectId: The ID of the newly-created folder.

2.2.4.3.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if ANY of the following conditions are

met:o The cmis:objectTypeId property value is not an Object-Type whose baseType is

“"Folder”.".o The value of any of the properties violates the min/max/required/length constraints

specified in the property definition in the Object-Type. o The cmis:objectTypeId property value is NOT in the list of AllowedChildObjectTypeIds of

the parent-folder specified by folderId. o The “"controllablePolicy”" attribute of the Object-Type definition specified by the

cmis:objectTypeId property value is set to FALSE and at least one policy is provided.o The “"controllableACL”" attribute of the Object-Type definition specified by the

cmis:objectTypeId property value is set to FALSE and at least one ACE is provided.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 98 of 236

3939394039413942394339443945394639473948

39493950

39513952395339543955395639573958395939603961396239633964

39653966

39673968396939703971397239733974397539763977397839793980

292293294

Page 99: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o At least one of the permissions is used in an ACE provided which is not supported by the repository.

nameConstraintViolation: See section 2.2.1.4.2 Specific Exceptions. If the repository detects a violation with the given cmis:name property value, the repository MAY throw this exception or chose a name which does not conflict.

storage: See section 2.2.1.4.2 Specific Exceptions.

2.2.4.4 createRelationshipDescription: Creates a relationship object of the specified type

2.2.4.4.1 InputsRequired:

ID repositoryId: The identifier for the Repository. <Array> properties: The property values that MUST be applied to the newly-created Relationship

Object.Optional:

<Array> policies: A list of policy IDs that MUST be applied to the newly-created Replationship object.

<Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Relationship object, either using the ACL from folderId if specified, or being applied if no folderId is specified. <Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created Relationship object, either using the ACL from folderId if specified, or being ignored if no folderId is specified.

2.2.4.4.2 Outputs ID objectId: The ID of the newly-created relationship.

2.2.4.4.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if ANY of the following conditions are

met:o The cmis:objectTypeId property value is not an Object-Type whose baseType is

“"Relationship”.".o The value of any of the properties violates the min/max/required/length constraints

specified in the property definition in the Object-Type. o The sourceObjectId’'s ObjectType is not in the list of “"allowedSourceTypes”" specified by

the Object-Type definition specified by cmis:objectTypeId property value.o The targetObjectId’'s ObjectType is not in the list of “"allowedTargetTypes”" specified by

the Object-Type definition specified by cmis:objectTypeId property value.o The “"controllablePolicy”" attribute of the Object-Type definition specified by the

cmis:objectTypeId property value is set to FALSE and at least one policy is provided.o The “"controllableACL”" attribute of the Object-Type definition specified by the

cmis:objectTypeId property value is set to FALSE and at least one ACE is provided.o At least one of the permissions is used in an ACE provided which is not supported by the

repository.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 99 of 236

398139823983398439853986

39873988

3989399039913992399339943995399639973998399940004001

40024003

400440054006400740084009401040114012401340144015401640174018401940204021

295296297

Page 100: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

nameConstraintViolation: See section 2.2.1.4.2 Specific Exceptions. If the repository detects a violation with the given cmis:name property value, the repository MAY throw this exception or chose a name which does not conflict.

storage: See section 2.2.1.4.2 Specific Exceptions.

2.2.4.5 createPolicyDescription: Creates a policy object of the specified type

2.2.4.5.1 InputsRequired:

ID repositoryId: The identifier for the Repository. <Array> properties: The property values that MUST be applied to the newly-created Policy

Object.Optional:

ID folderId: If specified, the identifier for the folder that MUST be the parent folder for the newly-created Policy Object.

This parameter MUST be specified if the Repository does NOT support the optional “"unfiling”" capability.

<Array> policies: A list of policy IDs that MUST be applied to the newly-created Policy object. <Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Policy object,

either using the ACL from folderId if specified, or being applied if no folderId is specified. <Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created Policy

object, either using the ACL from folderId if specified, or being ignored if no folderId is specified.

2.2.4.5.2 Outputs ID objectId: The ID of the newly-created Policy Object.

2.2.4.5.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if ANY of the following conditions are

met:o The cmis:objectTypeId property value is not an Object-Type whose baseType is

“"Policy”.".o The value of any of the properties violates the min/max/required/length constraints

specified in the property definition in the Object-Type. o The cmis:objectTypeId property value is NOT in the list of AllowedChildObjectTypeIds of

the parent-folder specified by folderId. o The “"controllablePolicy”" attribute of the Object-Type definition specified by the

cmis:objectTypeId property value is set to FALSE and at least one policy is provided.o The “"controllableACL”" attribute of the Object-Type definition specified by the

cmis:objectTypeId property value is set to FALSE and at least one ACE is provided.o At least one of the permissions is used in an ACE provided which is not supported by the

repository. nameConstraintViolation: See section 2.2.1.4.2 Specific Exceptions. If the repository

detects a violation with the given cmis:name property value, the repository MAY throw this exception or chose a name which does not conflict.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 100 of 236

4022402340244025

40264027

402840294030403140324033403440354036403740384039404040414042

40434044

4045404640474048404940504051405240534054405540564057405840594060406140624063

298299300

Page 101: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

storage: See section 2.2.1.4.2 Specific Exceptions.

2.2.4.6 getAllowableActions Description: Gets the list of allowable actions for an Object (see section.2.2.1.2.6 Allowable Actions).

2.2.4.6.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the object

2.2.4.6.2 Outputs <Array> AllowableActions: see section 2.2.1.2.6 Allowable Actions.

2.2.4.6.3 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General Exceptions

2.2.4.7 getObjectDescription: Gets the specified information for the Object.

2.2.4.7.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the object

Optional: String filter: See section 2.2.1.2.1 Properties. Enum includeRelationships: See section 2.2.1.2.2 Relationships. Boolean includePolicyIds: See section 2.2.1.2.3 Policies. String renditionFilter: See section 2.2.1.2.4 Renditions. Boolean includeACL: See section 2.2.1.2.5 ACLs. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions.

2.2.4.7.2 Outputs <Array> Properties: The list of properties for the object. <Array> Relationships: See section 2.2.1.2.2 Relationships. <Array> Policy Ids: See section 2.2.1.2.3 Policies. <Array> Renditions: See section 2.2.1.2.4 Renditions. <Array> ACLs: See section 2.2.1.2.5 ACLs. AllowableActions: See section 2.2.1.2.6 Allowable Actions.

2.2.4.7.3 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General ExceptionsfilterNotValid: The Repository MUST throw this exception if thise property or rendition filter

input parameter is not valid.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 101 of 236

4064

40654066

4067406840694070

40714072

40734074

40754076

40774078407940804081408240834084408540864087

4088408940904091409240934094

4095409640974098

301302303

Page 102: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.4.8 getPropertiesDescription: Gets the list of properties for an Object.

2.2.4.8.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the object

Optional: String filter: See section 2.2.1.2.1 Properties.

2.2.4.8.2 Outputs<Array> Properties: The list of properties for the object.

2.2.4.8.3 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General ExceptionsfilterNotValid: The Repository MUST throw this exception if this property filter input parameter

is not valid.

2.2.4.9 getObjectByPathDescription: Gets the specified object.

2.2.4.9.1 InputsRequired:

ID repositoryId: The identifier for the Repository. String path: The path to the object. See section 2.1.5.3 Paths.

Optional: String filter: See section 2.2.1.2.1 Properties. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions. Enum includeRelationships: See section 2.2.1.2.2 Relationships. String renditionFilter: See section 2.2.1.2.4 Renditions. Boolean includePolicyIds: See section 2.2.1.2.2 Relationships. Boolean includeACL: See section 2.2.1.2.5 ACLs.

2.2.4.9.2 Outputs <Array> Properties: The list of properties for the object. AllowableActions: See section 2.2.1.2.6 Allowable Actions.

2.2.4.9.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if thise property or rendition filter

input parameter is not valid.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 102 of 236

40994100

410141024103410441054106

41074108

4109411041114112

41134114

41154116411741184119412041214122412341244125

412641274128

4129413041314132

304305306

Page 103: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.4.10 getContentStreamDescription: Gets the content stream for the specified Document object, or gets a rendition stream for a specified rendition of a document or folder object.Notes: Each CMIS protocol binding MAY provide a way for fetching a sub-range within a content stream, in a manner appropriate to that protocol.

2.2.4.10.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the object

Optional: ID streamId: The identifier for the rendition stream, when used to get a rendition stream. For

Documents, if not provided then this method returns the content stream. For Folders, it MUST be provided.

2.2.4.10.2 Outputs <Stream> ContentStream: The specified content stream or rendition stream for the object.

2.2.4.10.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptionsconstraint: The Repository MUST throw this exception if the object specified by objectId does

NOT have a content stream or rendition stream.

2.2.4.11 getRenditionsDescription: Gets the list of associated Renditions for the specified object. Only rendition attributes are returned, not rendition stream.Notes: Each CMIS protocol binding MAY provide a way for fetching a sub-range within a content stream, in a manner appropriate to that protocol.

2.2.4.11.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the object

Optional: String renditionFilter: See Section 2.2.1.2.4 Integer maxItems: See section 2.2.1.1 Paging. Integer skipCount: See section 2.2.1.1 Paging.

2.2.4.11.2 Outputs <Array> Renditions: The set of renditions available on this object

2.2.4.11.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions notSupported: The service method requires functionality that is not supported by the

repository

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 103 of 236

41334134413541364137

41384139414041414142414341444145

41464147

4148414941504151

41524153415441554156

41574158415941604161416241634164

41654166

4167416841694170

307308309

Page 104: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

filterNotValid : The rendition filter specified is not valid

2.2.4.12 updatePropertiesDescription: Updates properties of the specified object. Notes:

A Repository MAY automatically create new Document versions as part of an update properties operation. Therefore, the objectId output NEED NOT be identical to the objectId input.

Each CMIS protocol bindings MUST specify whether the updateProperties service MUST always include all updatable properties, or only those properties whose values are different than the original value of the object.

2.2.4.12.1 InputsRequired:

ID repositoryId: The identifier for the Repository.ID objectId: The identifier of the object to be updated. <Array> properties: The updated property values that MUST be applied to the Object.

Optional: String changeToken: See section 2.2.1.3 Change Tokens.

2.2.4.12.2 Outputs ID objectId: The ID of the updated object. String changeToken: See section 2.2.1.3 Change Tokens.

2.2.4.12.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if the value of any of the properties

violates the min/max/required/length constraints specified in the property definition in the Object-Type.

nameConstraintViolation: See section 2.2.1.4.2 Specific Exceptions. The repository MAY throw this exception or chose a name which does not conflict.

storage: See section 2.2.1.4.2 Specific Exceptions.

updateConflict: See section 2.2.1.4.2 Specific Exceptions.

versioning: The Repository MUST throw this exception if ANY of the following conditions are met:

o The object is not checked out and ANY of the properties being updated are defined in their Object-Type definition have an attribute value of Updatability when checked-out.

o Additionally, the repository MAY throw this exception if the object is a non-current Document Version.

2.2.4.13 moveObjectDescription: Moves the specified file-able object from one folder to another.

2.2.4.13.1 InputsRequired:

ID repositoryId: The identifier for the Repository.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 104 of 236

4171

41724173417441754176417741784179

4180418141824183418441854186

418741884189

419041914192419341944195419641974198419942004201420242034204

42054206

420742084209

310311312

Page 105: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

ID objectId: The identifier of the object to be moved. ID targetFolderId: The folder into which the object is to be moved. ID sourceFolderId: The folder from which the object is to be moved.

2.2.4.13.2 Outputs ID objectId: The identifier of the object to be moved.

2.2.4.13.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions invalidArgument: The Repository MUST throw this exception if the service is invoked with a

missing sourceFolderId or the sourceFolderId doesn’'t match the specified object’'s parent folder (or one of the parent folders if the repository supports multifiling.).

constraint: The Repository MUST throw this exception if the cmis:objectTypeId property value of the given object is NOT in the list of AllowedChildObjectTypeIds of the parent-folder specified by targetFolderId.

nameConstraintViolation: See section 2.2.1.4.2 Specific Exceptions. The repository MAY throw this exception or chose a name which does not conflict.

storage: See section 2.2.1.4.2 Specific Exceptions.

updateConflict: See section 2.2.1.4.2 Specific Exceptions.

versioning: The repository MAY throw this exception if the object is a non-current Document Version.

2.2.4.14 deleteObjectDescription: Deletes the specified object.

2.2.4.14.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier of the object to be deleted.

Optional: Boolean allVersions: If TRUE (default), then delete all versions of the document. If FALSE,

delete only the document object specified. The Repository MUST ignore the value of this parameter when this service is invoke on a non-document object or non-versionable document object.

2.2.4.14.2 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if the method is invoked on a Folder

object that contains one or more objects. updateConflict: See section 2.2.1.4.2 Specific Exceptions.

2.2.4.15 deleteTreeDescription: Deletes the specified folder object and all of its child- and descendant-objects.Notes:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 105 of 236

421042114212

42134214

42154216421742184219422042214222422342244225422642274228

42294230

423142324233423442354236423742384239

4240

42414242424342444245

424642474248

313314315

Page 106: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

A Repository MAY attempt to delete child- and descendant-objects of the specified folder in any order.

Any child- or descendant-object that the Repository cannot delete MUST persist in a valid state in the CMIS domain model.

This is not atomic. However, if deletesinglefiled is chosen and some objects fail to delete, then single-filed objects

are either deleted or kept, never just unfiled. This is so that a user can call this command again to recover from the error by using the same tree.

2.2.4.15.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID folderId: The identifier of the folder to be deleted.

Optional: Boolean allVersions: If TRUE (default), then delete all versions of the document. If FALSE, delete

only the document object specified. The Repository MUST ignore the value of this parameter when this service is invoke on a non-document object or non-versionable document object.

Enum unfileObjects: An enumeration specifying how the repository MUST process file-able child- or descendant-objects. Valid values are:

o unfile: Unfile all fileable objects.

o deletesinglefiled: Delete all fileable non-folder objects whose only parent-folders are in the current folder tree. Unfile all other fileable non-folder objects from the current folder tree.

o delete (default): Delete all fileable objects.

boolean continueOnFailure: If TRUE, then the repository SHOULD continue attempting to perform this operation even if deletion of a child- or descendant-object in the specified folder cannot be deleted.

o If FALSE (default), then the repository SHOULD abort this method when it fails to delete a single child- or descendant-object.

2.2.4.15.2 Outputs <Array> ID failedToDelete: A list of identifiers of objects in the folder tree that were not deleted.

2.2.4.15.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions updateConflict: See section 2.2.1.4.2 Specific Exceptions.

2.2.4.16 setContentStreamDescription: Sets the content stream for the specified Document object.Notes: A Repository MAY automatically create new Document versions as part of this service method. Therefore, the obejctId output NEED NOT be identical to the objectId input.

2.2.4.16.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the Document object. <contentStream> contentStream: The Content Stream

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 106 of 236

42494250425142524253425442554256

4257425842594260426142624263426442654266426742684269427042714272427342744275

42764277

427842794280

4281428242834284

42854286428742884289316317318

Page 107: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Optional: Boolean overwriteFlag: If TRUE (default), then the Repository MUST replace the existing

content stream for the object (if any) with the input contentStream. o If FALSE, then the Repository MUST only set the input contentStream for the object if the

object currently does not have a content-stream. String changeToken: See section 2.2.1.3 Change Tokens.

2.2.4.16.2 Outputs ID objectId: The ID of the document. String changeToken: See section 2.2.1.3 Change Tokens.

2.2.4.16.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions contentAlreadyExists: The Repository MUST throw this exception if the input parameter

overwriteFlag is FALSE and the Object already has a content-stream. storage: See section 2.2.1.4.2 Specific Exceptions.

streamNotSupported: The Repository MUST throw this exception if the “"contentStreamAllowed”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value of the given document is set to “"notallowed”.".

updateConflict: See section 2.2.1.4.2 Specific Exceptions.

versioning: The repository MAY throw this exception if the object is a non-current Document Version.

2.2.4.17 deleteContentStream Description: Deletes the content stream for the specified Document object.Notes: A Repository MAY automatically create new Document versions as part of this service method. Therefore, the objectId output NEED NOT be identical to the objectId input.

2.2.4.17.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the Document object. Optional: String changeToken: See section 2.2.1.3 Change Tokens.

2.2.4.17.2 Outputs ID objectId: The ID of the Document object. String changeToken: See section 2.2.1.3 Change Tokens.

2.2.4.17.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if the Object’'s Object-Type definition

“"contentStreamAllowed”" attribute is set to “"required”.". storage: See section 2.2.1.4.2 Specific Exceptions.

updateConflict: See section 2.2.1.4.2 Specific Exceptions.cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 107 of 236

429042914292429342944295

429642974298

42994300430143024303430443054306430743084309

4310431143124313

431443154316431743184319

432043214322

432343244325432643274328

319320321

Page 108: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

versioning: The repository MAY throw this exception if the object is a non-current Document Version.

2.2.5 Multi-filing ServicesThe Multi-filing services (addObjectToFolder, removeObjectFromFolder) are supported only if the repository supports the multifiling or unfiling optional capabilities.optional capabilities. The Multi-filing Services are used to file/un-file objects into/from folders.This service is NOT used to create or delete objects in the repository.

2.2.5.1 addObjectToFolderDescription: Adds an existing fileable non-folder object to a folder.

2.2.5.1.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier of the object. ID folderId: The folder into which the object is to be filed.

Optional: 1. Boolean allVersions: Add all versions of the object to the folder if the repository supports

version-specific filing. Defaults to TRUE.

2.2.5.1.2 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions. constraint: The Repository MUST throw this exception if the cmis:objectTypeId property value

of the given object is NOT in the list of AllowedChildObjectTypeIds of the parent-folder specified by folderId.

2.2.5.2 removeObjectFromFolderDescription: Removes an existing fileable non-folder object from a folder.

2.2.5.2.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier of the object.

Optional: ID folderId: The folder from which the object is to be removed.

o If no value is specified, then the Repository MUST remove the object from all folders in which it is currently filed.

2.2.5.2.2 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions

2.2.6 Discovery ServicesThe Discovery Services (query) are used to search for query-able objects within the Repository.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 108 of 236

43294330

43314332433343344335

43364337

43384339434043414342434343444345

43464347434843494350

43514352

43534354435543564357435843594360

43614362

43634364

322323324

Page 109: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.6.1 queryDescription: Executes a CMIS query statement against the contents of the Repository.

2.2.6.1.1 InputsRequired:

ID repositoryId: The identifier for the Repository. String statement: CMIS query to be executed. (See section 2.1.10 Query.)

Optional: Boolean searchAllVersions:

o If TRUE, then the Repository MUST include latest and non-latest versions of document objects in the query search scope.

o If FALSE (default), then the Repository MUST only include latest versions of documents in the query search scope.

o If the Repository does not support the optional capabilityAllVersionsSearchable capability, then this parameter value MUST be set to FALSE.

Enum includeRelationships: See section 2.2.1.2.2 Relationships.o Note: For query statements where the SELECT clause contains properties from only one

virtual table reference (i.e. referenced object-type), any value for this enum may be used. If the SELECT clause contains properties from more than one table, then the value of this parameter MUST be “"none”.".

String renditionFilter: See section 2.2.1.2.4 Renditions.o If the SELECT clause contains properties from more than one table, then the value of this

parameter MUST not be set.

Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions.o Note: For query statements where the SELECT clause contains properties from only one

virtual table reference (i.e. referenced object-type), any value for this parameter may be used. If the SELECT clause contains properties from more than one table, then the value of this parameter MUST be “"FALSE”.".

Integer maxItems: See section 2.2.1.1 Paging. Integer skipCount: See section 2.2.1.1 Paging.

2.2.6.1.2 Outputs <Array> Object QueryResults: The set of results for the query. (See section 2.1.10 Query.).

Each object result MUST include the following elements if they are requested:o <Array> Relationships: See section 2.2.1.2.2 Relationships.

o <Array> Renditions: See section 2.2.1.2.4 Renditions.

o AllowableActions: See section 2.2.1.2.6 Allowable Actions.

Boolean hasMoreItems: See section 2.2.1.1 Paging.Optional:

Integer numItems: See section 2.2.1.1 Paging.

2.2.6.1.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 109 of 236

43654366

436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393

439443954396439743984399440044014402

4403

44044405

325326327

Page 110: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

If the select clause includes properties from more than a single type reference, then the repository SHOULD throw an exception if includeRelationships is something other than “"none”" or includeAllowableActions is specified as TRUE.

2.2.6.2 getContentChangesDescription: Gets a list of content changes. This service is intended to be used by search crawlers or other applications that need to efficiently understand what has changed in the repository.Notes:

The content stream is NOT returned for any change event. The definition of the authority needed to call this service is repository specific. The latest change log token for a repository can be acquired via the getRepositoryInfo service.

2.2.6.2.1 InputsRequired:

ID repositoryId: The identifier for the Repository.Optional:

String changeLogToken: o If specified, then the Repository MUST return the change event corresponding to the

value of the specified change log token as the first result in the output.o If not specified, then the Repository MUST return the first change event recorded in the

change log. Boolean includeProperties:

o If TRUE, then the Repository MUST include the updated property values for “"updated”" change events if the repository supports returning property values as specified by capbilityChanges.

o If FALSE (default), then the Repository MUST NOT include the updated property values for “"updated”" change events. The single exception to this is that the objectId MUST always be included.

Boolean includePolicyIds: If TRUE, then the Repository MUST include the IDs of Policies applied to the object referenced in

each change event, if the change event modified the set of policies applied to the object.If FALSE (default), then the Repository will not include policy information.

String filter: See section 2.2.1.2.1 Properties. The service will only return the properties in the matched object if they exist on the matched object type definition and in the filter.

Boolean includeACL: See section 2.2.1.2.5 ACLs. Integer maxItems: See section 2.2.1.1 Paging.

2.2.6.2.2 Outputs <Array> changeEvents: A collection of CMIS objects that MUST include the information as

specified in 2.1.11.3.as specified in 2.1.11.3. Each result MUST include the following elements if they are requested:

o <Array> policyIDs: The IDs of Policies applied to the object referenced in the change event.

o <Array> ACLs: The ACLs applied to the object reference in the change event.

String latestChangeLogToken: The change log token corresponding to the last change event in changeEvents.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 110 of 236

440644074408

4409441044114412441344144415

441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439

444044414442444344444445444644474448

328329330

Page 111: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Boolean hasMoreItems: See section 2.2.1.1 Paging.Optional:

Integer numItems: See section 2.2.1.1 Paging.

2.2.6.2.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if the event corresponding to the

change log token provided as an input parameter is no longer available in the change log. (E.g. because the change log was truncated).

2.2.7 Versioning ServicesThe Versioning services (checkOut, cancelCheckOut, getPropertiesOfLatestVersion, getAllVersions, deleteAllVersions) are used to navigate or update a Document Version Series.

2.2.7.1 checkOutDescription: Create a private working copy of the document.

2.2.7.1.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier of the document version.

2.2.7.1.2 Outputs ID objectId: The identifier for the “"Private Working Copy”" document.

Boolean contentCopied: TRUE if the content-stream of the Private Working Copy is a copy of the contentStream of the Document that was checked out.

FALSE if the content-stream of the Private Working Copy is “"not set”.".

2.2.7.1.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if the Document’'s Object-Type

definition’'s versionable attribute is FALSE. storage: See section 2.2.1.4.2 Specific Exceptions.

updateConflict: See section 2.2.1.4.2 Specific Exceptions.

versioning: The repository MAY throw this exception if the object is a non-current Document Version.

2.2.7.2 cancelCheckOutDescription: Reverses the effect of a check-out. Removes the private working copy of the checked-out document, allowing other documents in the version series to be checked out again. If the private working copy has been created by createDocument, cancelCheckOut MUST delete the created document.

2.2.7.2.1 InputsRequired:

ID repositoryId: The identifier for the Repository.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 111 of 236

444944504451

44524453445444554456

445744584459

44604461

4462446344644465

44664467

446844694470

44714472447344744475447644774478

4479448044814482

448344844485

331332333

Page 112: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

ID objectId: The identifier of the Private Working Copy.

2.2.7.2.2 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if the Document’'s Object-Type

definition’'s versionable attribute is FALSE. updateConflict: See section 2.2.1.4.2 Specific Exceptions.

versioning: The repository MAY throw this exception if the object is a non-current Document Version.

2.2.7.3 checkInDescription: Checks-in the Private Working Copy document.Notes:

For repositories that do NOT support the optional “capabilityPWCUpdatable” capability,optional "capabilityPWCUpdatable" capability, the properties and contentStream input parameters MUST be provided on the checkIn method for updates to happen as part of checkIn.

Each CMIS protocol bindings MUST specify whether the checkin service MUST always include all updatable properties, or only those properties whose values are different than the original value of the object.

2.2.7.3.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier of the document.

Optional: Boolean major: TRUE (default) if the checked-in Document Object MUST be a major version.

o FALSE if the checked-in Document Object MUST NOT be a major version.

<Array> properties: The property values that MUST be applied to the checked-in Document Object.

<contentStream> contentStream: The Content Stream that MUST be stored for the checked-in Document Object. The method of passing the contentStream to the server and the encoding mechanism will be specified by each specific binding.

String checkinComment: See section 2.1.9.5 Versioning Properties on Document Objects. <Array> policies: A list of policy IDs that MUST be applied to the newly-created Document

object. <Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Document

object. <Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created

Document object.

2.2.7.3.2 OutputsID objectId: The ID of the checked-in document.

2.2.7.3.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 112 of 236

4486

4487448844894490449144924493

4494449544964497449844994500450145024503

4504450545064507450845094510451145124513451445154516451745184519452045214522

45234524

45254526

334335336

Page 113: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

constraint: The Repository MUST throw this exception if the Document’'s Object-Type definition’'s versionable attribute is FALSE.

storage: See section 2.2.1.4.2 Specific Exceptions.

streamNotSupported: The Repository MUST throw this exception if the “"contentStreamAllowed”" attribute of the Object-Type definition specified by the cmis:objectTypeId property value is set to “"not allowed”" and a contentStream input parameter is provided.

updateConflict: See section 2.2.1.4.2 Specific Exceptions.

2.2.7.4 getObjectOfLatestVersionDescription: Get a the latest Document object in the Version Series.

2.2.7.4.1 InputsRequired: ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the Version Series. Optional:

Boolean major: If TRUE, then the Repository MUST returnthe properties for the latest major version object in the Version Series.o If FALSE (default), the Repository MUST return the properties for the latest (major or non-

major) version object in the Version Series. String filter: See section 2.2.1.2.1 Properties. Enum includeRelationships: See section 2.2.1.2.2 Relationships. Boolean includePolicyIds: See section 2.2.1.2.3 Policies. String renditionFilter: See section 2.2.1.2.4 Renditions. Boolean includeACL: See section 2.2.1.2.5 ACLs. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions.

2.2.7.4.2 Outputs <Array> Properties: The list of properties for the object. <Array> Relationships: See section 2.2.1.2.2 Relationships. <Array> Policy Ids: See section 2.2.1.2.3 Policies. <Array> Renditions: See section 2.2.1.2.4 Renditions. <Array> ACLs: See section 2.2.1.2.5 ACLs. AllowableActions: See section 2.2.1.2.6 Allowable Actions.

2.2.7.4.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if thise property or rendition filter

input parameter is not valid. objectNotFound: The Repository MUST throw this exception if the input parameter major is

TRUE and the Version Series contains no major versions.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 113 of 236

45274528452945304531453245334534

45354536

453745384539454045414542454345444545454645474548454945504551

4552455345544555455645574558

455945604561456245634564

337338339

Page 114: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.7.5 getPropertiesOfLatestVersionDescription: Get a subset of the properties for the latest Document Object in the Version Series.

2.2.7.5.1 InputsRequired: ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the Version Series. Optional: Boolean major: If TRUE, then the Repository MUST return the properties for the latest major version

object in the Version Series.o If FALSE (default), the Repository MUST return the properties for the latest (major or non-

major) version object in the Version Series. String filter: See section 2.2.1.2.1 Properties.

2.2.7.5.2 Outputs<Array> Properties: The list of properties for the object.

2.2.7.5.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if this property filter input

parameter is not valid. objectNotFound: The Repository MUST throw this exception if the input parameter major is

TRUE and the Version Series contains no major versions.

2.2.7.6 getAllVersionsDescription: Returns the list of all Document Objects in the specified Version Series, sorted by cmis:creationDate descending.Notes:

The result set for this operation MUST include the Private Working Copy, subject to caller’'s access privileges.

2.2.7.6.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier for the Version Series.

Optional: String filter: See section 2.2.1.2.1 Properties. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions.

2.2.7.6.2 Outputs <Array> ObjectResults: A list of Document Objects in the specified Version Series. Each object

result MUST include the following elements if they are requested:o <Array> Properties: The list of properties for the object.

o AllowableActions: See section 2.2.1.2.6 Allowable Actions.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 114 of 236

45654566

4567456845694570457145724573457445754576

45774578

457945804581458245834584

458545864587458845894590

4591459245934594459545964597

45984599460046014602

340341342

Page 115: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.7.6.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if this property filter input

parameter is not valid.

2.2.8 Relationship ServicesThe Relationship Services (getObjectRelationships) are used to retrieve the dependent Relationship objects associated with an independent object.

2.2.8.1 getObjectRelationshipsDescription: Gets all or a subset of relationships associated with an independent object.

2.2.8.1.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier of the object.

Optional: Boolean includeSubRelationshipTypes: If TRUE, then the Repository MUST return all

relationships whose Object-Types are descendant-types of the given object’'s cmis:objectTypeId property value as well as relationships of the specified type. o Default is FALSE

o If FALSE, then the Repository MUST only return relationships whose Object-Type is equivalent to the given object’'s cmis:objectTypeId property value.

Enum relationshipDirection: An enumeration specifying whether the Repository MUST return relationships where the specified Object is the source of the relationship, the target of the relationship, or both. Valid values are:o source: (default) The Repository MUST return only relationship objects where the specified

object is the source object. o target: The Repository MUST return only relationship objects where the specified object is

the target object. o either: The Repository MUST return relationship objects where the specified object is

either the source or the target object. ID typeId: If specified, then the Repository MUST return only relationships whose Object-Type is

of the type specified o If not specified, then the repository MUST return Relationship objects of all types.

Integer maxItems: See section 2.2.1.1 Paging. Integer skipCount: See section 2.2.1.1 Paging. String filter: See section 2.2.1.2.1 Properties. Boolean includeAllowableActions: See section 2.2.1.2.6 Allowable Actions.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 115 of 236

4603

4604460546064607

460846094610

46114612

4613461446154616

461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640

343344345

Page 116: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.8.1.2 Outputs <Array> Objects: A list of the relationship objects. Each object result MUST include the following

elements if they are requested:o <Array> Properties: The list of properties for the object.

o AllowableActions: See section 2.2.1.2.6 Allowable Actions.

Boolean hasMoreItems: See section 2.2.1.1 Paging.Optional:

Integer numItems: See section 2.2.1.1 Paging.

2.2.8.1.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if this property filter input

parameter is not valid.

2.2.9 Policy Services The Policy Services (applyPolicy, removePolicy, getAppliedPolicies) are used to apply or remove a policy object to a controllablePolicy object.

2.2.9.1 applyPolicyDescription: Applies a specified policy to an object.

2.2.9.1.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID policyId: The identifier for the Policy to be applied. ID objectId: The identifier of the object.

2.2.9.1.2 Exceptions Thrown & ConditionsSee section 2.2.1.4.1 General Exceptionsconstraint : The Repository MUST throw this exception if the specified object’'s Object-Type

definition’'s attribute for controllablePolicy is FALSE.

2.2.9.2 removePolicyDescription: Removes a specified policy from an object.

2.2.9.2.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID policyId: The identifier for the Policy to be removed. ID objectId: The identifier of the object.

2.2.9.2.2 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 116 of 236

46414642464346444645464646474648

4649

4650465146524653

465446554656

46574658

46594660466146624663

4664466546664667

46684669

46704671467246734674

46754676

346347348

Page 117: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

constraint: The Repository MUST throw this exception if the specified object’'s Object-Type definition’'s attribute for controllablePolicy is FALSE.

2.2.9.3 getAppliedPoliciesDescription: Gets the list of policies currently applied to the specified object.

2.2.9.3.1 InputsRequired:

ID repositoryId: The identifier for the Repository. ID objectId: The identifier of the object.

Optional: String filter: See section 2.2.1.2.1 Properties.

2.2.9.3.2 Outputs<Array> Objects: A list of Policy Objects.

2.2.9.3.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions filterNotValid: The Repository MUST throw this exception if this property filter input

parameter is not valid.

2.2.10 ACL Services

2.2.10.1 getACLDescription: Get the ACL currently applied to the specified document or folder object.

2.2.10.1.1 InputsRequired:

ID repositoryId: The identifier for the repository. ID objectId: The identifier for the object

Optional: Boolean onlyBasicPermissions: See section 2.8 Access Control. The repository SHOULD

make a best effort to fully express the native security applied to the objecto TRUE: (default value if not provided) indicates that the client requests that the returned

ACL be expressed using only the CMIS Basic permissions.o FALSE: indicates that the server may respond using either solely CMIS Basic

permissions, or repository specific permissions or some combination of both.

2.2.10.1.2 Outputs <Array> AccessControlEntryType: The list of access control entries of the ACL for the object.

Optional: Boolean exact: An indicator that the ACL returned fully describes the permission for this object –

i.e. there are no other security constraints applied to this object. Not provided defaults to FALSE.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 117 of 236

46774678

46794680

468146824683468446854686

46874688

4689469046914692

4693

46944695

46964697469846994700470147024703470447054706

47074708470947104711

349350351

Page 118: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.10.1.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions

2.2.10.1.4 NotesThis service MUST be supported by a repository, if getRepository returns capabilityACL=discover or =manage.How an ACL for the object is computed is up to the repository. A client MUST NOT assume that the ACEs from the ACL as returned by this service can be applied via applyACL.

2.2.10.2 applyACLDescription: Adds or removes the given ACEs to or from the ACL of document or folder object.

2.2.10.2.1 InputsRequired:

ID repositoryId: The identifier for the repository. ID objectId: The identifier for the object

Optional: <Array> AccessControlEntryType addACEs: The ACEs to be added. <Array> AccessControlEntryType removeACEs: The ACEs to be removed. Enum ACLPropagation: Specifies how ACEs should be handled:

o objectonly: ACEs must be applied without changing the ACLs of other objects.

o propagate: ACEs must be applied by propagate the changes to all “"inheriting”" objects.

o repositorydetermined: Default value. Indicates that the client leaves the behavior to the repository.

2.2.10.2.2 Outputs <Array> AccessControlEntryType: The list of access control entries of the resulting ACL for the

objectOptional:

Boolean exact: An indicator that the ACL returned fully describes the permission for this object – i.e. there are no other security constraints applied to this object. Not provided defaults to FALSE.

String changeToken: See section 2.2.1.3 Change Tokens.

2.2.10.2.3 Exceptions Thrown & Conditions See section 2.2.1.4.1 General Exceptions constraint: The Repository MUST throw this exception if ANY of the following conditions are

met:o The specified object’'s Object-Type definition’'s attribute for controllableACL is FALSE.

o The value for ACLPropagation does not match the values as returned via getACLCapabilities.

o At least one of the specified values for permission in ANY of the ACEs does not match ANY of the permissionNames as returned by getACLCapability and is not a CMIS Basic permission

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 118 of 236

47124713

47144715471647174718

47194720

4721472247234724472547264727472847294730473147324733

4734473547364737473847394740

4741474247434744474547464747474847494750

352353354

Page 119: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

2.2.10.2.4 NotesThis service MUST be supported by a repository, if getRepository returns capabilityACL=manage.How ACEs are added or removed to or from the object is up to the repository – with respect to the ACLPropagation provided by the client. For “"shared”" ACEs (e.g. via inheritance), the repository MAY merge the ACEs provided with the ACEs of the ACL already applied to the object (i.e. the ACEs provided MAY not be completely added or removed from the effective ACL for the object).

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 119 of 236

475147524753475447554756

47574758

355356357

Page 120: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3 Restful AtomPub Binding3.1 OverviewThis binding is based upon the Atom (RFC4287) and Atom Publishing Protocol (RFC5023). Implementations of CMIS MUST be compliant with RFC4287 and RFC5023.

In this binding, the client interacts with the repository by acquiring the service document. The client will request the service document by the URI provided by the vendor. The client will then choose a CMIS collection, and then start accessing the repository by following the references in the returned documents.

This binding consists of a service document specifying at least CMIS service collections, atom collections, feeds and entry documents. CMIS extends the Atom and AtomPub documents utilizing the Atom and AtomPub extension mechanism. CMIS also leverages link tags to specify additional resources related to the requested resource.

When requesting a resource, optional parameters may be specified to change default behavior via query parameters.

3.1.1 NamespacesThis specification uses the following namespaces and prefixes when referring to xml or xml schema elements in the text or examples:

CMIS-Core: http://docs.oasis-open.org/ns/cmis/core/200908/ CMIS-Core: http://docs.oasis-open.org/ns/cmis/core/200908/

o Prefix: cmis

CMIS-RestAtom: http://docs.oasis-open.org/ns/cmis/restatom/200908/ CMIS-RestAtom: http://docs.oasis-open.org/ns/cmis/restatom/200908/

o Prefix: cmisra

Atom : http://www.w3.org/2005/Atom Atom : http://www.w3.org/2005/Atom

o Prefix: atom

AtomPub: http://www.w3.org/2007/app AtomPub: http://www.w3.org/2007/app

o Prefix: app

3.1.2 AuthenticationAuthentication SHOULD be handled by the transport protocol. Please see AtomPub (RFC5023) section 14.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 120 of 236

4759

476047614762

4763476447654766

47674768476947704771

477247734774

4775477647774778477947804781478247834784478547864787478847894790

479147924793

4794

358359360

Page 121: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.1.3 Response FormatsThe client can specify, in HTTP the Accept header, which formats are acceptable to the client. With this mechanism the client can chose which response format the CMIS implementation should respond with. The CMIS compliant implementation MUST support the appropriate Media Types specified in this document.

3.1.4 Optional ArgumentsThe binding supports adding optional parameters to CMIS resources to modify the default behavior. CMIS implementations MUST support arguments being specified as HTTP query string parameters.Names and valid values for HTTP query string parameters are as described in the appropriate CMIS Service descriptions [see CMIS Domain Model]. Valid values of enumeration types are also represented in the CMIS Core XML Schema

3.1.5 Errors and ExceptionsExceptions MUST be mapped to the appropriate HTTP status code.Repositories SHOULD provide sufficient information in the body of the HTTP response for a user to determine corrective action.See Section 3.2.4 HTTP Status Codes for more information.

3.1.6 RenditionsEach Rendition included in a CMIS AtomPub response is represented as an Atom link with relationship alternate.

The following attributes SHOULD be included on the link element: href: URI to the rendition content stream type: The Media Type of the Rendition cmisra:renditionKind: The Rendition Kind for the Rendition

The following attributes MAY be included title: The Filename (or name property if object) of Rendition length: The length of the rendition

3.1.7 Content StreamsThe content stream for a document SHOULD be referenced by the content src attribute as well as the edit-media link relation. A CMIS Repository MAY use different URIs for both content src attribute and the edit-media link relation for the same content stream.The following attributes SHOULD be included on the link element:

href: URI to the content stream type: The Media Type of the content stream

3.1.8 Paging of FeedsFor paging, please see the AtomPub RFC. CMIS leverages first, next, previous, and last link relations to express paging.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 121 of 236

47954796479747984799

480048014802480348044805

48064807480848094810

481148124813

48144815481648174818

4819482048214822

48234824482548264827482848294830

483148324833

361362363

Page 122: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

If the repository can include the number of items (numItems in CMIS Domain Model) in a feed, then the repository SHOULD include the cmisra:numItems extension element in the feed.

3.1.9 Services not ExposedThe following services are not exposed in this binding:

getRenditions: This is exposed as part of getObject getProperties: This is exposed as part of getObject createDocumentFromSource: This is not exposed in this binding except as the client saving the

resource and resubmitting it without the cmis:objectId. Setting ACL on Create or Checkin operations

o This is currently not possible with the REST binding. The Create or Checkin operation must be performed first. Then the dependent resource, ACL, must be retrieved and updated.

setContentStream: This does not return the new object id and change token as specified by the domain model. This is not possible without introducing a new HTTP header.

deleteContentStream: This does not return the new object id and change token as specified by the domain model. This is not possible without introducing a new HTTP header.

checkOut: This does not return whether or not content was copied. This is not possible without introducing a new HTTP header.

3.1.9.1 removePolicyThis service is exposed from the domain model in the RESTful Atom Binding. However, it is not as straightforward. To remove a policy from an object, one must do:

– Get the object.– Fetch the policies collection of the object.– Walk through the feed and find the policy object where cmis:objectId == policy id to remove.– Get the self lin of this policy object.– Perform a DELETE on this URL.

This is also the only case in the RESTful Atom Binding where an URI in a collection (policies) is specific to that collection.

3.2 HTTP

3.2.1 Entity TagCMIS changeTokens are represented as Entity Tags and follow HTTP’'s use of Entity Tags. CMIS server implementations SHOULD support Entity Tags. ChangeTokens are also provided as properties and SHOULD be provided when the object is included inside an atom entry or feed.

On updates, perform the following checks (HTTP & CMIS levels):

1. If If-Match header is sent by client, ETag value is pulled from HTTP header If-Match per RFC2616. The supplied ETag is compared against the ETag on the server. If the match fails, then status code 412 is used.

2. If cmis:changeToken property is supplied by the client, compare the supplied and the

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 122 of 236

48344835

4836483748384839484048414842484348444845484648474848484948504851

48524853485448554856485748584859

486048614862

4863

4864486548664867

48684869

487048714872487348744875

364365366

Page 123: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

cmis:changeToken on the server. If the comparison fails, then return status code 409 per CMIS.

3. If ETag and cmis:changeToken are both specified, the HTTP If-Match check should be performed first.

3.2.2 HTTP Range Repositories MAY support HTTP Range requests on Content Streams.

3.2.3 HTTP OPTIONS Method The repository MAY support the HTTP OPTIONS method on all the resources defined in this specification. If the repository supports OPTIONS, then the repository MUST at least return the HTTP methods specified for that resource in the Allow header.

3.2.4 HTTP Status CodesPlease see the HTTP specification for more information on the HTTP status codes. These are provided as guidance from the HTTP specification. If any conflict arises, the HTTP specification is authoritative.

3.2.4.1 General CMIS ExceptionsThe following listing defines the HTTP status codes that repositories MUST return for the various common exceptions defined in CMIS Domain Model.

CMIS Services Exception HTTP Status CodeinvalidArgument 400objectNotFound 404permissionDenied 403notSupported 405runtime 500constraint 409filterNotValid 400streamNotSupported 403storage 500contentAlreadyExists 409versioning 409updateConflict 409nameConstraintViolation 409

3.2.4.2 Notable HTTP Status Codes 415 Unsupported Media Type

o When a document is POST’'ed to a collection that does not support the media type of the document, this status code MUST be returned

422 Unprocessable Entity (Defined in RFC4918 Section 11.2)o When a request has been POST’'ed but cannot be processed, this status code MUST be

returned

Please see RFC2616 Section 10 for more information.cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 123 of 236

4876

48784879

48804881

4882488348844885

488648874888

48894890489148924893489448954896489748984899490049014902490349044905

4906

4907490849094910491149124913

49144915367368369

Page 124: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.3 Media TypesCMIS introduces new media types for:

a CMIS Query document (application/cmisquery+xml) a CMIS AllowableActions document (application/cmisallowableactions+xml) an Atom Document (Entry or Feed) with any CMIS Markup (application/cmisatom+xml) an Atom Feed Document with CMIS Hierarchy extensions (application/cmistree+xml) a CMIS ACL Document (application/cmisacl+xml)

In addition to those media types specified by CMIS, CMIS also leverages these media types: AtomPub Service (application/atomsvc+xml) Atom Entry (application/atom+xml;type=entry) Atom Feed (application/atom+xml;type=feed)

3.3.1 CMIS AtomMedia Type: application/cmisatom+xmlStarting tag: atom:feed or atom:entryType Parameters:

type – the semantics of the type parameter MUST be the same as the media type parameter for atom documents.

This allows clients to differentiate between repositories that require atom media type with CMIS extensions (application/cmisatom+xml) for creation and repositories that allow generic atom media type without CMIS extensions (application/atom+xml).

This is only used for CMIS repositories to advertise what media types are accepted for adding to a collection (e.g., creating resources in a collection). As such CMIS does not require specifying whether an atom feed has CMIS markup. It is included to be consistent with the Atom media type.

All feeds and entries from a CMIS repository MUST utilize the atom media type for exposing Atom resources. Please see the individual resources for more information on the media type. This provides the interoperability with Atom clients.

Example:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> </atom:author> <atom:id>urn:uuid:efe0542e-8933-4b3e-93f2-4d1caa3fc2d9</atom:id> <atom:title type="text">CMIS Example Document</atom:title> <atom:updated>2010-01-25T10:20:58.318-08:00</atom:updated>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 124 of 236

4916

4917491849194920492149224923

49244925492649274928

492949304931493249334934

4935493649374938

4939494049414942

4943494449454946

494749484949495049514952495349544955495649574958495949604961

370371372

Page 125: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:content type="text">some text</atom:content> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>invoice</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>CMIS Example Document</cmis:value> </cmis:propertyString> </cmis:properties> </cmisra:object></atom:entry>

3.3.2 CMIS QueryMedia Type: application/cmisquery+xmlStarting tag: cmis:query

This document contains the representation of a query to be executed in a CMIS repository.

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cmis:query xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmis:statement>SELECT * FROM cmis:document</cmis:statement> <cmis:searchAllVersions>true</cmis:searchAllVersions> <cmis:includeAllowableActions>false</cmis:includeAllowableActions> <cmis:includeRelationships>none</cmis:includeRelationships> <cmis:renditionFilter>*</cmis:renditionFilter> <cmis:maxItems>50</cmis:maxItems> <cmis:skipCount>0</cmis:skipCount></cmis:query>

Please also see the example documents included with the schema.

3.3.3 CMIS Allowable ActionsMedia Type: application/cmisallowableactions+xmlStarting tag: cmis:allowableActions

This document contains the representation of the allowable actions the user may perform on the referenced object.

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 125 of 236

496249634964496549664967496849694970497149724973497449754976

497749784979

49804981

4982498349844985498649874988498949904991499249934994499549964997

49984999

5000

500150025003

500450055006

500750085009

373374375

Page 126: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:allowableActions xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmis:canDeleteObject>true</cmis:canDeleteObject> <cmis:canUpdateProperties>true</cmis:canUpdateProperties> <cmis:canGetProperties>true</cmis:canGetProperties> <cmis:canGetObjectRelationships>true</cmis:canGetObjectRelationships> <cmis:canGetObjectParents>true</cmis:canGetObjectParents> <cmis:canMoveObject>true</cmis:canMoveObject> <cmis:canDeleteContentStream>true</cmis:canDeleteContentStream> <cmis:canCheckOut>true</cmis:canCheckOut> <cmis:canCancelCheckOut>true</cmis:canCancelCheckOut> <cmis:canCheckIn>true</cmis:canCheckIn> <cmis:canSetContentStream>true</cmis:canSetContentStream> <cmis:canGetAllVersions>true</cmis:canGetAllVersions> <cmis:canAddObjectToFolder>true</cmis:canAddObjectToFolder> <cmis:canRemoveObjectFromFolder>true</cmis:canRemoveObjectFromFolder> <cmis:canGetContentStream>true</cmis:canGetContentStream> <cmis:canApplyPolicy>true</cmis:canApplyPolicy> <cmis:canGetAppliedPolicies>true</cmis:canGetAppliedPolicies> <cmis:canRemovePolicy>true</cmis:canRemovePolicy> <cmis:canCreateDocument>true</cmis:canCreateDocument></cmis:allowableActions>

Please also see the example documents included with the schema.

3.3.4 CMIS TreeMedia Type: application/cmistree+xmlStarting tag: atom:feed

This document is an atom feed (application/atom+xml;type=feed) with CMIS markup to nest a hierarchy.

Please see Section 3.5.2.1 for more information.

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:title type="text">Feed for folder1</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:58.536-08:00</atom:updated> <atom:id>urn:uuid:4a80905c-f774-4a9e-a57d-bf0dae5a796e</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/cf3c076e-36e9-4ace-8fed-41e0d92dfc71/3"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 126 of 236

50105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035

50365037

5038

503950405041

50425043

50445045

5046504750485049505050515052505350545055505650575058505950605061506250635064

376377378

Page 127: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/cf3c076e-36e9-4ace-8fed-41e0d92dfc71"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/cf3c076e-36e9-4ace-8fed-41e0d92dfc71/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/cf3c076e-36e9-4ace-8fed-41e0d92dfc71/children"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/bb11830c-7d1e-4b0f-9ff2-af4857c49200"/> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4"/> <atom:id>urn:uuid:63a9c18c-5e31-4590-8462-86d181e345a4</atom:id> <atom:title type="text">CMIS Example Folder as Customer type</atom:title> <atom:updated>2010-01-25T10:20:58.536-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:58.536-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 63a9c18c-5e31-4590-8462-86d181e345a4</atom:summary> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/up"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/children"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/tree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/relationships"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 127 of 236

5065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125

379380381

Page 128: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>63a9c18c-5e31-4590-8462-86d181e345a4</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> <cmisra:pathSegment>customer</cmisra:pathSegment> <cmisra:children> <atom:feed> <atom:title type="text">CMIS Example Folder as Customer type</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:58.536-08:00</atom:updated> <atom:id>urn:uuid:51b5c0cd-e473-4492-82b3-666fbf913cf0</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/63a9c18c-5e31-4590-8462-86d181e345a4/children"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/cf3c076e-36e9-4ace-8fed-41e0d92dfc71"/> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e"/> <atom:id>urn:uuid:20cb7e68-0a7e-46ea-87e0-09fb8d85286e</atom:id> <atom:title type="text">CMIS Example Doc as Invoice type</atom:title> <atom:updated>2010-01-25T10:20:58.536-08:00</atom:updated>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 128 of 236

51265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187

382383384

Page 129: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:58.536-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 20cb7e68-0a7e-46ea-87e0-09fb8d85286e</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/20cb7e68-0a7e-46ea-87e0-09fb8d85286e/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"><cmis:value>20cb7e68-0a7e-46ea-87e0-09fb8d85286e</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> <cmisra:pathSegment>invoice1.pdf</cmisra:pathSegment> </atom:entry> </atom:feed> </cmisra:children> </atom:entry> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 129 of 236

51885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249

385386387

Page 130: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:content src="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a"/> <atom:id>urn:uuid:1de1d476-11fb-47bf-b136-8a8d0b4b030a</atom:id> <atom:title type="text">CMIS Example Doc as Invoice type</atom:title> <atom:updated>2010-01-25T10:20:58.568-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:58.568-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 1de1d476-11fb-47bf-b136-8a8d0b4b030a</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/1de1d476-11fb-47bf-b136-8a8d0b4b030a/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>1de1d476-11fb-47bf-b136-8a8d0b4b030a</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> <cmisra:pathSegment>invoice3.pdf</cmisra:pathSegment> </atom:entry></atom:feed>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 130 of 236

52505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311

5312

388389390

Page 131: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Note: This media type is used on links with relation down (see section 3.4.3.2 Hierarchy Navigation Internet Draft Link Relations). When the individual resources are returned by the CMIS repository they will use the atom media type (application/atom+xml)

Please also see the example documents included with the schema.

3.3.5 CMIS ACLMedia Type: application/cmisacl+xmlStarting tag: cmis:acl

This document specifies an Access Control List based on the schema in CMIS Domain Model.

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cmis:acl xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmis:permission> <cmis:principal> <cmis:principalId>Al Brown</cmis:principalId> </cmis:principal> <cmis:permission>cmis:read</cmis:permission> <cmis:permission>cmis:write</cmis:permission> <cmis:permission>cmis:all</cmis:permission> <cmis:permission>publish</cmis:permission> <cmis:direct>true</cmis:direct> </cmis:permission></cmis:acl>

Please also see the example documents included with the schema.

3.4 Atom Extensions for CMIS

3.4.1 Atom Element Extensions

3.4.1.1 AtomPub Workspace

3.4.1.1.1 cmisra:collectionTypeThis element is included inside the app:collection element. This specifies the cmis collection type.

3.4.1.1.2 cmisra:repositoryInfoThis element is included inside the app:workspace element. This specifies information about the CMIS repository.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 131 of 236

531353145315

53165317

5318

531953205321

53225323

5324532553265327532853295330533153325333533453355336533753385339534053415342

53435344

5345

5346

5347

5348

53495350

535153525353

391392393

Page 132: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.4.1.1.3 cmis:uritemplateThis element is included inside the app:workspace element. This specifies information about URI templates

3.4.1.2 Atom Feed

3.4.1.2.1 cmisra:numItemsThis element is included inside the atom:feed element. This specifies the number of items in the feed.

3.4.1.3 Atom Entry

3.4.1.3.1 cmisra:childrenThis element is included inside the atom:entry element. This includes the children of the atom entry. This element MUST include an atom:feed element.

3.4.1.3.2 cmisra:objectThis element is included inside the atom:entry element for CMIS Document, Folder, Relationship and Policy objects. This specifies the CMIS object information for the atom entry.

3.4.1.3.3 cmisra:pathSegmentThis element is included inside the atom:entry element for CMIS Type Definitions that are filable. This specifies the pathSegment for this object in the folder representing the feed.

3.4.1.3.4 cmisra:relativePathSegmentThis element is included inside the atom:entry element. This specifies the relative pathSegment for the object in that particular folder. This MUST be used only inside an object parents feed.

3.4.1.3.5 cmisra:typeThis element is included inside the atom:entry element for CMIS Type Definitions. This specifies the type definition the atom entry represents.

3.4.1.3.6 cmisra:contentThis element specifies the content of the atom:entry element. The content is base64 encoded in the base64 element. The elements of a cmisra:content element are:

mediaType: This contains the media type of the content as described by RFC4288. base64: This contains the base64 content of the file

This element MUST take precedence over atom:content on submission of an atom entry to a repository.

A repository MUST use the atom:content element to return back to the client the content of the document.

Note: This is required when the client has an XML document stored that is might not be well formed and thus would not be able to be included inside atom:content element.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 132 of 236

535453555356

5357

53585359

5360

536153625363

5364

536553665367

5368

536953705371

5372

537353745375

537653775378

53795380538153825383

53845385

53865387

538853895390

394395396

Page 133: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.4.2 AttributesThese attributes are in the CMIS RestAtom namespace (cmisra).

3.4.2.1 cmisra:idThis attribute is used on the atom:link element to specify the cmis id of the resource. This attribute SHOULD be on all link relations that point to a CMIS object.

This attribute MAY also be on cmisra:type. The value of the attribute on cmis:type MUST be the same as the type definition id.

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:link xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1//children/e170da7d-d322-472d-b1eb-67bdb1ec18ca/1" cmisra:id="e170da7d-d322-472d-b1eb-67bdb1ec18ca"/>

Please also see the example documents included with the schema.

3.4.2.2 cmisra:renditionKindThis attribute is used on the atom:link element with relation alternate to specify the renditionKind of the resource. This attribute SHOULD be on all link elements with relation alternate that are a CMIS rendition.

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:link xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" type="text/html" rel="alternate" href="http://cmisexample.oasis-open.org/rep1//rendition/e170da7d-d322-472d-b1eb-67bdb1ec18ca/1" cmisra:renditionKind="cmis:thumbnail"/>

Please also see the example documents included with the schema.

3.4.3 CMIS Link Relations The listing below outlines the different link relation types in CMIS. This is in addition to the link relations specified by Atom and Atom Publishing Protocol. The registry for link relations is located at http://www.iana.org/assignments/link-relations/link-relations.xhtml.

The link element with a specified relation MUST be included if client can perform the operation. The repository SHOULD omit the link relation if the operation is not available. The operation may not be

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 133 of 236

5391

53925393

539453955396

539753985399

54005401540254035404540554065407540854095410

54115412

5413

541454155416

5417541854195420542154225423542454255426

54275428

5429543054315432

543354345435

397398399

Page 134: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

available due to a variety of reasons such as access control, administrative policies, or other mechanisms.

Links may have the following attribute in addition to the ones specified by Atom and Atom Publishing Protocol:

(CMIS) id: Specifies the CMIS ID of the resource referenced by the link. Repositories SHOULD include this attribute for elements such as atom:link that point to CMIS resources that have an id.

These are the link relation types specified by CMIS:

3.4.3.1 Existing Link RelationsExisting link relations should be used where appropriate by the implementation. In addition, the following link relations are leveraged for the CMIS specification:

selfo This link relation provides the URI to retrieve this resource again.

o Service: The appropriate service that generated the atom entry or feed.

o Resources: All except AllowableActions, ACL and Content Streams

serviceo The service link relation when provided on a CMIS resource MUST point to an AtomPub

service document with only one workspace element. This workspace element MUST represent the repository containing that resource.

o Media Type: application/atomsvc+xml

o Resources: All except AllowableActions, ACL and Content Streams

describedbyo When used on a CMIS resource, this link relation MUST point to an atom entry that

describes the type of that resource. o Service: getTypeDefinition on specified object

o Media Type: application/atom+xml;type=entry

o Resources: CMIS Document, CMIS Folder, CMIS Relationship, CMIS Policy objects and CMIS Types

viao When used on an Atom Feed document, this link relation MUST point to the atom entry

representing the CMIS resource from whom this feed is derived. o Media Type: application/atom+xml;type=entry

o Resources: All CMIS Feeds and Collections

edit-mediao When used on a CMIS document resource, this link relation MUST point to the URI for

content stream of the CMIS document. This URI MUST be used to set or delete the content stream. This URI MAY be used to retrieve the content stream for the document.

o Service: setContentStream (PUT) , deleteContentStream (DELETE)

o Media Type: Specific to resource

o Resources: CMIS Document

edit

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 134 of 236

54365437

54385439544054415442

54435444

544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477

400401402

Page 135: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o When used on a CMIS resource, this link relation MUST provide an URI that can be used with the HTTP PUT method to modify the atom:entry for the CMIS resource

o Service: getObject (GET), updateProperties (PUT)

o Media Type: application/atom+xml;type=entry

o Resources: CMIS Documents, CMIS Folders, CMIS Relationships and CMIS Policies

alternateo This is used to express Renditions on a CMIS resource. See section 3.1.6 Renditions.

o Service: getContentStream for specified rendition

o Resources: CMIS Document, CMIS Folder and CMIS Policies

firsto This is used for Paging. Please see the AtomPub specification.

o Media Type: application/atom+xml;type=feed

o Resources: All Feeds

previouso This is used for Paging. Please see the AtomPub specification.

o Media Type: application/atom+xml;type=feed

o Resources: All Feeds

nexto This is used for Paging. Please see the AtomPub specification.

o Media Type: application/atom+xml;type=feed

o Resources: All Feeds

lasto This is used for Paging. Please see the AtomPub specification.

o Media Type: application/atom+xml;type=feed

o Resources: All Feeds

Please see http://www.iana.org/assignments/link-relations/link-relations.xhtml for more information on these link relations.

3.4.3.2 Hierarchy Navigation Internet Draft Link RelationsCMIS leverages the following link relations:

up o Service: getFolderParent, getObjectParents, getTypeDefnition, getObject

o Media Type: application/atom+xml;type=feed, application/atom+xml;type=entry

o Resources: CMIS Document, CMIS Folder, CMIS Type Definitions, CMIS Folder Children, CMIS Folder Descendants, CMIS FolderTree, CMIS Type Children, CMIS Type Descendants

This link relation is not included on CMIS Base Type Definitions or the CMIS Root Folder

downo Service: getChildren, getDescendants, getTypeChildren, getTypeDescendants

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 135 of 236

54785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506

550755085509551055115512551355145515551655175518

403404405

Page 136: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o Media Type:

For children: application/atom+xml;type=feed For descendants: application/cmistree+xml

The descendants feed resource when retrieved from the CMIS repository will use the Atom Feed Media Type (application/atom+xmll;type=feed)

o Resources: CMIS Folder, Type

3.4.3.3 Versioning Internet Draft Link RelationsCMIS leverages the following link relations from the Internet Draft:

version-historyo Service: getAllVersions

o Media Type: application/atom+xml;type=feed

o Resources: CMIS Document

current-versiono Service: getObjectForLatestVersion

o Media Type: application/atom+xml;type=entry

o Resources: CMIS Document

working-copyo Service: getObject for private-working-copy specified by

cmis:versionSeriesCheckedOutId propertyo Media Type: application/atom+xml;type=entry

o Resources: CMIS Document

3.4.3.4 CMIS Specific Link RelationsCMIS defines the following link relations:

o http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions

o http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions

This link relation MUST point to a resource containing a CMIS AllowableActions document for the CMIS resource containing this link relation.

Service: getAllowableActions Media Type: application/cmisallowableactions+xml Resources: CMIS Documents, CMIS Folders, CMIS Policies, and CMIS

Relationshipso http://docs.oasis-open.org/ns/cmis/link/200908/relationships

o http://docs.oasis-open.org/ns/cmis/link/200908/relationships

This link relation MUST point to a resource containing an Atom Feed of CMIS relationship resources for the CMIS resource containing this link relation.

Service: getObjectRelationships Media Type: application/atom+xml;type=feed Resources: CMIS Documents, CMIS Folders, and CMIS Policies

o http://docs.oasis-open.org/ns/cmis/link/200908/source

o http://docs.oasis-open.org/ns/cmis/link/200908/source

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 136 of 236

551955205521552255235524

552555265527552855295530553155325533553455355536553755385539

5540554155425543554455455546554755485549555055515552555355545555555655575558

406407408

Page 137: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

When used on a CMIS Relationship resource, this link relation MUST point to an atom entry document for the CMIS Resource specified by the cmis:sourceId property on the relationship.

Source Link on Relationship Media Type: application/atom+xml;type=entry Resources: CMIS Relationships

o http://docs.oasis-open.org/ns/cmis/link/200908/target

o http://docs.oasis-open.org/ns/cmis/link/200908/target

When used on a CMIS Relationship resource, this link relation MUST point to an atom entry document for the CMIS Resource specified by the cmis:targetId property on the relationship.

Target Link on Relationship Media Type: application/atom+xml;type=entry Resources: CMIS Relationships

o http://docs.oasis-open.org/ns/cmis/link/200908/policies

o http://docs.oasis-open.org/ns/cmis/link/200908/policies

This link relation MUST point to a resource containing an Atom Feed of CMIS Policy resources for the CMIS resource containing this link relation.

Service: getAppliedPolicies Media Type: application/atom+xml;type=feed Resources: CMIS Documents and CMIS Folders

o http://docs.oasis-open.org/ns/cmis/link/200908/acl

o http://docs.oasis-open.org/ns/cmis/link/200908/acl

This link relation MUST point to a resource containing a CMIS ACL document for the CMIS resource containing this link relation.

Service: getACL

Media Type: application/cmisacl+xml

Resources: CMIS Documents, CMIS Folders, CMIS Relationships, and CMIS Policies that are securable

o http://docs.oasis-open.org/ns/cmis/link/200908/changes

o http://docs.oasis-open.org/ns/cmis/link/200908/changes

This link relation MUST point to an Atom Feed containing the set of changes Service: getContentChanges Media Type: application/atom+xml;type=feed Resources: AtomPub Workspace Element in Service Document

o http://docs.oasis-open.org/ns/cmis/link/200908/foldertree

o http://docs.oasis-open.org/ns/cmis/link/200908/foldertree

Used in AtomPub Service Document to identify the folder tree for a specified folder

Service: getFolderTree Media Type: application/atom+xml;type=feed Resources: CMIS Folder, also used in AtomPub Service Document for root folder

o http://docs.oasis-open.org/ns/cmis/link/200908/typedescendantscmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 137 of 236

55595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584

5585

5586558755885589559055915592559355945595559655975598559956005601

409410411

Page 138: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants

Used in AtomPub Service Document to identify the base types descendants Service: getTypeDescendants Media Type: application/atom+xml;type=feed Resources: AtomPub Workspace Element in Service Document

o http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants

o http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants

Used in AtomPub Service Document to identify the root folder descendants Service: getDescendants for root folder Media Type: application/atom+xml;type=feed Resources: AtomPub Workspace Element in Service Document

3.5 Atom ResourcesFor all Atom Resources used in this specification, the following MUST be followed:

3.5.1 Feeds Any feed MUST be a valid Atom Feed document and conform to the guidelines below for cmis objects:

atom:updated SHOULD be the latest time the folder or its contents was updated. If unknown by the underlying repository, it MUSTbe the current time.

atom:author/atom:name MUST be the CMIS property cmis:createdBy atom:title MUST be the CMIS property cmis:name The atom:link with relation self MUST be generated to return the URI of the feed. If paging or any

other mechanism is used to filter, sort, or change the representation of the feed, the URI MUST point back a resource with the same representation.

A feed SHOULD contain the element app:collection, describing the appropriate media types supported for creation of new entries in the feed

atom:id SHOULD be derived from cmis:objectId. This id MUST be compliant with atom’'s specification and be a valid URI.

Feeds MAY be paged via the link relations specified in AtomPub. If more items are available than contained in the feed, then a link with the relation next MUST be included in the feed.

Any feed MUST be a valid Atom Feed document and conform to the guidelines below for cmis types: atom:updated SHOULD be the latest time type definition was updated. If unknown by the

underlying repository, it MUSTbe the current time. atom:author/atom:name is repository specific atom:title MUST be the displayName attribute of the CMIS Type Definition. The atom:link with relation self MUST be generated to return the URI of the feed atom:id SHOULD be derived from the id attribute of the CMIS Type Definition. This id MUST be

compliant with atom’'s specification and be a valid URI. Feeds MAY be paged via the link relations specified in AtomPub. If more items are available than

contained in the feed, then a link with the relation next MUST be included in the feed.

If on the root type, all fields are repository specific.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 138 of 236

56025603560456055606560756085609561056115612

5613

56145615

561656175618561956205621562256235624562556265627562856295630

56315632563356345635563656375638563956405641

56425643

412413414

Page 139: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Ordering of entries in a feed is repository-specific if orderBy argument is not specified. If orderBy argument is specified, the order of the entries in the feed SHOULD conform to the ordering specified by the orderBy argument.

Note: Please see feedvalidator.org to validate Atom compliance.

3.5.2 EntriesAt any point where an Atom document of type Entry is sent or returned, it must be a valid Atom Entry document and conform to the guidelines below for a cmis object:

atom:title MUST be the cmis:name property app:edited MUST be cmis:lastModifiedcationDate atom:updated MUST be cmis:lastModifiedcationDate atom:published MUST be cmis:createdionDate atom:author/atom:name MUST be cmis:createdBy All CMIS properties MUST be exposed in CMIS cmis:properties elements even if they are

duplicated in an atom element atom:id SHOULD be derived from cmis:objectId. This id MUST be compliant with atom’'s

specification and be a valid UIRI. The repository SHOULD populate the atom:summary tag with text that best represents a

summary of the object. For example, an HTML table containing the properties and their values or the description of the document if available.

For Documents that support Content Streams:The repository SHOULD use the atom:content/src attribute to point to the content stream. The client SHOULD use cmisra:content if the content is not well-formed or would have trouble fitting inside an atom:content element. The repository MUST use the cmisra:content element if provided by the client over the atom:content element.

Other Objects (Folders, Relationships, and other Document Types that do not support Content Streams, etc):

The repository MUST comply with the atom specification and have an atom:content element. This is repository specific. Any value in the content field MUST be ignored if the atom entry represents a non-document object by the CMIS repository when the atom entry is POST’'ed to a collection or sent to the repository via a PUT.

When POSTing an Atom Document, the Atom elements MUST take precedence over the corresponding writable CMIS property. For example, atom:title will overwrite cmis:name.

At any point where an Atom document of CMIS Type is sent or returned, it must be a valid Atom Entry document and conform to the guidelines below for a cmis type definition:

atom:title MUST be the cmis:displayName The repository SHOULD populate the atom:summary tag with text that best represents a

summary of the object. For example, the type description if available. The repository MUST comply with the atom specification and have an atom:content element. This

is repository specific. Any value in the content field MUST be ignored if the atom entry represents

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 139 of 236

5644564556465647

56485649

565056515652565356545655565656575658565956605661566256635664

566556665667566856695670

5671567256735674567556765677

567856795680

56815682568356845685568656875688

415416417

Page 140: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

a non-document object by the CMIS repository when the atom entry is POST’'ed to a collection or sent to the repository via a PUT.

Any atom element that is not specified is repository-specific.

3.5.2.1 Hierarchical Atom EntriesThe repository SHOULD NOT provide any links to hierarchical objects if those capabilities are not supported with the exception of getTypeDescendants which is required

For atom entries that are hierarchical such as Folder Tree or Descendants, the repository MUST populate a cmisra:children element in the atom:entry with the enclosing feed of its direct children. This pattern continues until the depth is satisfied.

The cmisra:children element MUST include an atom:feed element that contains the children entries of this resource.

If an entry does not contain cmisra:children element, then the entry MAY have children even though it is not represented in the atom entry.

For Example, here is a minimal Atom Entry with CMIS Children Extension Element:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef"/> <atom:id>urn:uuid:af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef</atom:id> <atom:title type="text">CMIS Example Folder as Customer type</atom:title> <atom:updated>2010-01-25T10:20:57.818-08:00</atom:updated> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> <cmisra:pathSegment>customer</cmisra:pathSegment> <cmisra:children> <atom:feed> <atom:title type="text">CMIS Example Folder as Customer type</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:57.818-08:00</atom:updated> <atom:id>urn:uuid:ce2d65af-b246-454b-90ff-0986d9b05178</atom:id>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 140 of 236

56895690

569156925693

569456955696

5697569856995700

570157025703

570457055706

570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742

418419420

Page 141: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef/children"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/2eb09309-58f7-4627-b735-4d5cf4ba6554"/> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef"/> <atom:id>urn:uuid:af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef</atom:id> <atom:title type="text">CMIS Example Child of Folder</atom:title> <atom:updated>2010-01-25T10:20:57.818-08:00</atom:updated> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> <cmisra:pathSegment>document</cmisra:pathSegment> </atom:entry> </atom:feed> </cmisra:children></atom:entry>

Please also see the example documents included with the schema.

3.6 AtomPub Service Document (Repository)The AtomPub Service Document contains the set of repositories that are available. Each repository is mapped to a app:workspace element in the AtomPub Service document.

CMIS Services exposed:GET: getRepositories, getRepositoryInfo

Media Type: application/atomsvc+xml

How the client will get the initial AtomPub (APP) service document or the URI for the service document is repository specific. Examples are via URI, or loading the service document from disk. cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 141 of 236

574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787

5788

578957905791

579257935794

57955796

579757985799421422423

Page 142: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The service document will be available from Atom Entry and Atom Feed documents via a link relationship, service. That AtomPub service document MUST contain only one workspace element which MUST be the workspace representing the repository containing the Atom Entry or Atom Feed document.

A workspace element for a CMIS repository MUST have a collection element for each of following collections: Each collection MUST also contain a cmisra:collectionType element with the given value:

Root Folder Children Collection: Root folder of the Repositoryo ‘'root’' for the children collection of the root folder

o cmisra:collectiontype=’'root’'

Types Children Collection: Collection containing the base types in the repositoryo ‘'types’' for the children collection

o cmisra:collectiontype=’'types’'

The workspace element SHOULD contain these collections if the repository supports this functionality: CheckedOut collection: collection containing all checked out documents user can see

o ‘'checkedout’'

o cmisra:collectiontype=’'checkedout’'

Query collection: Collection for posting queries to be executedo ‘'query’'

o cmisra:collectiontype=’'query’'

Unfiled folder: Folder for posting documents to be unfiled; read can be disabledo ‘'unfiled’'

o cmisra:collectiontype=’'unfiled’'

The repository MUST include the URI templates in the workspace elements.

The workspace element MUST also contain the following link element with the relation: http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants:http://docs.oasis-open.org/ns/

cmis/link/200908/typedescendants: This link relation points to the types descendants for the base types in the repository.

The workspace element MUST contain the following link elements of the following relations for those services which are supported by the repository:

http://docs.oasis-open.org/ns/cmis/link/200908/foldertree:http://docs.oasis-open.org/ns/cmis/link/200908/foldertree: This link relation points to the folder tree of the root folder. See Folder Tree resource for more information.

http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants:http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants: This link relation points to the Root Folder Descendants Feed for the root folder.

http://docs.oasis-open.org/ns/cmis/link/200908/changes:http://docs.oasis-open.org/ns/cmis/link/200908/changes:This link relation points to the changes feed for the repository.

The workspace element may include app:collection element for the collections that represent folders in the repository. However, an alternative approach, especially for a repository with many folders, is to not cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 142 of 236

5800580158025803

5804580558065807580858095810581158125813581458155816581758185819582058215822582358245825

58265827582858295830

58315832583358345835583658375838583958405841

58435844424425426

Page 143: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

enumerate those collections here, but include the app:collection element per RFC5023 in the Atom Feed document.

3.6.1 URI Templates

CMIS defines the following URI Templates: objectbyid objectbypath query typebyid

Repositories MUST provide the following URI Templates: objectbyid objectbypath typebyid

Repositories MUST provide the URI Template query if the repository supports query.

URI Templates MUST only be used with HTTP GET.

Repositories MAY extend that set of templates. Those URI Template Types will be repository specific. Repositories MAY have more than one entry per URI Template type if the entries have different media types.

URI Templates are simple replacement of the template parameter with the specified value. If a client does not want to specify a value for some of these variables, then the client MUST substitute an empty string for the variable.

For example, if the URI template that supports the variable {id} ishttp://example.org/rep1/getbyid/{id}

If the client wants to find the entry for an object with an id of ‘obj_1’'obj_1' then the URI would be:http://example.org/rep1/getbyid/obj_1

Arguments that are substituted for URI template parameters MUST be percent escaped according to RFC3986. Please see that RFC for more information.

All variables MUST be in the template.

Structure of URI Template:<xs:complexType name="cmisUriTemplateType">

<xs:sequence><xs:element name="template" type="xs:string" /><xs:element name="type" type="xs:string" /><xs:element name="mediatype" type="xs:string" />

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 143 of 236

58455846

5847

584858495850585158525853

58545855585658575858

58595860

58615862

5863586458655866

5867586858695870

587158725873

587458755876

587758785879

58805881

5882588358845885588658875888

427428429

Page 144: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<xs:any processContents="lax" namespace="##other" minOccurs="0"

maxOccurs="unbounded" /></xs:sequence>

</xs:complexType>

Example of URI Template element in an AtomPub Workspace Element:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cmisra:uritemplate xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmisra:template>http://cmisexample.oasis-open.org/rep1/objectbyid/{id}?filter={filter}&amp;includeAllowableActions={includeAllowableActions}&amp;includePolicyIds={includePolicyIds}&amp;includeRelationships={includeRelationships}&amp;includeACL={includeACL}</cmisra:template> <cmisra:type>objectbyid</cmisra:type> <cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype></cmisra:uritemplate>

Please also see the example documents included with the schema.

3.6.1.1 Object By Id This URI template provides a method for creating an URI that directly accesses an atom entry representing documents, folders, policies or relationship objects. See section 3.10 for more information.

Type: objectbyidMedia Type: application/atom+xml;type=entry

Service: getObjectById

Variables that are supported by the template: {id}: Id of object {filter}: Property Filter {includeAllowableActions}

o Valid values: true, false

{includePolicyIds}: Include Policy Ids:o Valid values: true, false

{includeRelationships}: Include relationshipso Valid values: See enumIncludeRelationships

{includeACL}: Include ACLso Valid values: true, false

{renditionFilter}o Valid values: Please see renditionFilter in CMIS Domain Model

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 144 of 236

58895890589158925893

58945895589658975898589959005901590259035904590559065907590859095910

59115912

5913

591459155916

591759185919

59205921

59225923592459255926592759285929593059315932593359345935

430431432

Page 145: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cmisra:uritemplate xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmisra:template>http://cmisexample.oasis-open.org/rep1/objectbyid/{id}?filter={filter}&amp;includeAllowableActions={includeAllowableActions}&amp;includePolicyIds={includePolicyIds}&amp;includeRelationships={includeRelationships}&amp;includeACL={includeACL}</cmisra:template> <cmisra:type>objectbyid</cmisra:type> <cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype></cmisra:uritemplate>

Please also see the example documents included with the schema.

3.6.1.2 Object By PathThis URI template provides a method for creating an URI that directly accesses an atom entry representing documents, folders or policy objects. See section 3.10 for more information.

Type: objectbypathMedia Type: application/atom+xml;type=entry

Service: getObjectByPath

Variables that are supported by the template: {path}: Path of Object {filter}: Property Filter {includeAllowableActions}: Boolean for include Allowable Actions

o Valid values: true, false

{includePolicyIds}: Include Policy Ids:o Valid values: true, false

{includeRelationships}: Include relationshipso Valid values: See enumIncludeRelationships

{includeACL}: Include ACLso Valid values: true, false

{renditionFilter}o Valid values: Please see renditionFilter in CMIS Domain Model

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 145 of 236

59365937593859395940594159425943594459455946594759485949595059515952

59535954

595559565957

595859595960

59615962

596359645965596659675968596959705971597259735974597559765977597859795980

433434435

Page 146: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmisra:uritemplate xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmisra:template>http://cmisexample.oasis-open.org/rep1/objectbypath?p={path}&amp;filter={filter}&amp;includeAllowableActions={includeAllowableActions}&amp;includePolicyIds={includePolicyIds}&amp;includeRelationships={includeRelationships}&amp;includeACL={includeACL}</cmisra:template> <cmisra:type>objectbypath</cmisra:type> <cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype></cmisra:uritemplate>

Please also see the example documents included with the schema.

3.6.1.3 QueryType: queryMedia Type: application/atom+xml;type=feed

Service: query

Variables that are supported by the template: {q}: CMIS Query Statement {searchAllVersions}: Boolean, true if to search all versions {maxItems}: Integer, Max items to return {skipCount}: Integer, Items to skip {includeAllowableActions}: Boolean {includeRelationships}: Boolean

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cmisra:uritemplate xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmisra:template>http://cmisexample.oasis-open.org/rep1/query?q={q}&amp;searchAllVersions={searchAllVersions}&amp;maxItems={maxItems}&amp;skipCount={skipCount}&amp;includeAllowableActions={includeAllowableActions}=&amp;includeRelationships={includeRelationships}</cmisra:template> <cmisra:type>query</cmisra:type> <cmisra:mediatype>application/atom+xml;type=feed</cmisra:mediatype></cmisra:uritemplate>

Please also see the example documents included with the schema.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 146 of 236

59815982598359845985598659875988598959905991599259935994

59955996

5997

599859996000

60016002

60036004600560066007600860096010

601160126013601460156016601760186019602060216022602360246025602660276028

60296030

436437438

Page 147: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.6.1.4 Type By IdType: typebyidMedia Type: application/atom+xml;type=entry

Service: getTypeDefinition

Variables that are supported by the template: {id}: CMIS Type Id

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cmisra:uritemplate xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmisra:template>http://cmisexample.oasis-open.org/rep1/type?id={id}</cmisra:template> <cmisra:type>query</cmisra:type> <cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype></cmisra:uritemplate>

Please also see the example documents included with the schema.

3.6.2 HTTP Methods

3.6.2.1 GETThis retrieves the AtomPub Service document for a specified repository. This exposes the capabilities defined in getRepositories and getRepositoryInfo in the Domain Model.

The optional argument MAY be specified: repositoryId:

o This query parameter allows a client to specify a different repository than the one that is referenced by the URI.

o If specified, the repository MUST return the AtomPub services document for the specified repository if that repository exists.

o If not specified, the repository MUST return the service document for the repository that is referenced by URI.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 147 of 236

6031

603260336034

60356036

603760386039

604060416042604360446045604660476048604960506051605260536054

60556056

60576058

6059

606060616062

606360646065606660676068606960706071

6072

439440441

Page 148: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.7 Service CollectionsThese are the collections that are included on an AtomPub Service document in the workspace element.For any HTTP verb not specified on a resource,each implementation MAY chose to implement that HTTP verb in a repository-specific manner.

3.7.1 Root Folder CollectionThis is a collection described in the service document. Please see Folder Children.Folder Children.

3.7.2 Query CollectionThis is a collection for processing queries. If the implementation supports GET on this collection, then the implementation SHOULD at least return a feed consisting of zero or more atom entries. These atom entries should represent persisted objects related to query such as persisted queries, long running queries or search templates.

CMIS Services exposed via HTTP verbs:POST: Query

Media Type: application/atom+xml;type=feedAccept:

MUST support CMIS Query document, MAY support other media type

Link Relations on resulting feed from Query Collection: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

paging link relations as appropriate: first, next, previous, last

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:object inside atom:entry

3.7.2.1 POSTThis collection MUST accept CMIS Query documents (application/cmisquery+xml).

Upon submission (creation) of a query document, a response must be returned with a Location header representing the feed for that query. If the query cannot be performed and an atom feed returned, the repository MUST return the appropriate HTTP status code. In addition, the server SHOULD return the feed directly. If the server does so, the server should also return the Content-Location header.

The feed returned MUST contain a set of atom entries representing the result set from the query.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 148 of 236

6073607460756076

60776078

60796080608160826083

608460856086

60876088608960906091

609260936094609560966097

609860996100

610161026103

6104

61056106

61076108610961106111

61126113

442443444

Page 149: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The atom entries should contain the bare minimum necessary for Atom compliance [RFC4287]. The atom entries MUST contain the CMIS extension element (cmisra:object) containing the properties specified by the query in the select clause of the query statement.

If all the selected properties can be mapped to the same type reference, then the repository MAY include additional information in the atom entry.

Please see http://tools.ietf.org/html/rfc5023#section-5.3.

Status Codes: 201 Success

Headers returned: Location Header Content-Location Header

Link Relations on resulting feed from POST to Query Collection: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

paging link relations as appropriate: first, next, previous, last

Example client request:POST /Query HTTP/1.1Host: example.orgContent-Length: 756Content-Type: application/cmisquery+xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cmis:query xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmis:statement>SELECT cmis:objectId FROM cmis:document</cmis:statement> <cmis:searchAllVersions>true</cmis:searchAllVersions> <cmis:includeAllowableActions>false</cmis:includeAllowableActions> <cmis:includeRelationships>none</cmis:includeRelationships> <cmis:renditionFilter>*</cmis:renditionFilter> <cmis:maxItems>50</cmis:maxItems> <cmis:skipCount>0</cmis:skipCount></cmis:query>

Example server response:HTTP/1.1 201 CreatedDate: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 1830Content-Type: application/atom+xml;type=feedContent-Location: http://cmisexample.oasis-open.org/rep1/queryresult/44ce5b47-ebc3-4513-86e0-d3f46c77d0a8

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 149 of 236

6114611561166117

611861196120

61216122

6123612461256126612761286129613061316132613361346135

613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159

61606161616261636164616561666167

445446447

Page 150: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Location: http://cmisexample.oasis-open.org/rep1/queryresult/44ce5b47-ebc3-4513-86e0-d3f46c77d0a8

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:feed xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:title type="text">CMIS Query Result for SELECT cmis:objectId FROM cmis:document</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:21:00.427-08:00</atom:updated> <atom:id>urn:uuid:811b1b9b-80f5-4788-b46c-aa77564e294b</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/11355977-434b-4e71-b83a-77dea9878e04/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/a3386ea0-0477-4a74-96bd-70d3da1c483a"/> <atom:id>urn:uuid:a3386ea0-0477-4a74-96bd-70d3da1c483a</atom:id> <atom:title type="text">Resulting Document</atom:title> <atom:updated>2010-01-25T10:21:00.427-08:00</atom:updated> <cmisra:object> <cmis:properties> <cmis:propertyId queryName="cmis:objectId" localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>a3386ea0-0477-4a74-96bd-70d3da1c483a</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> </atom:entry></atom:feed>

Please also see the example documents included with the schema.

3.7.3 Checked Out CollectionThis is a collection described in the service document that contains the private working copies (PWCs) of the checkedout documents in the repository.CMIS Services:

GET: getCheckedOutDocs POST: checkOut

Media Type: application/atom+xml;type=feedAccept:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 150 of 236

61686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214

6215

62166217621862196220622162226223

448449450

Page 151: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

MUST support Atom Entry Documents with CMIS extensions o application/atom+xml;type=entry or

o application/cmisatom+xml

MAY support other media type

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

paging link relations as appropriate: first, next, previous, last

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:object inside atom:entry

3.7.3.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter folderId maxItems skipCount renditionFilter includeAllowableActions includeRelationships

3.7.3.2 POSTWhen an atom entry is POST’'ed to this collection, the atom entry will be checked out. A Content-Location header MUST be returned containing the location of the private working copy.

Example client request:POST /CheckedOut HTTP/1.1Host: example.orgContent-Length: 1044Content-Type: application/atom+xml;type=entry

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 151 of 236

6224622562266227

622862296230623162326233

623462356236

623762386239

6240

624162426243624462456246624762486249

625062516252

6253625462556256625762586259626062616262626362646265626662676268

451452453

Page 152: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

</atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/8d32d716-701b-4491-84e8-ad57c8230940"/> <atom:id>urn:uuid:8d32d716-701b-4491-84e8-ad57c8230940</atom:id> <atom:title type="text">CMIS Example Document to checkout</atom:title> <atom:updated>2010-01-25T10:21:00.380-08:00</atom:updated> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>8d32d716-701b-4491-84e8-ad57c8230940</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Example server response:HTTP/1.1 201 CreatedDate: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 7846Content-Type: application/atom+xml;type=entryContent-Location: http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbeLocation: http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe"/> <atom:id>urn:uuid:6cce57fc-4e31-491c-8fab-4aa6e6797dbe</atom:id> <atom:title type="text">CMIS Example Child of Folder</atom:title> <atom:updated>2010-01-25T10:21:00.396-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:21:00.396-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 6cce57fc-4e31-491c-8fab-4aa6e6797dbe</atom:summary>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 152 of 236

62696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330

454455456

Page 153: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/acl"/> <atom:link type="application/atom+xml;type=feed" rel="working-copy" href="http://cmisexample.oasis-open.org/rep1/6cce57fc-4e31-491c-8fab-4aa6e6797dbe/pwc"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>6cce57fc-4e31-491c-8fab-4aa6e6797dbe</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>customer</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>CMIS Example Child of Folder</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:21:00.396-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:21:00.396-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:document</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 153 of 236

63316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392

457458459

Page 154: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:propertyBoolean localName="rep-cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion"> <cmis:value>true</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut"> <cmis:value>true</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isImmutable" propertyDefinitionId="cmis:isImmutable"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyString localName="rep-cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"> <cmis:value>Checkin comment</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"> <cmis:value>0.1</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType"> <cmis:value>text/plain</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName"> <cmis:value>text.txt</cmis:value> </cmis:propertyString> <cmis:propertyInteger localName="rep-cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength"> <cmis:value>4234</cmis:value> </cmis:propertyInteger> <cmis:propertyString displayName="Keywords for Document" localName="keywords" propertyDefinitionId="keywords"> <cmis:value>document</cmis:value> <cmis:value>example</cmis:value> <cmis:value>sample</cmis:value> <cmis:value>cmis</cmis:value> </cmis:propertyString> <cmis:propertyId localName="rep-cmis:versionSeriesCheckedOutId" propertyDefinitionId="cmis:versionSeriesCheckedOutId"> <cmis:value>6cce57fc-4e31-491c-8fab-4aa6e6797dbe</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:versionSeriesCheckedOutBy" propertyDefinitionId="cmis:versionSeriesCheckedOutBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> </cmis:properties> </cmisra:object></atom:entry>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 154 of 236

63936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454

460461462

Page 155: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Please also see the example documents included with the schema.

3.7.4 Unfiled CollectionThis is a collection described in the service document that contains all the unfiled documents in the repository. This collection MUST be available if un-filing or multi-filing is supported by the repository. A repository that supports un-filing MAY provide read access (GET). If read access is not provided, the repository SHOULD respond to a read attempt with the HTTP status code 405 (notSupported).CMIS Services:

POST: removeObjectFromFolderMedia Type: application/atom+xml;type=feedAccept:

MUST support Atom Entry Documents with CMIS extensions o application/atom+xml;type=entry or

o application/cmisatom+xml

MAY support other media type

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

paging link relations as appropriate: first, next, previous, last

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:object inside atom:entry

3.7.4.1 POSTThis removes the object from all folders in the repository by default. If the optional argument removeFrom is specified, the object will only be removed from that folder only.

If the Atom Entry POST’'ed, does not have the CMIS extensions with a valid cmis:objectId property, the document does not exist, or the document is not in that folder, the appropriate HTTP status code MUST be returned.

This adheres to AtomPub model. Please see http://tools.ietf.org/html/rfc5023#section-5.3. HTTP Success: 201 Location Header

The following arguments may be supplied. Please see the domain model for more information:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 155 of 236

6455

6456

6457645864596460646164626463646464656466646764686469

647064716472647364746475

647664776478

647964806481

6482

648364846485

6486648764886489

6490649164926493

64946495

463464465

Page 156: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

removeFrom: For repositories which support multi-filing, this parameter identifies which folder to remove this object from. If specified, it indicates the folder from which the object shall be moved. If not specified, the object will be removed from all folders.

Example client request:POST /Unfiled HTTP/1.1Host: example.orgContent-Length: 1043Content-Type: application/atom+xml;type=entry

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/12aa2bec-6f43-47d1-99ef-21797867173c"/> <atom:id>urn:uuid:12aa2bec-6f43-47d1-99ef-21797867173c</atom:id> <atom:title type="text">CMIS Example Document to unfiled</atom:title> <atom:updated>2010-01-25T10:21:00.427-08:00</atom:updated> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>12aa2bec-6f43-47d1-99ef-21797867173c</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Example server response:HTTP/1.1 201 CreatedDate: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 7234Content-Type: application/atom+xml;type=entryContent-Location: http://cmisexample.oasis-open.org/rep1/queryresult/15118373-8911-442b-9774-da3b102f224cLocation: http://cmisexample.oasis-open.org/rep1/queryresult/15118373-8911-442b-9774-da3b102f224c

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 156 of 236

649664976498

649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555

466467468

Page 157: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:id>urn:uuid:15118373-8911-442b-9774-da3b102f224c</atom:id> <atom:title type="text">CMIS Example Document to unfiled</atom:title> <atom:updated>2010-01-25T10:21:00.443-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:21:00.443-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 15118373-8911-442b-9774-da3b102f224c</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/15118373-8911-442b-9774-da3b102f224c/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>15118373-8911-442b-9774-da3b102f224c</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>customer</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>CMIS Example Document to unfiled</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:21:00.443-08:00</cmis:value>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 157 of 236

655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618

469470471

Page 158: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

</cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:21:00.443-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:document</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyBoolean localName="rep-cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion"> <cmis:value>true</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isImmutable" propertyDefinitionId="cmis:isImmutable"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyString localName="rep-cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"> <cmis:value>Checkin comment</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"> <cmis:value>0.1</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType"> <cmis:value>text/plain</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName"> <cmis:value>text.txt</cmis:value> </cmis:propertyString> <cmis:propertyInteger localName="rep-cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength"> <cmis:value>4234</cmis:value> </cmis:propertyInteger> <cmis:propertyString displayName="Keywords for Document" localName="keywords" propertyDefinitionId="keywords"> <cmis:value>document</cmis:value> <cmis:value>example</cmis:value> <cmis:value>sample</cmis:value>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 158 of 236

661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681

472473474

Page 159: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:value>cmis</cmis:value> </cmis:propertyString> </cmis:properties> </cmisra:object></atom:entry>

Please also see the example documents included with the schema.

3.7.5 Types Children CollectionThis is a collection described in the service document that contains the types in the repository under the specified parent type. If no parent type is specified, then the base types are returned in the feed. This feed does not include any nesting and is a flat feed.CMIS Services:GET: getTypeChildrenMedia Type: application/atom+xml;type=feed

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

via: points to the type definition entry whose children represent this feed down: points to the atom feed document representing the descendents collection for this same

type with media type of application/cmistree+xml paging link relations as appropriate: first, next, previous, last up: points to the parent type definition

o If this is a children feed for a base object type, this link is not present.

This feed contains a set of atom entries for each child type definition.

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:type inside atom:entry

3.7.5.1 GETThe following arguments may be supplied. Please see the domain model for more information:

includePropertyDefinitions maxItems skipCount typeId

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 159 of 236

66826683668466856686668766886689

6690

6691669266936694669566966697

6698669967006701670267036704670567066707670867096710

671167126713

671467156716

67176718

671967206721672267236724

475476477

Page 160: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.8 CollectionsFor any HTTP verb not specified on a resource,each implementation MAY chose to implement that HTTP verb in a repository-specific manner.

3.8.1 Relationships CollectionThis is the set of relationships available (either source or target or both) from a specific item such as a document, folder or policy. CMIS Services:

GET: getObjectRelationshipsPOST: createRelationship

Media Type: application/atom+xml;type=feedAccept:

MUST support Atom Entry Documents with CMIS extensions o application/atom+xml;type=entry or

o application/cmisatom+xml

MAY support other media type

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

paging link relations as appropriate: first, next, previous, last

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:object inside atom:entry

3.8.1.1 GETThe following arguments may be supplied. Please see the domain model for more information:

typeId includeSubRelationshipTypes relationshipDirection maxItems skipCount filter includeAllowableActions

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 160 of 236

672567266727

6728

672967306731673267336734673567366737673867396740

674167426743674467456746

674767486749

675067516752

6753

675467556756675767586759676067616762

478479480

Page 161: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.8.1.2 POSTWhen an atom entry with CMIS markup is posted to this collection, if that atom entry represents a new CMIS relationship, then that relationship will be created.The server MUST return the appropriate HTTP status code if the source is different than the sourceId or target different than the targetId for the source and targets specified in this collection.The server MUST return the appropriate status code if the cmis:objectTypeId is not specified.

Example client request:POST /relationships/source/dbf0316c-47b5-47c9-a2fa-f005eb93f0a4 HTTP/1.1Host: example.orgContent-Length: 1432Content-Type: application/atom+xml;type=entry

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/dab97641-8c94-4a12-a604-7532980f05cb"/> <atom:id>urn:uuid:dab97641-8c94-4a12-a604-7532980f05cb</atom:id> <atom:title type="text">New Relationship</atom:title> <atom:updated>2010-01-25T10:20:58.864-08:00</atom:updated> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>customerRelationships</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:sourceId" propertyDefinitionId="cmis:sourceId"> <cmis:value>dbf0316c-47b5-47c9-a2fa-f005eb93f0a4</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:targetId" propertyDefinitionId="cmis:targetId"> <cmis:value>b9baac7d-7584-445e-bcd1-29af9b25bf2f</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Example server response:HTTP/1.1 201 CreatedDate: Mon, 25 Jan 2010 10:20:58 -0800Content-Length: 4684Content-Type: application/atom+xml;type=entryContent-Location: http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495Location: http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 161 of 236

676367646765676667676768

6769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820

481482483

Page 162: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495"/> <atom:id>urn:uuid:b3006a8f-345b-4c27-86df-3f4b157bb495</atom:id> <atom:title type="text">New Relationship</atom:title> <atom:updated>2010-01-25T10:20:58.880-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:58.880-08:00</atom:published> <atom:summary type="html">HTML summary of Entry b3006a8f-345b-4c27-86df-3f4b157bb495</atom:summary> <atom:link type="application/atom+xml;type=entry" rel="http://docs.oasis-open.org/ns/cmis/link/200908/source" href="http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495/source"/> <atom:link type="application/atom+xml;type=entry" rel="http://docs.oasis-open.org/ns/cmis/link/200908/target" href="http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495/target"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/b3006a8f-345b-4c27-86df-3f4b157bb495/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>b3006a8f-345b-4c27-86df-3f4b157bb495</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>customerRelationships</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>New Relationship</cmis:value> </cmis:propertyString>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 162 of 236

682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883

484485486

Page 163: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:20:58.880-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:20:58.880-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:relationship</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyId localName="rep-cmis:sourceId" propertyDefinitionId="cmis:sourceId"> <cmis:value>d4551c6d-30bd-4fc2-9c84-a55f11559e89</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:targetId" propertyDefinitionId="cmis:targetId"> <cmis:value>fe7e056f-c4bf-42f1-a03e-3ababcf2491d</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Please also see the example documents included with the schema.

3.8.2 Folder Children CollectionThis is a collection comprised of all the direct children of a particular folder represented as a feed.CMIS Services:

GET: getChildrenPOST:

createDocumentor createFolder or createPolicyor moveObjector addObjectToFolder

Media Type: application/atom+xml;type=feed

Accept: MUST support Atom Entry Documents with CMIS extensions MAY support other media type

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 163 of 236

6884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917

6918

6919692069216922692369246925692669276928

69296930

6931693269336934

6935487488489

Page 164: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

via: points to the atom entry of the folder generating this collection up: points to the atom entry document for this folder’'s parent

o If the root folder, this link relation MUST NOT be included.

o Media Type: application/atom+xml;type=entry

down: points to the atom feed document representing the descendents feed with a media type of application/cmistree+xml

o If a repository does not support capabilityGetDescendants, then this link SHOULD NOT be included.

http://docs.oasis-open.org/ns/cmis/link/200908/foldertree:http://docs.oasis-open.org/ns/cmis/link/200908/foldertree: Points to the folder tree for this folder. This is represented as a feed with CMIS hierarchy extensions.

o Media Type: application/atom+xml;type=feed

paging link relations as appropriate: first, next, previous, last

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:object inside atom:entry cmisra:pathSegment inside atom:entry if pathSegment is not false

3.8.2.1 GETHTTP Code:

200 OK (Success)

The following arguments may be supplied. Please see the domain model for more information: maxItems skipCount filter includeAllowableActions includeRelationships renditionFilter

o If specified, renditions will be returned as links with relation alternate. orderBy includePathSegment

3.8.2.2 POSTCMIS repositories MUST be compliant with RFC5023 for POSTing new entries into a collection. Please see http://tools.ietf.org/html/rfc5023#section-5.3.

HTTP Success: 201 Location Header

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 164 of 236

69366937693869396940694169426943694469456946694769486949695069516952

695369546955

6956695769586959

6960

69616962696369646965696669676968696969706971697269736974

69756976697769786979

490491492

Page 165: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The following arguments MAY be supplied. sourceFolderId: This parameter indicates the folder from which the object shall be moved from to

the current specified folder. This parameter is not allowed for create operations.o If specified moveObject will be performed.

o If not specified, addObjectToFolder will be performed.

versioningState: The optional argument versioningState MAY specify additional versioning behavior such as checkIn as major or minor. Please see CMIS Domain Model for more information on this parameter.

POSTing an Atom Entry document with CMIS markup: Adding a document to a folder:If the atom entry has a cmis property cmis:objectId that is valid for the repository, the object will be added to the folder.

When an object is added to the folder, in repositories that do not support multi-filing it will be removed from the previous folder and the operation treated as move. If the repository supports multiple folders, it will be added to the new folder. If the optional argument sourceFolderId is specified, then the object will be removed from the folder specified.

If atom:content is missing from the request, the repository MUST treat the missing atom:content element as an empty atom:content element.Example client request:

POST /obj/1cd0d82f-d579-4897-9b0a-ad0917595445?sourceFolderId=313fd58d-2eab-41af-9517-06dadb010d49 HTTP/1.1Host: example.orgContent-Length: 1227Content-Type: application/atom+xml;type=entry

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> </atom:author> <atom:id>urn:uuid:1cd0d82f-d579-4897-9b0a-ad0917595445</atom:id> <atom:title type="text">Document - To Be Moved</atom:title> <atom:updated>2010-01-25T10:20:58.708-08:00</atom:updated> <atom:content src="http://cmisexample.oasis-open.org/rep1//content/1cd0d82f-d579-4897-9b0a-ad0917595445"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>1cd0d82f-d579-4897-9b0a-ad0917595445</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 165 of 236

698069816982698369846985698669876988

69896990699169926993

699469956996699769986999

7000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033

493494495

Page 166: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:value>invoice</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Example server response:HTTP/1.1 201 CreatedDate: Mon, 25 Jan 2010 10:20:58 -0800Content-Length: 7213Content-Type: application/atom+xml;type=entryContent-Location: http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5bLocation: http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b"/> <atom:id>urn:uuid:b4423b8a-e46e-49fb-8141-4aed91d28b5b</atom:id> <atom:title type="text">Document - To Be Moved</atom:title> <atom:updated>2010-01-25T10:20:58.786-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:58.786-08:00</atom:published> <atom:summary type="html">HTML summary of Entry b4423b8a-e46e-49fb-8141-4aed91d28b5b</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/parents"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 166 of 236

7034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094

496497498

Page 167: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/b4423b8a-e46e-49fb-8141-4aed91d28b5b/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>b4423b8a-e46e-49fb-8141-4aed91d28b5b</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>invoice</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>Document - To Be Moved</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:20:58.786-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:20:58.786-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:document</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyBoolean localName="rep-cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion"> <cmis:value>true</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 167 of 236

709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157

499500501

Page 168: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isImmutable" propertyDefinitionId="cmis:isImmutable"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyString localName="rep-cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"> <cmis:value>Checkin comment</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"> <cmis:value>0.1</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType"> <cmis:value>text/plain</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName"> <cmis:value>text.txt</cmis:value> </cmis:propertyString> <cmis:propertyInteger localName="rep-cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength"> <cmis:value>4234</cmis:value> </cmis:propertyInteger> <cmis:propertyString displayName="Keywords for Document" localName="keywords" propertyDefinitionId="keywords"> <cmis:value>document</cmis:value> <cmis:value>example</cmis:value> <cmis:value>sample</cmis:value> <cmis:value>cmis</cmis:value> </cmis:propertyString> </cmis:properties> </cmisra:object></atom:entry>

Please also see the example documents included with the schema.

Creating a CMIS Object (in that folder):If the cmis:objectId property is missing, the object will be created and then added to the folder. If the cmis:objectId property is present but not a valid object Id, the repository MUST return the appropriate HTTP status code.

For Documents:If Content Stream is not provided and it is required by the type definition, the repository MUST return the appropriate HTTP status code.

Content Streams MAY be provided by any of the following mechanisms:o As part of the atom entry via the src attribute on the content element (AtomPub)

src attribute: Implementers MAY support external references to content If the URI in the src attribute is not reachable, then an appropriate http

status code should be returned.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 168 of 236

71587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198

71997200720172027203

7204720572067207

720872097210721172127213

502503504

Page 169: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o As part of the atom entry inlining via the content element (AtomPub)

Please see the AtomPub specification RFC5023 for the processing model of the content element.

o If the cmisra:content is provided by the client inside the atom:entry, the cmisra:content element MUST take precendence over the atom:content element. (CMIS)

This element cmisra:content is base64 encodedo At a later time (AtomPub)

At a later time by replacing the edit-media link with a new content

The optional argument versioningState MAY specify additional versioning behavior such as checkin.

Example client request:POST /obj/bb2b208b-3acd-4abe-9788-8078a239f228 HTTP/1.1Host: example.orgContent-Length: 1190Content-Type: application/atom+xml;type=entry

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> </atom:author> <atom:id>urn:uuid:bb2b208b-3acd-4abe-9788-8078a239f228</atom:id> <atom:title type="text">New Invoice</atom:title> <atom:updated>2010-01-25T10:20:58.818-08:00</atom:updated> <atom:content type="text">this is the content of the new document</atom:content> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>bb2b208b-3acd-4abe-9788-8078a239f228</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>invoice</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Example server response:HTTP/1.1 201 CreatedDate: Mon, 25 Jan 2010 10:20:58 -0800Content-Length: 7191Content-Type: application/atom+xml;type=entryContent-Location: http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 169 of 236

721472157216721772187219722072217222

722372247225

72267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269

505506507

Page 170: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Location: http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d"/> <atom:id>urn:uuid:13475008-6a20-4454-ad0b-10ea94c4b93d</atom:id> <atom:title type="text">New Invoice</atom:title> <atom:updated>2010-01-25T10:20:58.818-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:58.833-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 13475008-6a20-4454-ad0b-10ea94c4b93d</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/13475008-6a20-4454-ad0b-10ea94c4b93d/acl"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 170 of 236

727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332

508509510

Page 171: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>13475008-6a20-4454-ad0b-10ea94c4b93d</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>invoice</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>New Invoice</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:20:58.833-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:20:58.833-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:document</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyBoolean localName="rep-cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion"> <cmis:value>true</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isImmutable" propertyDefinitionId="cmis:isImmutable"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyString localName="rep-cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"> <cmis:value>Checkin comment</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"> <cmis:value>0.1</cmis:value> </cmis:propertyString>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 171 of 236

733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395

511512513

Page 172: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:propertyString localName="rep-cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType"> <cmis:value>text/plain</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName"> <cmis:value>text.txt</cmis:value> </cmis:propertyString> <cmis:propertyInteger localName="rep-cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength"> <cmis:value>4234</cmis:value> </cmis:propertyInteger> <cmis:propertyString displayName="Keywords for Document" localName="keywords" propertyDefinitionId="keywords"> <cmis:value>document</cmis:value> <cmis:value>example</cmis:value> <cmis:value>sample</cmis:value> <cmis:value>cmis</cmis:value> </cmis:propertyString> </cmis:properties> </cmisra:object></atom:entry>

Please also see the example documents included with the schema.

POSTing other document formats: (AtomPub)The behavior is repository specific when a non Atom entry or an atom document without the CMIS elements is posted to a folder collection. For example, the repository MAY auto-create a document with a specific type (document) the client could edit. If the repository does not support this scenario or another exception occurs, then the repository MUST return the appropriate HTTP status code.

Optional arguments: versioningState (for createDocument) sourceFolderId (for moveObject)

3.8.3 Policies CollectionThis is an atom feed of all the policy objects currently applied to a specific object. This is the only collection where the URI’'s of the objects in the collection MUST be specific to that collection. A DELETE on the policy object in the collection is a removal of the policy from the object NOT a deletion of the policy object itself.

CMIS Services:GET: getAppliedPoliciesPOST: applyPolicy (to object representing this collection of policies)DELETE: removePolicy

Media Type: application/atom+xml;type=feedAccept:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 172 of 236

7396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420

74217422742374247425742674277428

74297430743174327433

74347435743674377438

7439744074417442744374447445

514515516

Page 173: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

MUST support Atom Entry Documents with CMIS extensions o application/atom+xml;type=entry or

o application/cmisatom+xml

MAY support other media type

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

via: points to the atom entry of the resource generating this collection paging link relations as appropriate: first, next, previous, last

The policy entries displayed here are specific to the object generating this collection. A DELETE method on those URIs will invoke removePolicy().

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:object inside atom:entry

3.8.3.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter

3.8.3.2 POSTWhen an Atom Entry representing a Policy is posted to this collection, the policy will be applied to the object.

Example client request: POST /policies/f3670f66-62ee-487f-b733-999a69237024 HTTP/1.1Host: example.orgContent-Length: 1039Content-Type: application/atom+xml;type=entry

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/f3670f66-62ee-487f-b733-999a69237024"/> <atom:id>urn:uuid:f3670f66-62ee-487f-b733-999a69237024</atom:id>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 173 of 236

7446744774487449

7450745174527453745474557456

745774587459

746074617462

746374647465

7466

746774687469

747074717472

74737474747574767477747874797480748174827483748474857486748774887489749074917492

517518519

Page 174: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:title type="text">Security Policy for Invoices</atom:title> <atom:updated>2010-01-25T10:20:58.849-08:00</atom:updated> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>f3670f66-62ee-487f-b733-999a69237024</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Example server response:HTTP/1.1 201 CreatedDate: Mon, 25 Jan 2010 10:20:58 -0800Content-Length: 4043Content-Type: application/atom+xml;type=entryContent-Location: http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116Location: http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116"/> <atom:id>urn:uuid:55cca51b-6cfa-4354-bdfe-690761576116</atom:id> <atom:title type="text">Security Policy for Invoices</atom:title> <atom:updated>2010-01-25T10:20:58.849-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:58.849-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 55cca51b-6cfa-4354-bdfe-690761576116</atom:summary> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116/parents"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 174 of 236

7493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553

520521522

Page 175: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116/relationships"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/55cca51b-6cfa-4354-bdfe-690761576116/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>55cca51b-6cfa-4354-bdfe-690761576116</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>generalSecurityPolicy</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>Security Policy for Invoices</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:20:58.849-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:20:58.864-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:policy</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> </cmis:properties> </cmisra:object></atom:entry>

Please also see the example documents included with the schema.

3.8.3.3 DELETEThis is the only collection where the URI’'s of the objects in the collection MUST be specific to that collection. A DELETE on the policy object in the collection is a removal of the policy from the object NOT a deletion of the policy object itself.

3.9 FeedsFor any HTTP verb not specified on a resource,each implementation MAY chose to implement that HTTP verb in a repository-specific manner.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 175 of 236

75547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600

7601760276037604

7605

760676077608

523524525

Page 176: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.9.1 Object Parents FeedThis is the set of parents for a specific object.

CMIS Services:GET: getObjectParents

Media Type: application/atom+xml;type=feed

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

via: points to the atom entry of object who’'s parents are represented by this collection

This feed contains a set of atom entries for each parent of the object that MUST contain: cmisra:object inside atom:entry cmisra:relativePathSegment inside atom:entry for the name of the object inside the folder

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:title type="text">Parent Feed for 268d30b5-91a0-47f0-b985-6765e178f0bb</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:59.818-08:00</atom:updated> <atom:id>urn:uuid:6f541940-4abf-471b-99f0-8e6f66d53789</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/268d30b5-91a0-47f0-b985-6765e178f0bb/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/268d30b5-91a0-47f0-b985-6765e178f0bb"/> <atom:link type="application/atom+xml;type=feed" rel="first" href="http://cmisexample.oasis-open.org/rep1/268d30b5-91a0-47f0-b985-6765e178f0bb/first"/> <atom:link type="application/atom+xml;type=feed" rel="next" href="http://cmisexample.oasis-open.org/rep1/268d30b5-91a0-47f0-b985-6765e178f0bb/4"/> <atom:link type="application/atom+xml;type=feed" rel="previous" href="http://cmisexample.oasis-open.org/rep1/268d30b5-91a0-47f0-b985-6765e178f0bb/2"/> <atom:link type="application/atom+xml;type=feed" rel="last" href="http://cmisexample.oasis-open.org/rep1/268d30b5-91a0-47f0-b985-6765e178f0bb/last"/> <cmisra:numItems>1</cmisra:numItems> <atom:entry>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 176 of 236

76097610761176127613

761476157616761776187619

7620762176227623

762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662

526527528

Page 177: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e"/> <atom:id>urn:uuid:661d6945-8f75-4dea-8799-7ba07b0e510e</atom:id> <atom:title type="text">Customer Folder</atom:title> <atom:updated>2010-01-25T10:20:59.833-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:59.833-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 661d6945-8f75-4dea-8799-7ba07b0e510e</atom:summary> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e/up"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e/children"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e/tree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/661d6945-8f75-4dea-8799-7ba07b0e510e/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>661d6945-8f75-4dea-8799-7ba07b0e510e</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>customer</cmis:value>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 177 of 236

766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725

529530531

Page 178: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

</cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>Customer Folder</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:20:59.833-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:20:59.833-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:folder</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyId localName="rep-cmis:parentId" propertyDefinitionId="cmis:parentId"> <cmis:value>661d6945-8f75-4dea-8799-7ba07b0e510eup</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> <cmisra:relativePathSegment>customer1</cmisra:relativePathSegment> </atom:entry></atom:feed>

Please also see the example documents included with the schema.

3.9.1.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter includeAllowableActions includeRelationships renditionFilter includeRelativePathSegment

o If true, then the cmisra:relativePathSegment element MUST be included in the response.

3.9.2 ChangesThis is a link relationship described in the service document that contains the changes in the repository in the workspace element. The link relation pointing to this feed is http://docs.oasis-open.org/ns/cmis/link/200908/changes.http://docs.oasis-open.org/ns/cmis/link/200908/changes.

The ChangeLog Token is specified in the URI specified by the paging link notations. Through this binding it is not possible to retrieve the ChangeLog Token from the URIs.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 178 of 236

77267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760

77617762

77637764776577667767776877697770

77717772777377747775

777677777778

532533534

Page 179: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

CMIS Services:GET: getContentChanges()

Media Type: application/atom+xml;type=feedLink Relations:

service: Points to service document containing the CMIS repository. The service document MUST contain only one workspace element.

o Media Type: application/atomsvc+xml

paging link relations as appropriate: first, next, previous, lasto ChangeLogToken is incorporated into the URI specified by the next link relation

This feed MUST be ordered from oldest first to newest.

If the next changes does not exist yet, the link relation next MAY be available. If the next link relation is not available, the client should revisit the feed in the future and look for new items and the next link relation.

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:object inside atom:entry

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:title type="text">changelog feed</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:59.255-08:00</atom:updated> <atom:id>urn:uuid:0bfc5306-fc76-4cd8-a0c0-7653dd43c0ff</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/oId/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=feed" rel="first" href="http://cmisexample.oasis-open.org/rep1/oId/first"/> <atom:link type="application/atom+xml;type=feed" rel="next" href="http://cmisexample.oasis-open.org/rep1/oId/4"/> <atom:link type="application/atom+xml;type=feed" rel="previous" href="http://cmisexample.oasis-open.org/rep1/oId/2"/> <atom:link type="application/atom+xml;type=feed" rel="last" href="http://cmisexample.oasis-open.org/rep1/oId/last"/> <cmisra:numItems>2</cmisra:numItems> <atom:entry>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 179 of 236

777977807781778277837784778577867787778877897790

7791779277937794

779577967797

779877997800

780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830

535536537

Page 180: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd"/> <atom:id>urn:uuid:3f724c1d-12c8-43f2-919f-674df52b6ebd</atom:id> <atom:title type="text">CMIS Example Folder as Customer Policy type</atom:title> <atom:updated>2010-01-25T10:20:59.255-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:59.255-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 3f724c1d-12c8-43f2-919f-674df52b6ebd</atom:summary> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd/up"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd/children"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd/tree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/3f724c1d-12c8-43f2-919f-674df52b6ebd/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>3f724c1d-12c8-43f2-919f-674df52b6ebd</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId">

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 180 of 236

783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893

538539540

Page 181: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:value>customerpolicy</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>CMIS Example Folder as Customer Policy type</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:20:59.255-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:20:59.255-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:folder</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyId localName="rep-cmis:parentId" propertyDefinitionId="cmis:parentId"> <cmis:value>3f724c1d-12c8-43f2-919f-674df52b6ebdup</cmis:value> </cmis:propertyId> </cmis:properties> <cmis:changeEventInfo> <cmis:changeType>updated</cmis:changeType> <cmis:changeTime>2010-01-25T10:20:59.255-08:00</cmis:changeTime> </cmis:changeEventInfo> </cmisra:object> <cmisra:pathSegment>policy</cmisra:pathSegment> </atom:entry> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42"/> <atom:id>urn:uuid:6e27bada-b5a2-4a39-be2c-269806eb0d42</atom:id> <atom:title type="text">CMIS Example Document</atom:title> <atom:updated>2010-01-25T10:20:59.255-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/allowableactions"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 181 of 236

78947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955

541542543

Page 182: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:59.255-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 6e27bada-b5a2-4a39-be2c-269806eb0d42</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/6e27bada-b5a2-4a39-be2c-269806eb0d42/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>6e27bada-b5a2-4a39-be2c-269806eb0d42</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>document</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>CMIS Example Document</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:20:59.271-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:20:59.271-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:document</cmis:value> </cmis:propertyId>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 182 of 236

79567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017

544545546

Page 183: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyBoolean localName="rep-cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion"> <cmis:value>true</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isImmutable" propertyDefinitionId="cmis:isImmutable"> <cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyString localName="rep-cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"> <cmis:value>Checkin comment</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"> <cmis:value>0.1</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType"> <cmis:value>text/plain</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName"> <cmis:value>text.txt</cmis:value> </cmis:propertyString> <cmis:propertyInteger localName="rep-cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength"> <cmis:value>4234</cmis:value> </cmis:propertyInteger> <cmis:propertyString displayName="Keywords for Document" localName="keywords" propertyDefinitionId="keywords"> <cmis:value>document</cmis:value> <cmis:value>example</cmis:value> <cmis:value>sample</cmis:value> <cmis:value>cmis</cmis:value> </cmis:propertyString> </cmis:properties> <cmis:changeEventInfo> <cmis:changeType>updated</cmis:changeType> <cmis:changeTime>2010-01-25T10:20:59.271-08:00</cmis:changeTime> </cmis:changeEventInfo> </cmisra:object>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 183 of 236

801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080

547548549

Page 184: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmisra:pathSegment>invoice.pdf</cmisra:pathSegment> </atom:entry></atom:feed>

Please also see the example documents included with the schema.

3.9.2.1 GETThe following optional parameters may be supplied:

filter maxItems includeACL includePolicyIds includeProperties changeLogToken: If this parameter is specified, start the changes from the specified token. The

changeLogToken is embedded in the paging link relations for normal iteration through the change list.

3.9.3 Folder DescendantsThis is a hierarchical feed comprising items under a specified folder to a specified depth. This is available via the link relation down with the application/cmistree+xml media type. Please see the Hierarchical Atom Entries for more information on format.

If a repository does not support capabilityGetDescendants, then these resources SHOULD NOT be exposed.

CMIS Services:GET: getDescendantsDELETE: deleteTree

Media Type: application/atom+xml;type=feed

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

via: points to the atom entry of the folder generating this collection up: points to the atom entry document for this folder’'s parent

o Media Type: application/atom+xml;type=entry

o If the root folder, this link relation MUST not be included.

down: o points to the atom feed document representing the children feed for this same folder with

media type of application/atom+xml;type=entryo Since this is the descendants, the descendants link SHOULD NOT be included

paging link relations MAY be included as appropriate: first, next, previous, lasto Repositories may support these paging link relations on a particular cmisra:children

element. cmis-spec-v1.0-errata-01-os-complete

04 November 2011Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 184 of 236

808180828083

80848085

8086808780888089809080918092809380948095

8096809780988099

810081018102

81038104810581068107

8108810981108111811281138114811581168117811881198120812181228123550551552

Page 185: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

http://docs.oasis-open.org/ns/cmis/link/200908/foldertree:http://docs.oasis-open.org/ns/cmis/link/200908/foldertree: Points to the folder tree for this folder

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:object inside atom:entry cmisra:pathSegment inside atom:entry cmisra:children inside atom:entry

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:title type="text">Feed for folder1</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:59.364-08:00</atom:updated> <atom:id>urn:uuid:cb0a47d4-8d09-46f9-9b09-584acad684af</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/f083dd6f-1465-4516-97ce-040ec0c7c05a/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/f083dd6f-1465-4516-97ce-040ec0c7c05a"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/f083dd6f-1465-4516-97ce-040ec0c7c05a/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/f083dd6f-1465-4516-97ce-040ec0c7c05a/children"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/03dcf5b8-5f82-45a1-b276-44d88069eec3"/> <cmisra:numItems>1</cmisra:numItems> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f"/> <atom:id>urn:uuid:8e5a512c-8f2d-4387-a283-f3f30bbc312f</atom:id> <atom:title type="text">CMIS Example Folder as Customer type</atom:title> <atom:updated>2010-01-25T10:20:59.364-08:00</atom:updated>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 185 of 236

81248125

812681278128

81298130813181328133

8134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179

553554555

Page 186: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:59.380-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 8e5a512c-8f2d-4387-a283-f3f30bbc312f</atom:summary> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/up"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/children"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/tree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>8e5a512c-8f2d-4387-a283-f3f30bbc312f</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>customer</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>CMIS Example Folder as Customer type</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:20:59.380-08:00</cmis:value> </cmis:propertyDateTime>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 186 of 236

818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242

556557558

Page 187: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:20:59.380-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:folder</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyId localName="rep-cmis:parentId" propertyDefinitionId="cmis:parentId"> <cmis:value>8e5a512c-8f2d-4387-a283-f3f30bbc312fup</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> <cmisra:pathSegment>customer</cmisra:pathSegment> <cmisra:children> <atom:feed> <atom:title type="text">CMIS Example Folder as Customer type</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:59.380-08:00</atom:updated> <atom:id>urn:uuid:67ee5e9f-d2e3-457d-9dec-be718e780452</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/8e5a512c-8f2d-4387-a283-f3f30bbc312f/children"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/f083dd6f-1465-4516-97ce-040ec0c7c05a"/> <cmisra:numItems>1</cmisra:numItems> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 187 of 236

8243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303

559560561

Page 188: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:content src="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a"/> <atom:id>urn:uuid:8c2dbba5-ea33-469f-a052-9f01e636c72a</atom:id> <atom:title type="text">CMIS Example Doc as Invoice type</atom:title> <atom:updated>2010-01-25T10:20:59.380-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:59.380-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 8c2dbba5-ea33-469f-a052-9f01e636c72a</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/8c2dbba5-ea33-469f-a052-9f01e636c72a/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"><cmis:value>8c2dbba5-ea33-469f-a052-9f01e636c72a</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"><cmis:value>invoice</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name">

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 188 of 236

830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366

562563564

Page 189: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:value>CMIS Example Doc as Invoice type</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"><cmis:value>2010-01-25T10:20:59.380-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"><cmis:value>2010-01-25T10:20:59.380-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"><cmis:value>cmis:document</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"><cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"><cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyBoolean localName="rep-cmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion"><cmis:value>true</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isVersionSeriesCheckedOut" propertyDefinitionId="cmis:isVersionSeriesCheckedOut"><cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion"><cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion"><cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyBoolean localName="rep-cmis:isImmutable" propertyDefinitionId="cmis:isImmutable"><cmis:value>false</cmis:value> </cmis:propertyBoolean> <cmis:propertyString localName="rep-cmis:checkinComment" propertyDefinitionId="cmis:checkinComment"><cmis:value>Checkin comment</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:versionLabel" propertyDefinitionId="cmis:versionLabel"><cmis:value>0.1</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamMimeType" propertyDefinitionId="cmis:contentStreamMimeType"><cmis:value>text/plain</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:contentStreamFileName" propertyDefinitionId="cmis:contentStreamFileName"><cmis:value>text.txt</cmis:value> </cmis:propertyString> <cmis:propertyInteger localName="rep-cmis:contentStreamLength" propertyDefinitionId="cmis:contentStreamLength"><cmis:value>4234</cmis:value> </cmis:propertyInteger>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 189 of 236

836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429

565566567

Page 190: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:propertyString displayName="Keywords for Document" localName="keywords" propertyDefinitionId="keywords"><cmis:value>document</cmis:value><cmis:value>example</cmis:value><cmis:value>sample</cmis:value><cmis:value>cmis</cmis:value> </cmis:propertyString> </cmis:properties> </cmisra:object> <cmisra:pathSegment>invoice1.pdf</cmisra:pathSegment> </atom:entry> </atom:feed> </cmisra:children> </atom:entry></atom:feed>

Please also see the example documents included with the schema.

3.9.3.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter depth includeAllowableActions includeRelationships renditionFilter includePathSegment

3.9.3.2 DELETEThis deletes the folder and all sub-folders. The following arguments may be supplied. Please see the domain model for more information:

continueOnFailure unfileObjects

Status Code: 200 OK if successful. Body contains entity describing the status 202 Accepted, if accepted but deletion not yet taking place 204 No Content, if successful with no content 403 Forbidden, if permission is denied 401 Unauthorized, if not authenticated 500 Internal Server Error. The body SHOULD contain an entity describing the status

If the delete method does not delete all items, invoking GET with infinite depth on this URI will return the items not deleted. Subsequent DELETE methods can be invoked on this URI.Note: If the repository does not implement get on this resource, or the canGetDescendants is false, there is no mechanism to identify the resources that were not removed.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 190 of 236

843084318432843384348435843684378438843984408441844284438444

84458446

84478448844984508451845284538454

84558456845784588459

84608461846284638464846584668467

84688469847084718472

568569570

Page 191: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.9.4 Folder TreeThis is a hierarchical feed comprising all the folders under a specified folder. This is available via the link relation foldertree with media type application/atom+xml;type=feed. Please see the Hierarchical Atom Entries for more information on format.

CMIS Services:GET: getFolderTreeDELETE: deleteTree

Media Type: application/atom +xml;type=feed

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

via: points to the atom entry of the folder generating this collection up: points to the atom entry document of this folder’'s parent

o If the root folder, this link relation MUST not be included.

o Media Type: application/atom+xml;type=entry

down: o application/atom+xml : Points to the atom feed document representing the children feed

for this same foldero application/cmistree+xml: Points to the descendants feed of the same folder. If a

repository does not support capabilityGetDescendants, then this link SHOULD NOT be included.

paging link relations MAY be included as appropriate: first, next, previous, lasto Repositories may support these paging link relations on a particular cmisra:children

element.

This feed contains a set of atom entries for each sub-folder in the folder.

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

The following CMIS Atom extension element MUST be included inside the atom entries: cmisra:object inside atom:entry cmisra:pathSegment inside atom:entry cmisra:children inside atom:entry

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/">

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 191 of 236

8473847484758476

84778478847984808481

848284838484848584868487848884898490849184928493849484958496849784988499

85008501

850285038504

85058506850785088509

85108511851285138514851585168517

571572573

Page 192: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:title type="text">FolderTree Feed of Folder1</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:59.521-08:00</atom:updated> <atom:id>urn:uuid:f87e5678-dd24-4214-9e71-635f060beb7d</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/6e327a3c-a246-4cee-8176-b65edc3e1854/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/6e327a3c-a246-4cee-8176-b65edc3e1854"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/6e327a3c-a246-4cee-8176-b65edc3e1854/tree"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/6e327a3c-a246-4cee-8176-b65edc3e1854/children"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/3056c4d7-4e16-49cb-a750-ad7a3844a1aa"/> <cmisra:numItems>1</cmisra:numItems> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180"/> <atom:id>urn:uuid:c7b5a83e-37b6-4f5a-b646-50892252a180</atom:id> <atom:title type="text">Customer Folder</atom:title> <atom:updated>2010-01-25T10:20:59.521-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:59.521-08:00</atom:published> <atom:summary type="html">HTML summary of Entry c7b5a83e-37b6-4f5a-b646-50892252a180</atom:summary> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180/up"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180/children"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 192 of 236

8518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578

574575576

Page 193: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180/tree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/c7b5a83e-37b6-4f5a-b646-50892252a180/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>c7b5a83e-37b6-4f5a-b646-50892252a180</cmis:value> </cmis:propertyId> <cmis:propertyId localName="rep-cmis:objectTypeId" propertyDefinitionId="cmis:objectTypeId"> <cmis:value>customer</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:name" propertyDefinitionId="cmis:name"> <cmis:value>Customer Folder</cmis:value> </cmis:propertyString> <cmis:propertyDateTime localName="rep-cmis:creationDate" propertyDefinitionId="cmis:creationDate"> <cmis:value>2010-01-25T10:20:59.521-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyDateTime localName="rep-cmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate"> <cmis:value>2010-01-25T10:20:59.521-08:00</cmis:value> </cmis:propertyDateTime> <cmis:propertyId localName="rep-cmis:baseTypeId" propertyDefinitionId="cmis:baseTypeId"> <cmis:value>cmis:folder</cmis:value> </cmis:propertyId> <cmis:propertyString localName="rep-cmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyString localName="rep-cmis:createdBy" propertyDefinitionId="cmis:createdBy"> <cmis:value>Al Brown</cmis:value> </cmis:propertyString> <cmis:propertyId localName="rep-cmis:parentId" propertyDefinitionId="cmis:parentId"> <cmis:value>c7b5a83e-37b6-4f5a-b646-50892252a180up</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> <cmisra:pathSegment>customer</cmisra:pathSegment> </atom:entry>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 193 of 236

857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641

577578579

Page 194: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

</atom:feed>

Please also see the example documents included with the schema.

3.9.4.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter depth includeAllowableActions includeRelationships renditionFilter

3.9.4.2 DELETEThis is the same as DELETE on Folder Descendants. Please see that section.

3.9.5 AllVersions FeedThis is a feed comprised of all the versions of the given document.CMIS Services:

GET: getAllVersionsDELETE: deleteAllVersions

Media Type: application/atom+xml;type=feed

The feed SHOULD contain the newest versions at the beginning of the feed.

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

via: points to the atom entry of the resource generating this collection paging link relations as appropriate: first, next, previous, last

This feed contains a set of atom entries for each version in the version series cmisra:object inside atom:entry cmisra:children inside atom:entry if atom:entry represents a CMIS Folder

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:title type="text">AllVersions for Document e8abd7cd-b9ec-4dba-9eaa-1bce2ae9977f</atom:title> <atom:author> <atom:name>Al Brown</atom:name>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 194 of 236

8642

86438644

8645864686478648864986508651

86528653

865486558656865786588659

86608661

8662866386648665866686678668

8669867086718672

867386748675867686778678867986808681868286838684

580581582

Page 195: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:58.896-08:00</atom:updated> <atom:id>urn:uuid:5dc3d1c1-3e85-4720-acf8-cf98c96a5830</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/e8abd7cd-b9ec-4dba-9eaa-1bce2ae9977f/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/e8abd7cd-b9ec-4dba-9eaa-1bce2ae9977f"/> <cmisra:numItems>1</cmisra:numItems> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281"/> <atom:id>urn:uuid:197033f2-ac11-4911-b5a3-60781fa5c281</atom:id> <atom:title type="text">Invoice (Version1)</atom:title> <atom:updated>2010-01-25T10:20:58.896-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:20:58.896-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 197033f2-ac11-4911-b5a3-60781fa5c281</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/relationships"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 195 of 236

86858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746

583584585

Page 196: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/197033f2-ac11-4911-b5a3-60781fa5c281/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>197033f2-ac11-4911-b5a3-60781fa5c281</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object> </atom:entry></atom:feed>

Please also see the example documents included with the schema.

3.9.5.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter includeAllowableActions

3.9.5.2 DELETEThis removes the entire version history of the document.

Success HTTP code: 204

3.9.6 Type Descendants FeedThis is a feed described in the service document that contains all the types under a specific type in the repository to a specific depth. If no parent type is specified, then the base types and their descendants are returned in the feed which is equivalent to all types in the repository if depth is infinite. The link relation is http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants.The link relation is http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants.

Types are nested using the CMIS hierarchy extension. Please see section 3.4.3.2 Hierarchy Navigation Internet Draft Link Relations.

CMIS Services:GET: getTypeDescendants

Media Type: application/atom+xml;type=feed

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 196 of 236

8747874887498750875187528753875487558756875787588759876087618762876387648765

87668767

8768876987708771

87728773

87748775

877687778778877987808781

878287838784

878587868787

87888789

8790879187928793

586587588

Page 197: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

o Media Type: application/atomsvc+xml

via: points to the type definition whose descendents represent this feed. This link is not present if no parent type is specified.

down: points to the children feed for the same type up: points to the parent type definition

o If this is a descendants feed for a base object type, this link is not present.

The following CMIS Atom extension element MAY be included inside the atom feed: cmisra:numItems

Example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:title type="text">Base Types</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:59.911-08:00</atom:updated> <atom:id>urn:uuid:c5d3d357-33ec-47c1-8436-563e0d94d2e5</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1//3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1//children"/> <cmisra:numItems>1</cmisra:numItems> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content>Type Definition for cmis:document</atom:content> <atom:id>http://cmisexample.oasis-open.org/rep1/type/cmis:document</atom:id> <atom:link type="application/atom+xml;type=entry" rel="self" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document/parent"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document/children/flat"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document/children/tree"/> <atom:published>2010-01-25T10:20:59.927-08:00</atom:published>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 197 of 236

879487958796879787988799880088018802

8803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851

589590591

Page 198: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:summary type="html">HTML summary of Type Definition cmis:document</atom:summary> <atom:title type="text">Type Definition - cmis:document</atom:title> <atom:updated>2010-01-25T10:20:59.927-08:00</atom:updated> <app:edited>2010-01-25T10:20:59.927-08:00</app:edited> <cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="cmis:cmisTypeDocumentDefinitionType" cmisra:id="cmis:document"> <cmis:id>dtcmis:document</cmis:id> <cmis:localName>myrepname-cmis:document</cmis:localName> <cmis:localNamespace xsi:nil="true"/> <cmis:displayName>cmis:document</cmis:displayName> <cmis:queryName>cmis:document</cmis:queryName> <cmis:description>Description for type definition cmis:document</cmis:description> <cmis:baseId>cmis:document</cmis:baseId> <cmis:parentId>parent</cmis:parentId> <cmis:creatable>true</cmis:creatable> <cmis:fileable>true</cmis:fileable> <cmis:queryable>false</cmis:queryable> <cmis:fulltextIndexed>false</cmis:fulltextIndexed> <cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery> <cmis:controllablePolicy>true</cmis:controllablePolicy> <cmis:controllableACL>true</cmis:controllableACL> <cmis:versionable>true</cmis:versionable> <cmis:contentStreamAllowed>allowed</cmis:contentStreamAllowed> </cmisra:type> <cmisra:children> <atom:feed> <atom:title type="text">Children for Document</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:59.927-08:00</atom:updated> <atom:id>urn:uuid:6f1cdc44-bd89-41c0-8fad-89f3ad0f8f30</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/cmis:document/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/cmis:document"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/cmis:document/children"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/document"/> <cmisra:numItems>1</cmisra:numItems> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content>Type Definition for invoice-document</atom:content> <atom:id>http://cmisexample.oasis-open.org/rep1/type/invoice-document</atom:id> <atom:link type="application/atom+xml;type=entry" rel="self" href="http://cmisexample.oasis-open.org/rep1/type/invoice-document"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 198 of 236

885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914

592593594

Page 199: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1/type/invoice-document"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/type/invoice-document/parent"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/invoice-document/children/flat"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/invoice-document/children/tree"/> <atom:published>2010-01-25T10:20:59.927-08:00</atom:published> <atom:summary type="html">HTML summary of Type Definition invoice-document</atom:summary> <atom:title type="text">Type Definition - invoice-document</atom:title> <atom:updated>2010-01-25T10:20:59.927-08:00</atom:updated> <app:edited>2010-01-25T10:20:59.927-08:00</app:edited> <cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="cmis:cmisTypeDocumentDefinitionType" cmisra:id="invoice-document"> <cmis:id>dtinvoice-document</cmis:id> <cmis:localName>myrepname-invoice-document</cmis:localName> <cmis:localNamespace xsi:nil="true"/> <cmis:displayName>invoice-document</cmis:displayName> <cmis:queryName>invoice-document</cmis:queryName> <cmis:description>Description for type definition invoice-document</cmis:description> <cmis:baseId>cmis:document</cmis:baseId> <cmis:parentId>parent</cmis:parentId> <cmis:creatable>true</cmis:creatable> <cmis:fileable>true</cmis:fileable> <cmis:queryable>false</cmis:queryable> <cmis:fulltextIndexed>false</cmis:fulltextIndexed> <cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery> <cmis:controllablePolicy>true</cmis:controllablePolicy> <cmis:controllableACL>true</cmis:controllableACL> <cmis:versionable>true</cmis:versionable> <cmis:contentStreamAllowed>allowed</cmis:contentStreamAllowed> </cmisra:type> </atom:entry> </atom:feed> </cmisra:children> </atom:entry> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content>Type Definition for cmis:folder</atom:content> <atom:id>http://cmisexample.oasis-open.org/rep1/type/cmis:folder</atom:id> <atom:link type="application/atom+xml;type=entry" rel="self" href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 199 of 236

89158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976

595596597

Page 200: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder/parent"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder/children/flat"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder/children/tree"/> <atom:published>2010-01-25T10:20:59.927-08:00</atom:published> <atom:summary type="html">HTML summary of Type Definition cmis:folder</atom:summary> <atom:title type="text">Type Definition - cmis:folder</atom:title> <atom:updated>2010-01-25T10:20:59.927-08:00</atom:updated> <app:edited>2010-01-25T10:20:59.927-08:00</app:edited> <cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="cmis:cmisTypeFolderDefinitionType" cmisra:id="cmis:folder"> <cmis:id>dtcmis:folder</cmis:id> <cmis:localName>myrepname-cmis:folder</cmis:localName> <cmis:localNamespace xsi:nil="true"/> <cmis:displayName>cmis:folder</cmis:displayName> <cmis:queryName>cmis:folder</cmis:queryName> <cmis:description>Description for type definition cmis:folder</cmis:description> <cmis:baseId>cmis:folder</cmis:baseId> <cmis:parentId>parent</cmis:parentId> <cmis:creatable>true</cmis:creatable> <cmis:fileable>true</cmis:fileable> <cmis:queryable>false</cmis:queryable> <cmis:fulltextIndexed>false</cmis:fulltextIndexed> <cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery> <cmis:controllablePolicy>true</cmis:controllablePolicy> <cmis:controllableACL>true</cmis:controllableACL> </cmisra:type> <cmisra:children> <atom:feed> <atom:title type="text">Children for Folder</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:59.927-08:00</atom:updated> <atom:id>urn:uuid:361a3ac1-f7f7-47cb-b941-ae1200213fe0</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/cmis:folder/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/cmis:folder"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/cmis:folder/children"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/cmis:folder"/> <cmisra:numItems>1</cmisra:numItems> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 200 of 236

897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039

598599600

Page 201: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

</atom:author> <atom:content>Type Definition for customer-folder</atom:content> <atom:id>http://cmisexample.oasis-open.org/rep1/type/customer-folder</atom:id> <atom:link type="application/atom+xml;type=entry" rel="self" href="http://cmisexample.oasis-open.org/rep1/type/customer-folder"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1/type/customer-folder"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/type/customer-folder/parent"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/customer-folder/children/flat"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/customer-folder/children/tree"/> <atom:published>2010-01-25T10:20:59.927-08:00</atom:published> <atom:summary type="html">HTML summary of Type Definition customer-folder</atom:summary> <atom:title type="text">Type Definition - customer-folder</atom:title> <atom:updated>2010-01-25T10:20:59.927-08:00</atom:updated> <app:edited>2010-01-25T10:20:59.927-08:00</app:edited> <cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="cmis:cmisTypeFolderDefinitionType" cmisra:id="customer-folder"> <cmis:id>dtcustomer-folder</cmis:id> <cmis:localName>myrepname-customer-folder</cmis:localName> <cmis:localNamespace xsi:nil="true"/> <cmis:displayName>customer-folder</cmis:displayName> <cmis:queryName>customer-folder</cmis:queryName> <cmis:description>Description for type definition customer-folder</cmis:description> <cmis:baseId>cmis:folder</cmis:baseId> <cmis:parentId>parent</cmis:parentId> <cmis:creatable>true</cmis:creatable> <cmis:fileable>true</cmis:fileable> <cmis:queryable>false</cmis:queryable> <cmis:fulltextIndexed>false</cmis:fulltextIndexed> <cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery> <cmis:controllablePolicy>true</cmis:controllablePolicy> <cmis:controllableACL>true</cmis:controllableACL> </cmisra:type> </atom:entry> </atom:feed> </cmisra:children> </atom:entry> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content>Type Definition for cmis:relationship</atom:content>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 201 of 236

904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102

601602603

Page 202: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:id>http://cmisexample.oasis-open.org/rep1/type/cmis:relationship</atom:id> <atom:link type="application/atom+xml;type=entry" rel="self" href="http://cmisexample.oasis-open.org/rep1/type/cmis:relationship"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1/type/cmis:relationship"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/type/cmis:relationship"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/type/cmis:relationship/parent"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:relationship/children/flat"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:relationship/children/tree"/> <atom:published>2010-01-25T10:20:59.943-08:00</atom:published> <atom:summary type="html">HTML summary of Type Definition cmis:relationship</atom:summary> <atom:title type="text">Type Definition - cmis:relationship</atom:title> <atom:updated>2010-01-25T10:20:59.943-08:00</atom:updated> <app:edited>2010-01-25T10:20:59.943-08:00</app:edited> <cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="cmis:cmisTypeRelationshipDefinitionType" cmisra:id="cmis:relationship"> <cmis:id>dtcmis:relationship</cmis:id> <cmis:localName>myrepname-cmis:relationship</cmis:localName> <cmis:localNamespace xsi:nil="true"/> <cmis:displayName>cmis:relationship</cmis:displayName> <cmis:queryName>cmis:relationship</cmis:queryName> <cmis:description>Description for type definition cmis:relationship</cmis:description> <cmis:baseId>cmis:relationship</cmis:baseId> <cmis:parentId>parent</cmis:parentId> <cmis:creatable>true</cmis:creatable> <cmis:fileable>false</cmis:fileable> <cmis:queryable>false</cmis:queryable> <cmis:fulltextIndexed>false</cmis:fulltextIndexed> <cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery> <cmis:controllablePolicy>true</cmis:controllablePolicy> <cmis:controllableACL>true</cmis:controllableACL> <cmis:allowedSourceTypes>invoice</cmis:allowedSourceTypes> <cmis:allowedSourceTypes>capitalinvoice</cmis:allowedSourceTypes> <cmis:allowedTargetTypes>customer</cmis:allowedTargetTypes> </cmisra:type> <cmisra:children> <atom:feed> <atom:title type="text">Children for Relationship</atom:title> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:updated>2010-01-25T10:20:59.943-08:00</atom:updated> <atom:id>urn:uuid:9394ff3d-87c4-48c9-a951-ba725560faac</atom:id> <atom:link type="application/atom+xml;type=feed" rel="self" href="http://cmisexample.oasis-open.org/rep1/cmis:relationship/3"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 202 of 236

910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165

604605606

Page 203: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atom+xml;type=entry" rel="via" href="http://cmisexample.oasis-open.org/rep1/cmis:relationship"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/cmis:relationship/children"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/cmis:folder"/> <cmisra:numItems>1</cmisra:numItems> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content>Type Definition for customer-relationship</atom:content> <atom:id>http://cmisexample.oasis-open.org/rep1/type/customer-relationship</atom:id> <atom:link type="application/atom+xml;type=entry" rel="self" href="http://cmisexample.oasis-open.org/rep1/type/customer-relationship"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1/type/customer-relationship"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/type/cmis:relationship"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/type/customer-relationship/parent"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/customer-relationship/children/flat"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/customer-relationship/children/tree"/> <atom:published>2010-01-25T10:20:59.943-08:00</atom:published> <atom:summary type="html">HTML summary of Type Definition customer-relationship</atom:summary> <atom:title type="text">Type Definition - customer-relationship</atom:title> <atom:updated>2010-01-25T10:20:59.943-08:00</atom:updated> <app:edited>2010-01-25T10:20:59.943-08:00</app:edited> <cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="cmis:cmisTypeRelationshipDefinitionType" cmisra:id="customer-relationship"> <cmis:id>dtcustomer-relationship</cmis:id> <cmis:localName>myrepname-customer-relationship</cmis:localName> <cmis:localNamespace xsi:nil="true"/> <cmis:displayName>customer-relationship</cmis:displayName> <cmis:queryName>customer-relationship</cmis:queryName> <cmis:description>Description for type definition customer-relationship</cmis:description> <cmis:baseId>cmis:relationship</cmis:baseId> <cmis:parentId>parent</cmis:parentId> <cmis:creatable>true</cmis:creatable> <cmis:fileable>false</cmis:fileable> <cmis:queryable>false</cmis:queryable> <cmis:fulltextIndexed>false</cmis:fulltextIndexed> <cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 203 of 236

916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228

607608609

Page 204: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<cmis:controllablePolicy>true</cmis:controllablePolicy> <cmis:controllableACL>true</cmis:controllableACL> <cmis:allowedSourceTypes>invoice</cmis:allowedSourceTypes> <cmis:allowedSourceTypes>capitalinvoice</cmis:allowedSourceTypes> <cmis:allowedTargetTypes>customer</cmis:allowedTargetTypes> </cmisra:type> </atom:entry> </atom:feed> </cmisra:children> </atom:entry> <atom:entry> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content>Type Definition for cmis:policy</atom:content> <atom:id>http://cmisexample.oasis-open.org/rep1/type/cmis:policy</atom:id> <atom:link type="application/atom+xml;type=entry" rel="self" href="http://cmisexample.oasis-open.org/rep1/type/cmis:policy"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1/type/cmis:policy"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/type/cmis:policy"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/type/cmis:policy/parent"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:policy/children/flat"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:policy/children/tree"/> <atom:published>2010-01-25T10:20:59.943-08:00</atom:published> <atom:summary type="html">HTML summary of Type Definition cmis:policy</atom:summary> <atom:title type="text">Type Definition - cmis:policy</atom:title> <atom:updated>2010-01-25T10:20:59.943-08:00</atom:updated> <app:edited>2010-01-25T10:20:59.943-08:00</app:edited> <cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="cmis:cmisTypePolicyDefinitionType" cmisra:id="cmis:policy"> <cmis:id>dtcmis:policy</cmis:id> <cmis:localName>myrepname-cmis:policy</cmis:localName> <cmis:localNamespace xsi:nil="true"/> <cmis:displayName>cmis:policy</cmis:displayName> <cmis:queryName>cmis:policy</cmis:queryName> <cmis:description>Description for type definition cmis:policy</cmis:description> <cmis:baseId>cmis:policy</cmis:baseId> <cmis:parentId>parent</cmis:parentId> <cmis:creatable>true</cmis:creatable> <cmis:fileable>false</cmis:fileable> <cmis:queryable>false</cmis:queryable> <cmis:fulltextIndexed>false</cmis:fulltextIndexed> <cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery> <cmis:controllablePolicy>true</cmis:controllablePolicy> <cmis:controllableACL>true</cmis:controllableACL> </cmisra:type> </atom:entry></atom:feed>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 204 of 236

922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291

610611612

Page 205: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Please also see the example documents included with the schema.

3.9.6.1 GETThe following arguments may be supplied. Please see the domain model for more information:

includePropertyDefinitions depth

3.10 ResourcesFor any HTTP verb not specified on a resource,each implementation MAY chose to implement that HTTP verb in a repository-specific manner.

3.10.1 Type EntryThis represents a type definition in the repository. This is enclosed as an atom entry

CMIS Services:GET: getTypeDefinition

Media Type: application/atom+xml;type=entry

Link Relations: service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

up: Points to the parent type as atom entry if applicable down: Points to the children of this type as atom feed if applicable

o (Children) Media Type: application/atom +xml;type=feed points to the atom feed document representing the children feed for this same type

o (Descendants) Media Type: application/cmistree+xml points to the atom feed document representing the descendents feed for this same type

describedby: Points to the type definition atom entry of the base type of this type definition.

The following CMIS Atom extension element MUST be included inside the atom entry: cmisra:type

3.10.1.1 GETThere are no optional arguments for this resource.

Request:GET /obj/5070f89a-6f00-4acf-84e9-d8836a6c7d23 HTTP/1.1Host: example.org

Response:HTTP/1.1 200 Ok

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 205 of 236

92929293

9294929592969297

929892999300

93019302

9303930493059306

930793089309931093119312931393149315931693179318

931993209321

93229323

93249325932693279328932993309331

613614615

Page 206: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Date: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 2995Content-Type: application/atom+xml;type=entryLocation: http://cmisexample.oasis-open.org/rep1/cmis:document

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content>Type Definition for cmis:document</atom:content> <atom:id>http://cmisexample.oasis-open.org/rep1/type/cmis:document</atom:id> <atom:link type="application/atom+xml;type=entry" rel="self" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document"/> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document/parent"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document/children/flat"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/type/cmis:document/children/tree"/> <atom:published>2010-01-25T10:21:00.380-08:00</atom:published> <atom:summary type="html">HTML summary of Type Definition cmis:document</atom:summary> <atom:title type="text">Type Definition - cmis:document</atom:title> <atom:updated>2010-01-25T10:21:00.380-08:00</atom:updated> <app:edited>2010-01-25T10:21:00.380-08:00</app:edited> <cmisra:type xsi:type="cmis:cmisTypeDocumentDefinitionType" cmisra:id="cmis:document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <cmis:id>dtcmis:document</cmis:id> <cmis:localName>myrepname-cmis:document</cmis:localName> <cmis:localNamespace xsi:nil="true"/> <cmis:displayName>cmis:document</cmis:displayName> <cmis:queryName>cmis:document</cmis:queryName> <cmis:description>Description for type definition cmis:document</cmis:description> <cmis:baseId>cmis:document</cmis:baseId> <cmis:parentId>parent</cmis:parentId> <cmis:creatable>true</cmis:creatable> <cmis:fileable>true</cmis:fileable> <cmis:queryable>false</cmis:queryable> <cmis:fulltextIndexed>false</cmis:fulltextIndexed> <cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery> <cmis:controllablePolicy>true</cmis:controllablePolicy> <cmis:controllableACL>true</cmis:controllableACL> <cmis:versionable>true</cmis:versionable> <cmis:contentStreamAllowed>allowed</cmis:contentStreamAllowed> </cmisra:type></atom:entry>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 206 of 236

933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394

616617618

Page 207: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Please also see the example documents included with the schema.

3.10.2 Document EntryThis is a CMIS Document instance.

CMIS Services:GET: getObject, getObjectOfLatestVersion (getObject)PUT: updatePropertiesDELETE: deleteObject

Media Type: application/atom+xml;type=entry

Link Relations: self: Points to an URI that returns the atom entry for this document. Please see Atom for more

information. edit: Points to an URI that accepts PUT of atom entry. Please see AtomPub for more information. service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

up: Points to the atom feed containing the set of parents. If there is only one parent, the repository MAY point this link relation directly to the atom entry of the parent.

version-history: Points to atom feed containing the versions of this documento If the document is not versionable, this link relation may not be on the resource

current-version: Points to the latest version of the documento Uses query parameter ‘'returnVersion’' and enumReturnVersion

o If this version is the current-version, this link relation may not be on the resource

edit-media: o Same as setContentStream. Allows updating the content stream on this document

o Please see AtomPub for more information

working-copy: Points to the private working copy if it exists. describedby: Points to the type definition as an atom entry for the type of this document entry. alternate: this is used to identify the renditions available for the specified object. Please see the

Renditions section. http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions:http://docs.oasis-open.org/ns/

cmis/link/200908/allowableactions: Points to the allowable actions document for this object. http://docs.oasis-open.org/ns/cmis/link/200908/relationships:http://docs.oasis-open.org/ns/cmis/

link/200908/relationships: Points to the relationships feed for this object http://docs.oasis-open.org/ns/cmis/link/200908/policies:http://docs.oasis-open.org/ns/cmis/link/

200908/policies: Points to the policy feed for this object. http://docs.oasis-open.org/ns/cmis/link/200908/acl:http://docs.oasis-open.org/ns/cmis/link/

200908/acl: Points to ACL document for this object

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 207 of 236

939593969397

9398

93999400

940194029403940494059406

940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436

9437619620621

Page 208: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The following CMIS Atom extension element MUST be included inside the atom entry: cmisra:object

3.10.2.1 GETThe following arguments may be supplied. Please see the domain model for more information:

returnVersiono Used to differentiate between getObject() and getObjectOfLatestVersion().

o valid values are are described by the schema element cmisra:enumReturnVersion

o If not specified, return the version specified by the URI

includeAllowableActions includeRelationships includePolicyIds includeACL filter renditionFilter

o If not specified, renditions will not be included.

Request:GET /obj/7c088887-5991-4b3a-9ad3-16379127e647?filter=cmis:objectId HTTP/1.1Host: example.org

Response:HTTP/1.1 200 OkDate: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 3403Content-Type: application/atom+xml;type=entryLocation: /obj/7c088887-5991-4b3a-9ad3-16379127e647?filter=cmis:objectId

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647"/> <atom:id>urn:uuid:7c088887-5991-4b3a-9ad3-16379127e647</atom:id> <atom:title type="text">Invoice</atom:title> <atom:updated>2010-01-25T10:21:00.193-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 208 of 236

94389439

9440

94419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487

622623624

Page 209: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:21:00.193-08:00</atom:published> <atom:summary type="html">HTML summary of Entry 7c088887-5991-4b3a-9ad3-16379127e647</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/7c088887-5991-4b3a-9ad3-16379127e647/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>7c088887-5991-4b3a-9ad3-16379127e647</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Please also see the example documents included with the schema.

3.10.2.2 PUTThis does a replacement of the atom entry with the atom entry document specified. If readwrite properties are not included, the repository SHOULD NOT modify them.

The server SHOULD respond with:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 209 of 236

9488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539

9540

954195429543

95449545

625626627

Page 210: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

HTTP Status Code 200 Response Body containing the updated atom entry

3.10.2.3 DELETEThis removes the document.Success HTTP code: 204

3.10.3 Document Private Working Copy (PWC) EntryThis is the private working copy of the document (checkedout version of document)CMIS Services:

GET: getObjectPUT: updateProperties or checkInDELETE: cancelCheckOut

Media Type: application/atom+xml;type=entry

Link relations: self: Points to the URI to retrieve this atom entry. Please see Atom for more information edit: Points to the URI to update this atom entry via POST. Please see AtomPub for more

information. service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

up: Points to the atom feed containing the set of parents. If there is only one parent, the repository MAY point this link relation directly to the atom entry of the parent.

version-historyo Points to an URI that returns the feed associated with the version history

edit-mediao Same as setContentStream. Allows updating the content stream on this document

o Please see AtomPub for more information

via: atom entry that created this private working copy describedby: Points to the type definition as an atom entry for the type of this PWC entry. alternate: this is used to identify the renditions available for the specified object. Please see the

Renditions section. http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions:http://docs.oasis-open.org/ns/

cmis/link/200908/allowableactions: Points to the allowable actions document for this object. http://docs.oasis-open.org/ns/cmis/link/200908/relationships:http://docs.oasis-open.org/ns/cmis/

link/200908/relationships: Points to the relationships feed for this object http://docs.oasis-open.org/ns/cmis/link/200908/policies:http://docs.oasis-open.org/ns/cmis/link/

200908/policies: Points to the policy feed for this object. http://docs.oasis-open.org/ns/cmis/link/200908/acl:http://docs.oasis-open.org/ns/cmis/link/

200908/acl: Points to ACL document for this object

The following element MUST be included inside the atom entry:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 210 of 236

95469547

9548

954995509551

9552955395549555955695579558

955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585

95869587

628629630

Page 211: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

cmisra:object

3.10.3.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter includeAllowableActions includeRelationships renditionFilter

o If not specified, renditions will not be included.

Request:GET /obj/3240a476-6de6-4ab2-978d-85ca2f4f3206?filter=cmis:objectId HTTP/1.1Host: example.org

Response:HTTP/1.1 200 OkDate: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 3564Content-Type: application/atom+xml;type=entryLocation: /obj/3240a476-6de6-4ab2-978d-85ca2f4f3206?filter=cmis:objectId

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206"/> <atom:id>urn:uuid:3240a476-6de6-4ab2-978d-85ca2f4f3206</atom:id> <atom:title type="text">Invoice</atom:title> <atom:updated>2010-01-25T10:21:00.333-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:21:00.333-08:00</atom:published>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 211 of 236

9588

9589

95909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642

631632633

Page 212: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:summary type="html">HTML summary of Entry 3240a476-6de6-4ab2-978d-85ca2f4f3206</atom:summary> <atom:link rel="edit-media" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/edit-media"/> <atom:link rel="alternate" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/alternate"/> <atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/parents"/> <atom:link type="application/atom+xml;type=feed" rel="version-history" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/allversions"/> <atom:link type="application/atom+xml;type=entry" rel="current-version" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/latest"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/acl"/> <atom:link type="application/atom+xml;type=feed" rel="working-copy" href="http://cmisexample.oasis-open.org/rep1/3240a476-6de6-4ab2-978d-85ca2f4f3206/pwc"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>3240a476-6de6-4ab2-978d-85ca2f4f3206</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Please also see the example documents included with the schema.

3.10.3.2 PUTThis does a replacement of the atom entry with the atom entry document specified. If modifiable properties (whencheckedout or readwrite) are not included, the repository SHOULD NOT modify them.

The following arguments may be supplied. Please see the domain model for more information: checkinComment major checkin

o Used to differentiate between updateProperties() or checkin() services. If TRUE, execute checkin service.

o If this argument is specified as TRUE, then the body to PUT MAY be omitted if there are no modifications to be made during checkin

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 212 of 236

964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684

9685

968696879688

968996909691969296939694969596969697

634635636

Page 213: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The server SHOULD respond with: HTTP Status Code 200 Location header of the resource (if changed via checkin) Response Body containing the updated atom entry

3.10.3.3 DELETEThis removes the document entry, in this case, cancels the check out. The PWC will be removed.

Success HTTP code: 204

3.10.4 Folder EntryThis is a CMIS Folder instance. The properties of a folder map onto the feed tag.CMIS Services:

GET: getObjectPUT: updatePropertiesDELETE: deleteObject (this is deletion of the folder only and not any contained objects)

Media Type: application/atom+xml;type=entry

Link Relations: self: Points to the URI to retrieve this atom entry. Please see Atom for more informationedit:

Points to the URI to update this atom entry via POST. Please see AtomPub for more information. service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

describedby: Points to the type definition as an atom entry for the type of this folder entry. down: Points to the children of this folder

o application/atom+xml : Points to the atom feed document representing the children feed for this same folder

o application/cmistree+xml: Points to the descendants feed of the same folder

up: Points to the atom entry for the parento If the root folder, this link will not be present

alternate: this is used to identify the renditions available for the specified object. Please see the Renditions section.

http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions:http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions: Points to the allowable actions document for this object.

http://docs.oasis-open.org/ns/cmis/link/200908/relationships:http://docs.oasis-open.org/ns/cmis/link/200908/relationships: Points to the relationships feed for this object

http://docs.oasis-open.org/ns/cmis/link/200908/policies:http://docs.oasis-open.org/ns/cmis/link/200908/policies: Points to the policy feed for this object.

http://docs.oasis-open.org/ns/cmis/link/200908/acl:http://docs.oasis-open.org/ns/cmis/link/200908/acl: Points to ACL document for this object

http://docs.oasis-open.org/ns/cmis/link/200908/foldertree:http://docs.oasis-open.org/ns/cmis/link/200908/foldertree: Points to the folder tree for this folder

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 213 of 236

96989699970097019702

97039704

97059706

9707970897099710971197129713

97149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739

637638639

Page 214: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

The following CMIS Atom extension element MUST be included inside the atom entry: cmisra:object

3.10.4.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter includeAllowableActions includeRelationships renditionFilter

o If not specified, renditions will not be included.

Request:GET /obj/cfc03a28-8240-471d-b4ba-6d8756cd5093?filter=cmis:objectId HTTP/1.1Host: example.org

Response:HTTP/1.1 200 OkDate: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 3332Content-Type: application/atom+xml;type=entryLocation: /obj/cfc03a28-8240-471d-b4ba-6d8756cd5093?filter=cmis:objectId

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093"/> <atom:id>urn:uuid:cfc03a28-8240-471d-b4ba-6d8756cd5093</atom:id> <atom:title type="text">Customer Folder</atom:title> <atom:updated>2010-01-25T10:21:00.208-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093/type"/>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 214 of 236

974097419742

9743

97449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793

640641642

Page 215: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:21:00.208-08:00</atom:published> <atom:summary type="html">HTML summary of Entry cfc03a28-8240-471d-b4ba-6d8756cd5093</atom:summary> <atom:link type="application/atom+xml;type=entry" rel="up" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093/up"/> <atom:link type="application/atom+xml;type=feed" rel="down" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093/children"/> <atom:link type="application/cmistree+xml" rel="down" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093/tree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093/foldertree"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093/relationships"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/cfc03a28-8240-471d-b4ba-6d8756cd5093/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>cfc03a28-8240-471d-b4ba-6d8756cd5093</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Please also see the example documents included with the schema.

3.10.4.2 PUTThis does a replacement of the atom entry with the atom entry document specified. If readwrite properties are not included, the repository SHOULD NOT modify them.

The server SHOULD respond with: HTTP Status Code 200 Response Body containing the updated atom entry

3.10.4.3 DELETEThis removes the object (folder) from the repository.Success HTTP code: 204

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 215 of 236

979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832

9833

983498359836

9837983898399840

9841

984298439844

643644645

Page 216: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.10.5 Relationship EntryThis is a CMIS relationship instance. These objects are exposed via ‘'relationships’' link type.CMIS Services:

GET: getObjectPUT: updatePropertiesDELETE: deleteObject

Media Type: application/atom+xml;type=entry

Link Relations: self: Points to the URI to retrieve this atom entry. Please see Atom for more information edit: Points to the URI to update this atom entry via POST. Please see AtomPub for more

information. service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

describedby: Points to the type definition as an atom entry for the type of this relationship entry. http://docs.oasis-open.org/ns/cmis/link/200908/target http://docs.oasis-open.org/ns/cmis/link/200908/source http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions:http://docs.oasis-open.org/ns/

cmis/link/200908/allowableactions: Points to the allowable actions document for this object. http://docs.oasis-open.org/ns/cmis/link/200908/policies:http://docs.oasis-open.org/ns/cmis/link/

200908/policies: Points to the policy feed for this object. http://docs.oasis-open.org/ns/cmis/link/200908/acl:http://docs.oasis-open.org/ns/cmis/link/

200908/acl: Points to ACL document for this object

The following element MUST be included inside the atom entry: cmisra:object

3.10.5.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter includeAllowableActions

Request:GET /obj/ad443afd-aa1a-4071-9735-1a49aac4e439?filter=cmis:objectId HTTP/1.1Host: example.org

Response:HTTP/1.1 200 OkDate: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 2861Content-Type: application/atom+xml;type=entryLocation: /obj/ad443afd-aa1a-4071-9735-1a49aac4e439?filter=cmis:objectId

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 216 of 236

9845984698479848984998509851

98529853985498559856985798589859986098619862986398649865986698679868

986998709871

9872

9873987498759876

987798789879988098819882988398849885988698879888

646647648

Page 217: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/ad443afd-aa1a-4071-9735-1a49aac4e439"/> <atom:id>urn:uuid:ad443afd-aa1a-4071-9735-1a49aac4e439</atom:id> <atom:title type="text">Customer Relationship</atom:title> <atom:updated>2010-01-25T10:21:00.349-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/ad443afd-aa1a-4071-9735-1a49aac4e439"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/ad443afd-aa1a-4071-9735-1a49aac4e439"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/ad443afd-aa1a-4071-9735-1a49aac4e439/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/ad443afd-aa1a-4071-9735-1a49aac4e439/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:21:00.365-08:00</atom:published> <atom:summary type="html">HTML summary of Entry ad443afd-aa1a-4071-9735-1a49aac4e439</atom:summary> <atom:link type="application/atom+xml;type=entry" rel="http://docs.oasis-open.org/ns/cmis/link/200908/source" href="http://cmisexample.oasis-open.org/rep1/ad443afd-aa1a-4071-9735-1a49aac4e439/source"/> <atom:link type="application/atom+xml;type=entry" rel="http://docs.oasis-open.org/ns/cmis/link/200908/target" href="http://cmisexample.oasis-open.org/rep1/ad443afd-aa1a-4071-9735-1a49aac4e439/target"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasis-open.org/rep1/ad443afd-aa1a-4071-9735-1a49aac4e439/policies"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/ad443afd-aa1a-4071-9735-1a49aac4e439/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>ad443afd-aa1a-4071-9735-1a49aac4e439</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 217 of 236

98899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950

649650651

Page 218: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Please also see the example documents included with the schema.

3.10.5.2 PUTThis does a replacement of the atom entry with the atom entry document specified. If readwrite properties are not included, the repository SHOULD NOT modify them.

The server SHOULD respond with: HTTP Status Code 200 Response Body containing the updated atom entry

3.10.5.3 DELETEThis removes the relationship entry.Successful HTTP code: 204

3.10.6 Policy EntryThis is a CMIS policy instance.CMIS Services:

GET: getObjectPUT: updatePropertiesDELETE: deleteObject or removePolicy

Media Type: application/atom+xml;type=entry

Link Relations: self edit service: Points to service document containing the CMIS repository. The service document

MUST contain only one workspace element.o Media Type: application/atomsvc+xml

describedby: Points to the type definition as an atom entry for the type of this policy entry. alternate: this is used to identify the renditions available for the specified object. Please see the

Renditions section. http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions:http://docs.oasis-open.org/ns/

cmis/link/200908/allowableactions: Points to the allowable actions document for this object. http://docs.oasis-open.org/ns/cmis/link/200908/policies:http://docs.oasis-open.org/ns/cmis/link/

200908/policies: Points to the policy feed for this object. http://docs.oasis-open.org/ns/cmis/link/200908/acl:http://docs.oasis-open.org/ns/cmis/link/

200908/acl: Points to ACL document for this object

The following element MUST be included inside the atom entry: cmisra:object

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 218 of 236

9951

9952

995399549955

9956995799589959

9960

996199629963

9964996599669967996899699970

9971997299739974997599769977997899799980998199829983998499859986

998799889989

9990

652653654

Page 219: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

3.10.6.1 GETThe following arguments may be supplied. Please see the domain model for more information:

filter includeAllowableActions includeRelationships renditionFilter

o If not specified, renditions will not be included.

Request:GET /obj/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0?filter=cmis:objectId HTTP/1.1Host: example.org

Response:HTTP/1.1 200 OkDate: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 2608Content-Type: application/atom+xml;type=entryLocation: /obj/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0?filter=cmis:objectId

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><atom:entry xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <atom:author> <atom:name>Al Brown</atom:name> <atom:uri>http://www.ibm.com/</atom:uri> <atom:email>[email protected]</atom:email> </atom:author> <atom:content src="http://cmisexample.oasis-open.org/rep1/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0"/> <atom:id>urn:uuid:a09ed524-5f1b-4940-b2f0-4e4cd4631bf0</atom:id> <atom:title type="text">Security Policy</atom:title> <atom:updated>2010-01-25T10:21:00.318-08:00</atom:updated> <atom:link rel="self" href="http://cmisexample.oasis-open.org/rep1/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0"/> <atom:link rel="edit" href="http://cmisexample.oasis-open.org/rep1/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0"/> <atom:link type="application/cmis+xml;type=allowableActions" rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasis-open.org/rep1/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0/allowableactions"/> <atom:link type="application/atom+xml;type=entry" rel="describedby" href="http://cmisexample.oasis-open.org/rep1/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0/type"/> <atom:link type="application/atomsvc+xml" rel="service" href="http://cmisexample.oasis-open.org/rep1//service"/> <atom:published>2010-01-25T10:21:00.318-08:00</atom:published> <atom:summary type="html">HTML summary of Entry a09ed524-5f1b-4940-b2f0-4e4cd4631bf0</atom:summary>

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 219 of 236

99919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045

655656657

Page 220: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<atom:link type="application/atom+xml;type=feed" rel="up" href="http://cmisexample.oasis-open.org/rep1/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0/parents"/> <atom:link type="application/atom+xml;type=feed" rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasis-open.org/rep1/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0/relationships"/> <atom:link type="application/cmisacl+xml" rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasis-open.org/rep1/a09ed524-5f1b-4940-b2f0-4e4cd4631bf0/acl"/> <cmisra:object> <cmis:properties> <cmis:propertyId localName="rep-cmis:objectId" propertyDefinitionId="cmis:objectId"> <cmis:value>a09ed524-5f1b-4940-b2f0-4e4cd4631bf0</cmis:value> </cmis:propertyId> </cmis:properties> </cmisra:object></atom:entry>

Please also see the example documents included with the schema.

3.10.6.2 PUTThis does a replacement of the atom entry with the atom entry document specified. If read/write properties are not included, the repository SHOULD NOT modify them.

The server SHOULD respond with: HTTP Status Code 200 Response Body containing the updated atom entry

3.10.6.3 DELETEThis removes the policy entry. If this policy entry was discovered through a policy collection on an object, then removePolicy() is performed rather than deleteObject() on the policy itself.

Success HTTP code: 204

3.10.7 Content StreamThis is the content stream portion of the document object. CMIS Services:

GET: getContentStreamPUT: setContentStreamDELETE: deleteContentStream

Media Type: Mime/Type of resource (mime type of content stream on document)

3.10.7.1 GETThis returns the content stream.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 220 of 236

10046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067

10068

100691007010071

10072100731007410075

10076

100771007810079

1008010081

10082100831008410085100861008710088

1008910090

10091658659660

Page 221: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

It is RECOMMENDED that HTTP Range requests are supported on this resource. It is RECOMMENDED that HTTP compression is also supported.

Please see RFC2616 for more information on HTTP Range requests.

3.10.7.2 PUTThis does a replacement of the content stream.

The following optional arguments may be supplied. Please see the domain model for more information: overwriteFlag.

o If not specified, this defaults to ‘'true’' in this binding and behaves consistent with AtomPub.

Success HTTP code: 200 (with content), 204 (without content) or 201 if a new resource is created. Please see the HTTP specification for more information.

Returns headers: Content-Location: URI for content stream Location: URI for content stream

3.10.7.3 DELETEThis removes the content stream.

3.10.8 ACL ResourceCMIS Services:

GET: getACLPUT: applyACL

Media Type: application/cmisacl+xml

3.10.8.1 GETThis returns the CMIS ACL for a specified object. The client will follow the link on the atom entry to get the CMIS ACL for that object.

Request:GET /objacl/fd79b7bd-2579-4ad1-aea2-eda89527fbef HTTP/1.1Host: example.org

Response:HTTP/1.1 200 OkDate: Mon, 25 Jan 2010 10:21:00 -0800Content-Length: 758Content-Type: application/cmisacl+xmlLocation: /objacl/fd79b7bd-2579-4ad1-aea2-eda89527fbef

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 221 of 236

1009210093

1009410095

1009610097

1009810099101001010110102

101031010410105

10106101071010810109

1011010111

10112101131011410115

1011610117

10118

101191012010121

101221012310124101251012610127101281012910130101311013210133

661662663

Page 222: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cmis:acl xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"> <cmis:permission> <cmis:principal> <cmis:principalId>Al Brown</cmis:principalId> </cmis:principal> <cmis:permission>cmis:read</cmis:permission> <cmis:permission>cmis:write</cmis:permission> <cmis:permission>cmis:all</cmis:permission> <cmis:permission>publish</cmis:permission> <cmis:direct>true</cmis:direct> </cmis:permission></cmis:acl>

Please also see the example documents included with the schema.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 222 of 236

10134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155

664665666

Page 223: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

4 Web Services Binding4.1 OverviewAll services and operations defined in the Domain Model are presented in the Web Services binding. The WSDL for these services reference two XSD documents. One defines elements for the primary data types of documents, folders, relationships and policies as well as collections of these types of objects. The second XSD defines the message formats for each of the CMIS services; the messages often refer to the data types defined in the first XSD schema. The WSDL presents exactly the abstract services defined in the Services section.The normative CMIS Web Services binding is defined by the WSDL and XSD as well as the details given here in this part of the CMIS specification except the examples.

4.1.1 WS-IA CMIS Web Services binding MUST comply with WS-I Basic Profile 1.1 and Basic Security Profile 1.0.

4.1.2 AuthenticationA CMIS Web Services binding SHOULD support WS-Security 1.1 for Username Token Profile 1.1 and MAY also support other authentication mechanisms. A CMIS repository MAY grant access to all or a subset of the CMIS services to unauthenticated clients.

4.1.3 Content TransferAll endpoints of the Web Services binding MUST be MTOM enabled.

4.1.4 Reporting ErrorsServices MUST report errors via SOAP faults. The CMIS-Messaging.xsd defines a basic fault structure that includes an error code and an error message and the WSDL for each service defines specific messages that have the basic fault format.

4.2 Web Services Binding MappingThe Domain Model defines all services, operations, parameters and objects of CMIS. The Web Services binding is an exact one-to-one mapping of this definition with small exceptions that are explained in the next section. Operations and parameters are named exactly after their counterparts in the Services section. All rules and exceptions defined there apply to the Web Services binding. Optional parameters and optional return values are not set if they are missing or their value is NULL.

4.3 Additions to the Services section

4.3.1 updateProperties and checkIn SemanticsThis binding supports partial properties updates. All properties passed to updateProperties or checkIn will be updated to their new values. Properties that are passed without a value will be set to their default value or un-set if no default value is defined. All others property values remain untouched.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 223 of 236

10156

101571015810159101601016110162101631016410165

1016610167

10168101691017010171

1017210173

10174101751017610177

101781017910180101811018210183

10184

10185101861018710188

667668669

Page 224: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

4.3.2 Content RangesThis binding supports the retrieval of content ranges. The operation getContentStream accepts two optional parameters:

Integer offset: The first byte of the content to retrieve. Default value is 0. Integer length: The length of the range in bytes. Default value is the size of the content minus

the offset.

If the offset value is greater than the size of the content the repository SHOULD throw a constraint exception.If offset + length is greater than the size of the content the repository should deliver the content from the offset to the end of the content.

4.3.3 ExtensionsOn all input messages and some output messages exists an element called extension. This element is used to provide vendor or repository-specific information between client and server.All of the types referenced by the schema also support xs:any for vendor or repository-specific information.

4.3.4 Web Services Specific StructuresThis binding requires specific structures that are not part of the general CMIS schema.Please also see the example request and response documents included with the schema.

4.3.4.1 cmisFaultType and cmisFaultcmisFaultType and cmisFault SHOULD be used to generate SOAP faults. See .

4.3.4.2 cmisRepositoryEntryTypecmisRepositoryEntryType is the return structure of getRepositories. It contains the id and the name of a repository.

4.3.4.3 cmisTypeContainercmisTypeContainer is the return structure of getTypeDescendants. It holds a type hierarchy.

4.3.4.4 cmisTypeDefinitionListTypecmisTypeDefinitionListType is the return structure of getTypeChildren. It contains a list of types, the hasMoreItems flag and the numItem element.

4.3.4.5 cmisObjectInFolderType, cmisObjectParentsType and cmisObjectInFolderContainerType

cmisObjectInFolderType holds, in addition to a cmisObjectType object, a path segment string. It is used in all operations that support the includePathSegments parameter. cmisObjectParentsType is similar but has a relative path segment string instead of a path segment. For details about path segments and relative path segments see section 2.1.5.3 Paths.cmisObjectInFolderContainerType contains a folder hierarchy.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 224 of 236

101891019010191101921019310194

1019510196101971019810199

10200

1020110202102031020410205

102061020710208

1020910210

102111021210213

1021410215

102161021710218

10219102201022110222102231022410225

670671672

Page 225: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

4.3.4.6 cmisObjectListType and cmisObjectInFolderListTypecmisObjectListType and cmisObjectInFolderListType hold lists of cmisObjectType and cmisObjectInFolderType structures. They also contain the hasMoreItems flag and the numItems element that are returned by operations that return these lists.

4.3.4.7 cmisContentStreamTypecmisContentStreamType wraps a content stream and additional information about the stream.

Client to Repository Repository to Client

length Length of the content stream in bytes. If set it MUST be a positive number.If the length is unknown it MUST NOT be set.

SHOULD be set SHOULD be set

mimeType MIME Media Type of the content stream.For the primary content of a document it SHOULD match the value of the property cmis:contentStreamMimeType.

SHOULD be set MUST be set

filename Filename of the content stream.For the primary content of a document it SHOULD match the value of the property cmis:contentStreamFileName.

SHOULD be set SHOULD be set

stream The content stream.MUST be present even if the content stream has 0 bytes.

MUST be set MUST be set

4.3.4.8 cmisACLTypecmisACLType is the return structure of getACL and applyACL. It contains the current Access Control List (ACL) of the object and the exact flag that indeciates if the ACL fully describes the permission of this object.

4.3.4.9 cmisExtensionTypecmisExtensionType is a placeholder for extensions. See 4.3.3 Extensions.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 225 of 236

10226102271022810229

1023010231

10232

10233102341023510236

102371023810239

673674675

Page 226: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

5 IANA Considerations5.1 Content-Type Registration

5.1.1 CMIS Query A CMIS Query Document, when serialized as XML 1.0, can be identified with the following media type:

MIME media type name: application MIME subtype name: cmisquery +xml Mandatory parameters: None Optional parameters:

"charset": This parameter has semantics identical to the charset parameter of the "application/xml" media type as specified in [RFC3023].

Encoding considerations: Identical to those of "application/xml" as described in [RFC3023], Section 3.2.

Security considerations: As defined in this specification.In addition, as this media type uses the "+xml" convention, it shares the same security considerations as described in [RFC3023], Section 10.

Interoperability considerations: There are no known interoperability issues.

Published specification: This specification. Applications that use this media type:

No known applications currently use this media type. Additional information: Magic number(s):

As specified for "application/xml" in [RFC3023], Section 3.2. File extension: .cmisquery Fragment identifiers:

As specified for "application/xml" in [RFC3023], Section 5. Base URI:

As specified in [RFC3023], Section 6. Macintosh File Type code: TEXT Person and email address to contact for further information: OASISOASIS CMIS TC <[email protected]> Intended usage: COMMON Author/Change controller: IESG

5.1.2 CMIS AllowableActions A CMIS Allowable Actions Document, when serialized as XML 1.0, can be identified with the following media type:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 226 of 236

10240

10241

1024210243

102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273

102741027510276

10277676677678

Page 227: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

MIME media type name: application MIME subtype name: cmisallowableactions +xml Mandatory parameters: None. Optional parameters:

"charset": This parameter has semantics identical to the charset parameter of the "application/xml" media type as specified in [RFC3023].

Encoding considerations: Identical to those of "application/xml" as described in [RFC3023], Section 3.2.

Security considerations: As defined in this specification.In addition, as this media type uses the "+xml" convention, it shares the same security considerations as described in [RFC3023], Section 10.

Interoperability considerations: There are no known interoperability issues.

Published specification: This specification. Applications that use this media type:

No known applications currently use this media type. Additional information: Magic number(s):

As specified for "application/xml" in [RFC3023], Section 3.2. File extension: .cmisallowableactions Fragment identifiers:

As specified for "application/xml" in [RFC3023], Section 5. Base URI:

As specified in [RFC3023], Section 6. Macintosh File Type code: TEXT Person and email address to contact for further information: OASISOASIS CMIS TC <[email protected]> Intended usage: COMMON Author/Change controller: IESG

5.1.3 CMIS TreeA CMIS Tree Document, when serialized as XML 1.0, can be identified with the following media type:

MIME media type name: application MIME subtype name: cmistree +xml Mandatory parameters: None. Optional parameters:"charset": This parameter has semantics identical to the charset parameter of the "application/xml" media type as specified in [RFC3023]. Encoding considerations: Identical to those of "application/xml" as described in [RFC3023], Section 3.2. Security considerations: As defined in this specification.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 227 of 236

1027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306

10307

1030810309

10310103111031210313103141031510316103171031810319

679680681

Page 228: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

In addition, as this media type uses the "+xml" convention, it shares the same security considerations as described in [RFC3023], Section 10. Interoperability considerations: There are no known interoperability issues. Published specification: This specification. Applications that use this media type: No known applications currently use this media type. Additional information: Magic number(s): As specified for "application/xml" in [RFC3023], Section 3.2. File extension: .cmistree Fragment identifiers: As specified for "application/xml" in [RFC3023], Section 5. Base URI: As specified in [RFC3023], Section 6. Macintosh File Type code: TEXT Person and email address to contact for further information: OASISOASIS CMIS TC <[email protected]> Intended usage: COMMON Author/Change controller: IESG

5.1.4 CMIS AtomA CMIS Atom Document, when serialized as XML 1.0, can be identified with the following media type:

MIME media type name: application MIME subtype name: cmisatom +xml Mandatory parameters: None. Optional parameters:"charset": This parameter has semantics identical to the charset parameter of the "application/xml" media type as specified in [RFC3023].“"type”:": This parameter has semantics identical to the type parameter of the “"application/atom+xml”" as specified in [RFC4287] Encoding considerations: Identical to those of "application/xml" as described in [RFC3023], Section 3.2. Security considerations: As defined in this specification.In addition, as this media type uses the "+xml" convention, it shares the same security considerations as described in [RFC3023], Section 10. Interoperability considerations: There are no known interoperability issues. Published specification: This specification. Applications that use this media type: No known applications currently use this media type.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 228 of 236

1032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339

10340

1034110342

10343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361

682683684

Page 229: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Additional information: Magic number(s): As specified for "application/xml" in [RFC3023], Section 3.2. File extension: .cmisatom Fragment identifiers: As specified for "application/xml" in [RFC3023], Section 5. Base URI: As specified in [RFC3023], Section 6. Macintosh File Type code: TEXT Person and email address to contact for further information: OASISOASIS CMIS TC <[email protected]> Intended usage: COMMON Author/Change controller: IESG

Please see section 3.1.1 on why this media type is needed above the Atom Media Type.

5.1.5 CMIS ACLA CMIS ACL Document, when serialized as XML 1.0, can be identified with the following media type:

MIME media type name: application MIME subtype name: cmisacl +xml Mandatory parameters: None. Optional parameters:"charset": This parameter has semantics identical to the charset parameter of the "application/xml" media type as specified in [RFC3023]. Encoding considerations: Identical to those of "application/xml" as described in [RFC3023], Section 3.2. Security considerations: As defined in this specification.In addition, as this media type uses the "+xml" convention, it shares the same security considerations as described in [RFC3023], Section 10. Interoperability considerations: There are no known interoperability issues. Published specification: This specification. Applications that use this media type: No known applications currently use this media type. Additional information: Magic number(s): As specified for "application/xml" in [RFC3023], Section 3.2. File extension: .cmisacl Fragment identifiers: As specified for "application/xml" in [RFC3023], Section 5. Base URI:

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 229 of 236

10362103631036410365103661036710368103691037010371103721037310374

1037510376

1037710378

103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402

685686687

Page 230: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

As specified in [RFC3023], Section 6. Macintosh File Type code: TEXT Person and email address to contact for further information: OASISOASIS CMIS TC <[email protected]> Intended usage: COMMON Author/Change controller: IESG

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 230 of 236

104031040410405104061040710408

10409

688689690

Page 231: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

6 ConformanceAn implementation conforms to this specification if it satisfies all of the MUST or REQUIRED level requirements defined within this specification. Specification:

This specification references a number of other specifications (see the table above). In order to comply with this specification, an implementation MUST implement the portions of referenced specifications necessary to comply with the required provisions of this specification. Additionally, the implementation of the portions of the referenced specifications that are specifically cited in this specification MUST comply with the rules for those portions as established in the referenced specification.

An implementation conforms to this specification if it satisfies all of the MUST or REQUIRED level requirements defined within this specification.

Domain Model:Normative text within this specification takes precedence over the CMIS Core XML Schema. That is, the normative text in this specification further constrains the schemas and/or WSDL that are part of this specification; and this specification contains further constraints on the elements defined in referenced schemas.

Clients:Client implementations MAY implement either Restful AtomPub Binding or the Web Services Binding.

Repositories:Repositories MUST implement the following CMIS protocol bindings:

i. Restful AtomPub Bindingii. Web Services Binding

Rest Binding:This specification references a number of other specifications. In order to comply with this specification, an implementation MUST implement the portions of referenced specifications necessary to comply with the required provisions of this specification. Additionally, the implementation of the portions of the referenced specifications that are specifically cited in this specification MUST comply with the rules for those portions as established in the referenced specification.Additionally normative text within this specification takes precedence over the CMIS RestAtom XML Schema. That is, the normative text in this specification further constrains the schemas and/or WSDL that are part of this specification; and this specification contains further constraints on the elements defined in referenced schemas.The CMIS RestAtom XML takes precedence over any examples or non-normative outlines included either in this document or as standalone examples.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 231 of 236

10410

104111041210413104141041510416104171041810419

104201042110422

10423104241042510426104271042810429

10430104311043210433

1043410435104361043710438

1043910440104411044210443104441044510446104471044810449104501045110452

691692693

Page 232: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Web Services Binding:Normative text within this specification takes precedence over the CMIS Messaging XML and CMIS WSDL. That is, the normative text in this specification further constrains the schemas and WSDL that are part of this specification; and this specification contains further constraints on the elements defined in referenced schemas.The CMIS Messaging XML and CMIS WSDL takes precedence over any examples or non-normative outlines included either in this document or as standalone examples.

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 232 of 236

1045310454104551045610457104581045910460

694695696

Page 233: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

A. AcknowledgementsThe following individuals have participated in the creation of this specification and are gratefully acknowledged:

Participants:Philippe Allart, AdullactFlorian Bartels, fme AGFred Boiscuvier, Exalead, Inc.Al Brown, IBMJay Brown, IBMMark Carlson, Sun MicrosystemsDerek Carr, IBMDavid Caruana, Alfresco SoftwareEric Chan, Oracle CorporationSameer Charles, Magnolia International AGDerek Chow, Genus Technologies, LLCDavid Choy, EMC CorporationScott Conroy, IndividualCornelia Davis, EMC CorporationDoug Domeny, EktronKevin Dorr, Flatirons Solutions CorporationJason Dubreuil, Fidelity InvestmentsMichael Duerig, Day SoftwareRandy Dufault, Genus Technologies, LLCWill Ezell, dotCMSBetsy Fanning, AIIMSteffen Frederiksen, Content Technologies ApSStephan Friedl, QuarkDustin Friesenhahn, Microsoft CorporationGary Gershon, IndividualPaul Goetz, SAP AGJens Goldhammer, fme AGGregory Grefenstette, Exalead, Inc.Florent Guillaume, NuxeoEthan Gur-esh, Microsoft CorporationAlexander Haag, WeWebU Software AGDennis Hamilton, IndividualMartin Hermes, SAP AGJens Huebel, Open Text CorporationDavid Izatt, Structured Software Systems Limited (3SL)Gershon Janssen, IndividualRaphael Jean, EntropysoftVolker John, Saperion AGShane Johnson, Citytech, Inc.Christophe Kijewska, AdullactIjonas Kisselbach, VamosaMark Klamerus, IndividualStephan Klevenz, SAP AGBoris Kraft, Magnolia International AGAlison Macmillan, Oracle CorporationMichael Marth, Day SoftwareMary McRae, OASIS

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 233 of 236

10461

1046210463

10464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512

697698699

Page 234: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

Ryan McVeigh, Oracle CorporationJuerg Meier, fme AGGregory Melahn, IBMPat Miller, Microsoft CorporationFlorian Müller, Open Text CorporationThomas Mueller, Day SoftwareJohn Newton, Alfresco SoftwareDavid Nuescheler, Day SoftwareConleth O'Connell, Vignette CorporationMarc Pallot, ESoCE-NETRainer Pausch, WeWebU Software AGDominique Pfister, Day SoftwarePeeter Piegaze, Day SoftwareDavid Pitfield, Oracle CorporationThomas Pole, Harris CorpNorrie Quinn, EMC CorporationCraig Randall, Adobe CorporationJulian Reschke, Greenbytes GmbHCelso Rodriguez, ASG Software SolutionsSteve Roth, Oracle CorporationPatrick Ryan, IBMAngela Schreiber, Day SoftwareSpencer Shearer, Exalead, Inc.Madi Solomon, Pearson PLCWojciech Specht, fme AGDmitri Tcherevik, FatWireJason Tesser, dotCMSDavid Torres, dotCMSMaik Uhlenberg, fme AGOliver Walthard, Day SoftwarePatrick Ward, Booz Allen Hamilton

Original Authors of the initial contribution:Al Brown, IBMDavid Choy, EMCCornelia Davis, EMCEthan Gur-Esh, Microsoft

Original Acknowledgements of the initial contribution:Al Brown, IBMDavid Caruana, AlfrescoDerek Carr, IBMDavid Choy, EMCCornelia Davis, EMCPaul Goetz, SAPEthan Gur-Esh, MicrosoftMartin Hermes, SAPJens Hubel, OpenTextJay Brown, IBM Ryan McVeigh, OracleGregory Melahn, IBMFlorian Müller, OpenTextJohn Newton, AlfrescoNorrie Quinn, EMCSteve Roth, OracleCraig Randall, EMC

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 234 of 236

10513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543

10544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568

700701702

Page 235: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

B. Non-Normative Text

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 235 of 236

10569

10570

703704705

Page 236: Content Management Interoperability Services (CMIS ...docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.doc · Web viewThe Content Management Interoperability Services (CMIS) standard

C. Revision History

Revision Date Editor Changes Made

1.0 01/11/2010 Al Brown

First specification

cmis-spec-v1.0-errata-01-os-complete04 November 2011

Standards Track Work Product Copyright © OASIS Open 2011. All Rights Reserved. Page 236 of 236

10571

10572

10573

706707708