Content Management Interoperability
Services Version 0.62c
Part II – ReSTful AtomPub Binding
Committee Draft
29 June 2009
Specification URIs:
This Version:
http://docs.oasis-open.org/cmis/ [additional path/filename] .html
http://docs.oasis-open.org/cmis/ [additional path/filename] .doc
http://docs.oasis-open.org/cmis/ [additional path/filename] .pdf
Previous Version:
http://docs.oasis-open.org/cmis/ [additional path/filename] .html
http://docs.oasis-open.org/cmis/ [additional path/filename] .doc
http://docs.oasis-open.org/cmis/ [additional path/filename] .pdf
Latest Version:
http://docs.oasis-open.org/cmis/ [additional path/filename] .html
http://docs.oasis-open.org/cmis/ [additional path/filename] .doc
http://docs.oasis-open.org/cmis/ [additional path/filename] .pdf
Technical Committee:
OASIS Content Management Interoperability Services TC
Chair(s):
David Choy
Editor(s):
Al Brown
Ethan Gur-Esh
Ryan McVeigh
Related work:
This specification replaces or supersedes:

CMIS Part II – ReSTful AtomPub Binding 0.62
This specification is related to:


CMIS Part I Draft 0.62
CMIS Part II – Web Services Draft 0.62
Declared XML Namespace(s):
http://docs.oasis-open.org/ns/cmis/restatom /200901
Abstract:
This specification defines the ReSTful AtomPub based binding.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 1 of 54
Status:
This document was last revised or approved by the CMIS TC on the above date. The level of
approval is also listed above. Check the “Latest Version” or “Latest Approved 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.oasisopen.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.oasisopen.org/committees/CMIS/ipr.php.
The non-normative errata page for this specification is located at http://www.oasisopen.org/committees/CMIS/.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 2 of 54
Notices
Copyright © OASIS® 2008. 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 names "OASIS", [insert specific trademarked names and abbreviations here] are trademarks 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.oasisopen.org/who/trademark.php for above guidance.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 3 of 54
Table of Contents
1
2
3
4
5
6
Introduction ........................................................................................................................................... 7
1.1 Terminology ........................................................................................................................................ 7
1.2 Normative References ........................................................................................................................ 7
1.3 Non-Normative References ................................................................................................................ 7
Overview ............................................................................................................................................... 9
2.1 Authentication ..................................................................................................................................... 9
2.2 Response Formats ............................................................................................................................. 9
2.3 Optional Arguments ............................................................................................................................ 9
2.4 Errors and Exceptions ...................................................................................................................... 10
2.5 E-Tags .............................................................................................................................................. 10
2.6 HTTP Options ................................................................................................................................... 10
CMIS ................................................................................................................................................... 11
3.1 Mime Types ...................................................................................................................................... 11
3.1.1 Atom Media Type with CMIS extensions .................................................................................. 11
3.1.2 CMIS Query ............................................................................................................................... 11
CMIS .................................................................................................................................................. 12
3.1.3 Allowable Actions ...................................................................................................................... 12
3.1.4 CMIS Tree ................................................................................................................................. 12
3.1.5 CMIS ACL.................................................................................................................................. 12
3.2 CMIS Link Relations ......................................................................................................................... 12
3.2.1 Existing Link Relations .............................................................................................................. 13
3.2.2 Hierarchy Navigation Internet Draft Link Relations ................................................................... 13
3.2.3 Versioning Internet Draft Link Relations .................................................................................... 13
3.2.4 CMIS Specific Link Relations .................................................................................................... 13
3.3 Exceptions ........................................................................................................................................ 14
3.3.1 Common Exceptions ................................................................................................................. 14
3.3.2 Other Exceptions ....................................................................................................................... 14
3.3.3 Other notable HTTP Exceptions................................................................................................ 14
3.4 Renditions ......................................................................................................................................... 14
3.5 Content Streams ............................................................................................................................... 15
Atom Resources ................................................................................................................................. 16
4.1 Feeds ................................................................................................................................................ 16
4.2 Entries ............................................................................................................................................... 16
4.2.1 Hierarchical Atom Entries .......................................................................................................... 17
4.3 Link relations ..................................................................................................................................... 17
AtomPub Service Document (Repository) ......................................................................................... 18
5.1 URI Templates .................................................................................................................................. 19
5.1.1 Entry By Id ................................................................................................................................. 19
5.1.2 Folder By Path ........................................................................................................................... 20
5.1.3 Query ......................................................................................................................................... 20
5.2 HTTP Methods .................................................................................................................................. 21
5.2.1 GET ........................................................................................................................................... 21
Service Collections ............................................................................................................................. 22
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 4 of 54
6.1 Root Folder Collections .................................................................................................................... 22
6.2 Query Collection ............................................................................................................................... 22
6.2.1 POST ......................................................................................................................................... 22
6.3 Checked Out Collection .................................................................................................................... 23
6.3.1 GET ........................................................................................................................................... 23
6.3.2 POST ......................................................................................................................................... 23
6.4 Unfiled Collection .............................................................................................................................. 24
6.4.1 GET ........................................................................................................................................... 24
6.4.2 POST ......................................................................................................................................... 24
6.5 Types Children Collection ................................................................................................................. 25
6.5.1 GET ........................................................................................................................................... 25
7
Collections .......................................................................................................................................... 26
7.1 Relationships Collection ................................................................................................................... 26
7.1.1 GET ........................................................................................................................................... 26
7.1.2 POST ......................................................................................................................................... 26
7.2 Folder Children Collection ................................................................................................................ 27
7.2.1 GET ........................................................................................................................................... 27
7.2.2 POST ......................................................................................................................................... 27
7.3 Policies Collection ............................................................................................................................. 29
7.3.1 GET ........................................................................................................................................... 29
7.3.2 POST ......................................................................................................................................... 30
8
Feeds .................................................................................................................................................. 31
8.1 Object Parents Feed ......................................................................................................................... 31
8.1.1 GET ........................................................................................................................................... 31
8.2 Changes............................................................................................................................................ 31
8.3 Folder Descendants .......................................................................................................................... 32
8.3.1 GET ........................................................................................................................................... 32
8.3.2 DELETE..................................................................................................................................... 32
8.4 Folder Tree ....................................................................................................................................... 32
8.4.1 GET ........................................................................................................................................... 33
8.4.2 DELETE..................................................................................................................................... 33
8.5 AllVersions Feed ............................................................................................................................... 33
8.5.1 GET ........................................................................................................................................... 34
8.5.2 DELETE..................................................................................................................................... 34
8.6 Type Descendants Feed................................................................................................................... 34
8.6.1 GET ........................................................................................................................................... 34
9
Resources .......................................................................................................................................... 35
9.1 Type Entry......................................................................................................................................... 35
9.1.1 GET ........................................................................................................................................... 35
9.2 Document Entry ................................................................................................................................ 35
9.2.1 GET ........................................................................................................................................... 36
9.2.2 PUT ........................................................................................................................................... 36
9.2.3 DELETE..................................................................................................................................... 37
9.3 Document Private Working Copy (PWC) Entry ................................................................................ 37
9.3.1 GET ........................................................................................................................................... 37
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 5 of 54
9.3.2 PUT ........................................................................................................................................... 38
9.3.3 DELETE..................................................................................................................................... 38
9.4 Folder Entry ...................................................................................................................................... 38
9.4.1 GET ........................................................................................................................................... 39
9.4.2 PUT ........................................................................................................................................... 39
9.4.3 DELETE..................................................................................................................................... 39
9.5 Relationship Entry ............................................................................................................................. 39
9.5.1 GET ........................................................................................................................................... 40
9.5.2 PUT ........................................................................................................................................... 40
9.5.3 DELETE..................................................................................................................................... 40
9.6 Policy Entry ....................................................................................................................................... 40
9.6.1 GET ........................................................................................................................................... 41
9.6.2 PUT ........................................................................................................................................... 41
9.6.3 DELETE..................................................................................................................................... 41
9.7 Content Stream ................................................................................................................................. 41
9.7.1 GET ........................................................................................................................................... 41
9.7.2 PUT ........................................................................................................................................... 42
9.7.3 DELETE..................................................................................................................................... 42
9.8 Folder Parent Entry........................................................................................................................... 42
9.8.1 GET ........................................................................................................................................... 42
9.9 ACL Resource .................................................................................................................................. 42
9.9.1 GET ........................................................................................................................................... 42
10 CMIS-RestAtom Schema ................................................................................................................... 43
11 IANA Considerations .......................................................................................................................... 44
11.1 Document Types ............................................................................................................................. 44
11.1.1 CMIS Query ............................................................................................................................. 44
11.1.2 CMIS AllowableActions ........................................................................................................... 44
11.1.3 CMIS Tree ............................................................................................................................... 45
11.1.4 CMIS Atom .............................................................................................................................. 46
11.1.5 CMIS ACL................................................................................................................................ 47
# Conformance ............................................................................................................................................ 49
A. Acknowledgements ............................................................................................................................ 50
Participants: ................................................................................................................................................ 50
B. Non-Normative Text ........................................................................................................................... 51
B.1 Atom Link Relations by Object Type ................................................................................................ 51
B.2 Atom and AtomPub Extensions........................................................................................................ 51
B.3 Examples .......................................................................................................................................... 51
B.4 Expressing multiple content streams in REST ................................................................................. 53
C. Revision History.................................................................................................................................. 54
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 6 of 54
1
Introduction
2
3
4
The Content Management Interoperability Services (CMIS) ReSTful AtomPub binding specification
defines a specification based on AtomPub that can be used by applications to work with one or more
Content Management Repositories.
5
It is expected that this binding will be leveraged to build applications such as:
6
7
8
9




10
1.1 Terminology
11
12
13
The 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.
14
1.2 Normative References
15
16
17
18
19
20
21
[RFC4287]
22
[RFC2119]
[RFC5023]
[RFC2616]
26
M. Nottingham, R. Sayre, Atom Syndication Format,
http://www.ietf.org/rfc/rfc4287.txt, December 2005
J. Gregorio, B. de hOra, Atom Publishing Protocol,
http://www.ietf.org/rfc/rfc5023.txt, October 2007
R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. BernersLee, Hypertext Transfer Protocol --HTTP/1.1, http://www.ietf.org/rfc/rfc2616.txt,
June 1999
S. Bradner, Key words for use in RFCs to Indicate Requirement Levels ,
http://www.ietf.org/rfc/rfc2119.txt, March 1997
23
24
25
Quick UI components on the components (e.g., Widgets and Mashups)
Consumed by feed-centric applications such as Yahoo pipes
Content-centric applications close to the glass (Java/JSP, .NET, AJAX)
Content-centric rich Internet Applications (e.g., flex, air)
[CMISDM]
OASIS, Committee Draft 0.52, “Content Management Interoperability Services
(CMIS) Domain Model”, March 2009
1.3 Non-Normative References
27
28
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 7 of 54
NOTE: The proper format for a citation to an OASIS Technical Committee’s work
(whether Normative or Non-Normative) is:
OASIS
Stage (Committee Draft 01, Committee Draft 02, Committee Specification 01, etc. or Standard)
Title (italicized or in quotation marks)
Approval Date (Month YYYY)
URI of the actual Authoritative Specification (namespace is not acceptable as the content changes
over time)
For example:
EDXL-HAVE
OASIS Standard, “Emergency Data Exchange Language (EDXL) Hospital
AVailability Exchange (HAVE) Version 1.0”, November 2008.
http://docs.oasis-open.org/emergency/edxl-have/os/emergency_edxl_have1.0-spec-os.doc
29
30
31
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 8 of 54
32
Overview
33
34
35
This binding is based upon the Atom (RFC4287) and Atom Publishing Protocol (RFC5023).
Implementations of CMIS must be compliant with RFC4287 and RFC5023 and all RFCs that supersede
them.
36
37
38
39
In the ReSTful AtomPub binding, the client starts with 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.
40
41
42
43
44
The CMIS 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.
45
46
When requesting a resource, optional parameters may be specified to change default behavior.
47
48
49
Special collections have been created that have semantic meaning beyond collection membership. These
are:
50

Unfiled – All documents added to this collection will be removed from all other collections
51

CheckedOut – All documents added to this collection will be checkedout
52
1.4 Authentication
53
Authentication SHOULD be handled by the transport protocol. Please see AtomPub section 14.
54
1.5 Response Formats
55
56
57
The client can specify in HTTP the Accept header which specifies 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 this one response format:
58

application/atom+xml
59
60
61
The CMIS repository will chose the response format based on the Accept header if specified. If the
Accept header is not specified, then the CMIS repository should respond with the format specified by the
specification.
62
The CMIS repository may support other formats such as:
63

application/json for JSON
64

text/html for an HTML interface to the API
65
1.6 Optional Arguments
66
67
The binding supports adding optional parameters to CMIS resources to modify default behavior. These
HTTP query string parameters would be appended to the URI specified.
68
CMIS implementations MUST support arguments being specified as HTTP query string parameters.
69
70
71
72
Names and valid values for HTTP query string parameters are as described in the appropriate CMIS
Service descriptions [see Part I]. Valid values of enum types are also represented in the schema, as
described in part 1 of CMIS
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 9 of 54
73
1.7 Errors and Exceptions
74
75
76
Exceptions shall be thrown as described in the appropriate CMIS Service description. Exceptions are to
be mapped to an appropriate HTTP error code, and it is suggested that the body of an error reply be
sufficient for a user to determine corrective action.
77
1.8 E-Tags
78
79
CMIS changeTokens are represented as E-Tags and follow HTTP’s use of E-Tags. CMIS server
implementations SHOULD support E-Tags.
80
1.9 HTTP Ranges
81
It is RECOMMENDED that HTTP Range requests be supported on Content Streams.
82
83
It is RECOMMENDED that HTTP compression is also supported.
84
1.10 HTTP Verb OPTIONS
85
86
87
The repository SHOULD support the HTTP Options verb on all the resources defined in this specification.
If the repository supports OPTIONS, then the repository MUST at least return the HTTP verbs specified
for that resource.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 10 of 54
88
CMIS
89
1.11 Mime Types
90
CMIS introduces new media types for:
91

a CMIS Query document (application/cmisquery+xml)
92

a CMIS AllowableActions document (application/cmisallowableactions+xml)
93

an Atom Document (Entry or Feed) with any CMIS Markup
94

an Atom Feed Document with CMIS Hierarchy extensions (application/cmistree+xml)
95
96
In addition to those media types specified by CMIS, CMIS also leverages these media types:
97

AtomPub Service (application/atomsvc+xml)
98

Atom Entry (application/atom+xml;type=entry)
99

Atom Feed (application/atom+xml;type=feed)
100
1.11.1 Atom Media Type with CMIS extensions
101
Media Type: application/cmisatom+xml
102
Starting tag: atom feed or atom entry
103
Type Parameters:
104
105

type – the semantics of the type parameter MUST be the same as the media type parameter for
atom documents.
106
107
108
This allows clients to differentiate between atom media type without CMIS extensions and atom media
type with CMIS extensions.
109
110
This media type SHOULD NOT be used with CMIS extensions for nesting atom entries (CMIS Tree).
111
112
Example:
113
TODO:
Add example here before Public Review
114
115
1.11.2 CMIS Query
116
Media Type: application/cmisquery+xml
117
Starting tag: query
118
119
This document contains the representation of a query to be executed in a CMIS repository.
120
121
Example:
122
123
124
125
<query xmlns=”http://www.cmis.org/CMIS/1.0”>
<statement>SELECT * FROM document</statement>
<searchAllVersions>false</searchAllVersions>
<pageSize>0</pageSize>
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 11 of 54
<skipCount>0</skipCount>
126
127
</query>
128
1.11.3 CMIS Allowable Actions
129
Media Type: application/cmisallowableactions+xml
130
Starting tag: allowableactions
131
132
133
This document contains the representation of the allowable actions the user may perform on the
referenced object.
134
135
Example:
136
TODO:
137
1.11.4 CMIS Tree
138
Media Type: application/cmistree+xml
139
Starting tag: atom feed
Add example here before Public Review
140
141
This document is an atom feed (application/atom+xml;type=feed) with CMIS markup to nest a hierarchy.
142
143
Example:
144
TODO:
145
1.11.5 CMIS ACL
146
Media Type: application/cmisacl+xml
147
Starting tag: cmis:cmisAccessControlListType
Add example here before Public Review
148
149
This document specifies an Access Control List based on the schema in part 1.
150
151
Example:
152
TODO:
153
1.12 CMIS Link Relations
154
155
156
The listing below outlines the different link 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.
Add example here before Public Review
157
158
159
160
161
162
Links may have the following attributes 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. It is recommended to
include this attribute for links that point to CMIS resources that have an id.
These are the link relation types specified by CMIS:
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 12 of 54
163
1.12.1 Existing Link Relations
164
165
Existing link relations should be used where appropriate by the implementation. In addition, the following
link relations are leveraged for the CMIS specification:
166

self
167

service
168

describedby
169

via
170

edit-media
171

edit
172

alternate
173

first
174

previous
175

next
176

last
177
178
179
Please see http://www.iana.org/assignments/link-relations/link-relations.xhtml for more information on
these link relations.
180
1.12.2 Hierarchy Navigation Internet Draft Link Relations
181
182
Please refer to the Internet Draft here: http://www.ietf.org/internet-drafts/draft-divilly-atom-hierarchy03.txt.
183
184
CMIS leverages the following link relations from the Internet Draft:
185

up
186

down
187
1.12.3 Versioning Internet Draft Link Relations
188
189
Please refer to the Internet Draft here: http://www.ietf.org/internet-drafts/draft-brown-versioning-linkrelations-01.txt.
190
191
CMIS leverages the following link relations from the Internet Draft:
192

all-versions
193

current-version
194

working-copy
195
1.12.4 CMIS Specific Link Relations
196
CMIS defines the following link relations:
197

o
198
199

202

Service: getAllowableActions
http://docs.oasis-open.org/ns/cmis/link/200901/relationships
o
200
201
http://docs.oasis-open.org/ns/cmis/link/200901/allowableactions
Service: getRelationships
http://docs.oasis-open.org/ns/cmis/link/200901/source
o
Source Link on Relationship
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 13 of 54

203
http://docs.oasis-open.org/ns/cmis/link/200901/target
o
204

205
http://docs.oasis-open.org/ns/cmis/link/200901/target
o
206

207
Service: getACLPermissions
http://docs.oasis-open.org/ns/cmis/link/200901/acl
o
208
Target Link on Relationship
Service: getACL
209
1.13 Exceptions
210
1.13.1 Common Exceptions
211
212
The following listing defines the HTTP status codes that repositories will return for the various common
exceptions defined in Part I of the CMIS specification.
213
CMIS Services Exception
HTTP Status Code
214
invalidArgument
400
215
objectNotFound
404
216
permissionDenied
403
217
operationNotSupported
405
218
updateConflict
409
219
runtime
500
220
1.13.2 Other Exceptions
221
CMIS Services Exception
HTTP Status Code
222
constraintViolation
409
223
filterNotValid
400
224
streamNotSupported
403
225
storage
500
226
contentAlreadyExists
409
227
versioning
409
228
folderNotValid
400
229
1.13.3 Other notable HTTP Exceptions

230
415 Unsupported Media Type
o
231
232

233
422 Unprocessable Entity
o
234
235
When a media type is POST’ed to a collection that is not supported, this exception MUST be
returned
When a request has been POST’ed but cannot be processed, this exception MUST be
returned
236
1.14 Renditions
237
238
Each Rendition included in a CMIS AtomPub response is represented as an Atom link rel=”alternate”. The
following attributes SHOULD be included on the link element:
239

href: URI to the rendition content stream
240

type: The Media Type of the Rendition
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 14 of 54
241

cmis:renditionType: The Rendition Type
242
243
The following attributes MAY be included
244

title: The Filename (or name property if object) of Rendition
245

length: The length of the rendition
246
247
248
If a thumbnail is available, the repository SHOULD include the thumbnail as alternate link as part of the
atom entry even if the optional includeRenditions argument is not specified.
249
1.15 Content Streams
250
251
The content stream for a document SHOULD be referenced by the content src attribute as well as the
edit-media link relation.
252
253
The following attributes SHOULD be included on the link element:
254

href: URI to the content stream
255

type: The Media Type of the content stream
256
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 15 of 54
257
Atom Resources
258
For all Atom Resources used in this specification, the following MUST be followed:
259
1.16 Feeds
260
Any feed MUST be a valid atom Feed document and conform to the guidelines below:
261
262
1. atom:updated MUST be the latest time the folder or its contents was updated. If unknown by the
underlying repository, it should be the current time.
263
2. atom:author/atom:name MUST be the CMIS property cmis:CreatedBy
264
3. atom:title MUST be the CMIS property cmis:Name
265
4. The atom:link with relation self MUST be generated to return the URI of the feed
266
267
5. A feed SHOULD contain the element app:collection element, describing the appropriate media
types supported for creation of new entries in the feed
268
269
6. atom:id must be the most stable ID available to the repository. This id MUST be compliant with
atom’s specification and be a valid URI.
270
271
7. 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.
272
1.17 Entries
273
274
At 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:
275
1. atom:Title MUST be the cmis:Name property
276
2. app:edited MUST be cmis:LastModifiedDate
277
3. atom:updated MUST be cmis:LastModifiedDate
278
4. atom:published MUST be cmis:CreatedDate
279
5. atom:author/atom:name MUST be cmis:CreatedBy
280
281
282
6. The repository SHOULD make a best effort at generating HTML or text that represents the object.
For example, an HTML table containing the properties and their values for simple feed readers.
That representation will be supplied as follows:
283
a. For Documents:
284
i. The atom:content/src attribute SHOULD be used to point to the content stream
285
286
287
ii. The repository SHOULD populate the atom:summary tag with text that at best
efforts represents the document. For example, an HTML table containing the
properties and their values for simple feed readers
288
b. Other Objects (Folders, Relationships, Types, etc):
289
290
291
i. The repository MUST comply with the atom specification and have a content
element. How this is done, is repository specific. Any value in the content field
MUST be ignored if the atom entry represents a non-document object.
292
293
294
ii. The repository SHOULD populate the atom:summary tag with text that at best
efforts represents the object. For example, an HTML table containing the
properties and their values for simple feed readers
295
7. Links will be used to provide URIs to CMIS functionality
296
297
8. Link relations MAY be omitted if the function is not allowed and that function would not show up in
Allowable Actions
298
9. Links may be omitted if the repository does not support that capability
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 16 of 54
299
300
10. All CMIS properties MUST be exposed in CMIS cmis:properties elements even if they are
duplicated in an atom element
301
302
11. atom:id MUST be the most stable ID available to the repository. This id MUST be compliant with
atom’s specification and be a valid URI.
303
304
305
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.
306
1.17.1 Hierarchical Atom Entries
307
308
309
For atom entries that are hierarchical such as Folder Tree or Descendants, the repository MUST populate
a cmisra:children element with the enclosing feed of its direct children. This pattern continues until the
depth is satisfied.
310
311
312
313
The cmisra:children element that MUST be included in an atom entry:

<xs:element name="children" type="atom:feedType" />
314
315
316
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.
317
318
For Example,
319
TODO: Add in Example for F2F
320
321
1.18 Link relations
322
323
324
The link element with a specified relation MUST be included if client can perform the operation. The
repository MAY omit the link relation if the operation is not available. The operation may not be available
due to a variety of reasons such as access control, administrative policies, or other mechanisms.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 17 of 54
325
AtomPub Service Document (Repository)
326
327
The AtomPub Service Document contains the set of repositories that are available. Each repository is
mapped to a Workspace in the AtomPub Service document.
328
329
CMIS Services exposed:
330
GET: getRepositories, getRepositoryInfo
331
332
Media Type: application/atomsvc+xml
333
334
335
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.
336
337
338
The service document will be available from Atom Entry and Atom Feed documents via a link relationship,
service.
339
340
341
342
A workspace element for a CMIS repository MUST have a collection element for each of following
collections:

o
343
344
Root Folder Collection: Root folder of the Repository

Types Collection: Collection containing all the types in the repository
o
345
‘root’ for the children collection of the root folder
‘types’ for the children collection
346
347
348
The workspace element SHOULD contain these collections if the repository supports this functionality:

o
349
350


354

‘changes’
Unfiled folder: Folder for posting documents to be unfiled; read can be disabled
o
355
‘query’
Changes collection: Collection for understanding changes in the repository
o
353
‘checkedout’
Query collection: Collection for posting queries to be executed
o
351
352
CheckedOut collection: collection containing all checked out documents user can see
‘unfiled’
356
357
The workspace element will have two CMIS attributes:
358
359

cmis:id: This is the id of the repository if available. This attribute is located on the workspace
element.
360
361
362

cmis:repositoryRelationship. RepositoryRelationship attribute is optional. RepositoryRelationship
specifies the relationship of the repository to others listed in the service document. The
repository name will be exposed in the workspace element via the atom:title element.
363
364
365
If the repository supports the URI templates, then the repository SHOULD include the uri templates in the
workspace elements.
366
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 18 of 54
367
The workspace element SHOULD also contain the following link elements with the relation:
368
369

foldertree (in CMIS namespace): This link relation points to the folder tree of the root folder. See
Folder Tree resource for more information.
370
371

rootdescendants (in CMIS namespace): This link relation points to the descendants collection of
the root folder.
372
373
374

typesdescendants (in CMIS namespace): This link relation points to the types descendants for
the base types in the repository.
375
376
377
378
The workspace element may include app:collection elements for the collections that represent folders in
the repository. However, an alternative approach, especially for a repository with many folders, is to not
enumerate those collections here, but include the app:collection element per RFC5023 in the Atom Feed
document.
379
1.19 URI Templates
380
381
Implementations SHOULD include URI templates in the workspace element of the service document as
defined by CMIS. CMIS defines the following types:
382

entrybyid
383

folderbypath
384

query
385
386
387
Repositories MAY extend that set of types. Those URI Template Types will be repository specific.
Repositories MAY have more than one entry per uri type if the entries have different media types.
388
389
390
391
392
393
394
395
396
397
398
399
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" />
<xs:any processContents="lax" namespace="##other"
minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
400
401
402
Repositories SHOULD include at least the URI templates with corresponding Media Type defined below
in the AtomPub services document.
403
404
1.19.1 Entry By Id
405
Type: entrybyid
406
Media Type: application/atom+xml;type=entry
407
408
Service: getProperties
409
410
411
Variables that MUST be in the template:

{id}: Id of object
412
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 19 of 54
413
Variables that MAY be in the template:
414

{filter}: Property Filter
415

{includeAllowableActions}: Property Filter
416

{includeRelationships}: Include Relationships.
417

{includeACL}: Include ACL
418
419
Example:
420
TODO:
Add example here before Public Review
421
422
1.19.2 Folder By Path
423
Type: folderbypath
424
Media Type: application/atom+xml;type=entry
425
426
Service: getFolderByPath
427
428
429
Variables in Template:

{path}: Path of folder.
o
430
431
432
No escaping is provided for the variables. It is suggested that this be an URI
argument so no escaping is necessary, or the last part of the URI so it can be
interpreted correctly.
433
434
Variables that MAY be in the template:
435

{filter}: Property Filter
436

{includeAllowableActions}: Property Filter
437

{includeRelationships}: Include Relationships.
438

{includeACL}: Include ACL
439
440
Example:
441
TODO:
Add example here before Public Review
442
443
1.19.3 Query
444
Type: query
445
Media Type: application/atom+xml;type=feed
446
447
Service: query
448
449
Variables in Template:
450

{q}: CMIS Query Statement
451

{searchAllVersions}: Boolean, true if to search all versions
452
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 20 of 54
453
Variables that MAY be in the template:
454

{maxItems}: Integer, Max items to return
455

{skipCount}: Items to skip
456

{includeAllowableActions}: Property Filter
457

{includeRelationships}: Include Relationships.
458
Example:
459
TODO:
Add example here before Public Review
460
461
1.20 HTTP Methods
462
1.20.1 GET
463
464
465
This retrieves the AtomPub Service document for a specified repository and potentially related
repositories. This exposes the capabilities defined in getRepositories and getRepositoryInfo in the
Domain Model.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 21 of 54
466
Service Collections
467
These are the collections that are included on an AtomPub Service document in the workspace element.
468
1.21 Root Folder Collections
469
This is a collection described in the service document. Please see Folder Children.
470
1.22 Query Collection
471
472
473
474
This 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.
475
476
CMIS Services exposed via HTTP verbs:
477
GET: Repository Specific.
478
POST: Query
479
Media Type: application/atom+xml;type=feed
480
Accept: Repository
481

MUST support CMIS Query document,
482

MAY support other media type
483
484
485
Link Relations:

o
486
487
488
service: Points to service document containing CMIS repository

Media Type: application/atomsvc+xml
paging link relations as appropriate: first, next, prev, last if the repository supports paging a query
result set
489
490
1.22.1 POST
491
This collection MUST accept CMIS Query documents.
492
493
494
495
Upon submission (creation) of a query document, a response must be returned with a Location header
representing the feed for that query or an exception must be thrown. In addition, the server SHOULD
return the feed directly. If the server does so, the server should also return the Content-Location header.
496
497
The feed returned MUST contain a set of atom entries representing the result set from the query.
498
499
500
501
The atom entries should contain the bare minimum necessary for Atom compliance [RFC4287]. The
atom entries MUST contain the CMIS extension element (cmis:object) containing the properties specified
by the query in the select clause of the query statement.
502
503
504
If all the selected properties can be mapped to the same type reference, then the repository MAY include
addition information in the atom entry.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 22 of 54
505
506
Please see http://tools.ietf.org/html/rfc5023#section-5.3.
507
508
509
510



511
Example:
512
513
TODO:
514
1.23 Checked Out Collection
515
This is a collection described in the service document that contains all the checkedout documents
516
CMIS Services:
HTTP Success: 201
Location Header
Content-Location Header
Add example here before Public Review
517
GET: getCheckedoutDocs
518
POST: checkout
519
Media Type: application/atom+xml;type=feed
520
Accept: Repository
521

MUST support Atom Entry Documents with CMIS extensions
522

MAY support other media type
523
524
525
Link Relations:

o
526
527
service: Points to service document containing CMIS repository

Media Type: application/atomsvc+xml
paging link relations as appropriate: first, next, prev, last
528
1.23.1 GET
529
The following arguments may be supplied. Please see the domain model for more information:
530

filter
531

folderId
532

maxItems
533

skipCount
534

includeAllowableActions
535

includeRelationships
536
1.23.2 POST
537
538
When an atom entry is POST’ed to this collection, the atom entry will be checked out. A ContentLocation header MUST be returned containing the location of the private working copy.
539
540
Example:
541
TODO:
Add example here before Public Review
542
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 23 of 54
543
1.24 Unfiled Collection
544
545
This is a collection described in the service document that contains all the unfiled documents in the
repository.
546
CMIS Services:
547
GET: getUnfiled
548
POST: removeObjectFromFolder
549
Media Type: application/atom+xml;type=feed
550
Accept: Repository
551

MUST support Atom Entry Documents with CMIS extensions
552

MAY support other media type
553
554
555
Link Relations:

service: Points to service document containing CMIS repository
o
556
Media Type: application/atomsvc+xml
557
1.24.1 GET
558
The following arguments may be supplied. Please see the domain model for more information:
559

filter
560

folderId
561

maxItems
562

skipCount
563

includeAllowableActions
564

includeRelationships
565
1.24.2 POST
566
567
This 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.
568
569
570
If the Atom Entry POST’ed, does not have the CMIS extensions with a valid cmis:ObjectId, the document
does not exist, or the document is not in that folder, an exception is thrown.
571
572
573
574
This adheres to AtomPub model. Please see http://tools.ietf.org/html/rfc5023#section-5.3.


HTTP Success: 201
Location Header
575
576
577
578
579
The following arguments may be supplied. Please see the domain model for more information:

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.
580
581
Example:
582
TODO:
Add example here before Public Review
583
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 24 of 54
584
1.25 Types Children Collection
585
586
587
This 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.
588
CMIS Services:
589
GET: getTypeChildren
590
Media Type: application/atom+xml;type=feed
591
Accept: Repository
592

MAY support other media type
593
594
595
Link Relations:

service: Points to service document containing CMIS repository
o
596
Media Type: application/atomsvc+xml
597

via: points to the type definition whose children represent this feed
598
599

down: points to the atom feed document representing the descendents collection for this same
type with media type of application/cmistree+xml
600

paging link relations as appropriate: first, next, prev, last
601
1.25.1 GET
602
The following arguments may be supplied. Please see the domain model for more information:
603

includePropertyDefinitions
604

maxItems
605

skipCount
606
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 25 of 54
607
Collections
608
1.26 Relationships Collection
609
610
This is the set of relationships available (either source or target or both) from a specific item such as a
document, folder or policy.
611
CMIS Services:
612
GET: getRelationships
613
POST: createRelationship
614
Media Type: application/atom+xml;type=feed
615
Accept: Repository
616

MUST support Atom Entry Documents with CMIS extensions
617

MAY support other media type
618
619
620
Link Relations:

service: Points to service document containing CMIS repository
o
621
Media Type: application/atomsvc+xml
622
623

via: Points to the originating atom entry document if available that contained the relationship link
the client followed to get to this collection.
624

paging link relations as appropriate: first, next, prev, last
625
1.26.1 GET
626
The following arguments may be supplied. Please see the domain model for more information:
627

typeId
628

includeSubRelationshipTypes
629

enumRelationshipDirection
630

maxItems
631

skipCount
632

filter
633

includeAllowableActions
634
1.26.2 POST
635
636
When 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.
637
638
The server SHOULD throw an exception if the source is different than the sourceId or target different than
the targeted for the source and targets specified in this collection.
639
The server SHOULD throw an exception if the ObjectTypeId is not specified.
640
Example:
641
TODO:
Add example here before Public Review
642
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 26 of 54
643
1.27 Folder Children Collection
644
This is a pseudo-object comprised of all the direct children of a particular folder.
645
CMIS Services:
646
GET: getChildren
647
POST:
648
createDocument
649
or createFolder
650
or createPolicy
651
or moveObject
652
or addObjectToFolder
653
Media Type: application/atom+xml;type=feed
654
655
Accept: Repository
656

MUST support Atom Entry Documents with CMIS extensions
657

MAY support other media type
658
659
660
Link Relations:

service: Points to service document containing CMIS repository
o
661
Media Type: application/atomsvc+xml
662

via: points to the atom entry of the folder generating this collection
663

up: points to the atom feed document for the folder children collection of this folder’s parent
664
665

down: points to the atom feed document representing the descendents collection for this same
folder with media type of application/cmistree+xml
666

paging link relations as appropriate: first, next, prev, last
667

http://docs.oasis-open.org/ns/cmis/link/200901/foldertree: Points to the folder tree for this folder
668
1.27.1 GET
669
Request Format: N/A
670
Response Format: application/atom+xml;type=feed (flat listing) or application/cmistree+xml (tree listing)
671
HTTP Code:
672
673
674
675
676
677
678
679

200 OK (Success)
The following arguments may be supplied. Please see the domain model for more information:






If flat listing,maxItems and skipCount
if tree listing, depth
type
filter
includeAllowableActions
includeRelationships
680
1.27.2 POST
681
682
CMIS repositories MUST be compliant with RFC5023 for POSTing new entries into a collection. Please
see http://tools.ietf.org/html/rfc5023#section-5.3.
683
684


HTTP Success: 201
Location Header
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 27 of 54
685
686
687
688
The following arguments may be supplied.

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, addObjectToFolder will be performed.
689
690
691
692
693
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.
694
695
696
697
698
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
removeFrom is specified, then the object will be removed from the folder specified.
699
700
701
The optional argument sourceFolderId MAY specify the folder from which to remove the
object.
702
703
Example:
704
TODO:
Add example here before Public Review
705
706
707
Creating a CMIS Object (in that folder):
If the cmis:ObjectId property is missing, it will be created and then added to the folder.
708
709
For Documents:
710
711
712
A content stream MUST be specified if required by the type definition. If not provided and
it is required, an exception will be thrown. This is even true if the CMIS Document is not
checked in on create.
713
714
715
716
Content Streams MAY be provided by any mechanism supported by Atom Publishing
Protocol:

As part of the atom entry via the src attribute on the content element
o
717
718
719

As part of the atom entry inlining via the content element
o
720
721

base64: Implementers MUST support content base64 encoded
At a later time
o
722
723
724
src attribute: Implementers SHOULD support external references to
content
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.
725
726
Example:
727
TODO:
Add example here before Public Review
728
729
If the cmis:ObjectId property is present but not valid an exception will be thrown.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 28 of 54
730
731
POSTing other document formats:
732
733
The behavior is repository specific when a non Atom entry or an atom document without the
CMIS elements is posted to a folder collection.
734
735
For example, the repository MAY auto-create a document with a specific type (document) the
client could edit. The repository MAY also throw an exception.
736
737
The repository MUST follow HTTP specification and return the following HTTP codes:
738
739
740

500 if internal resource is unavailable to complete the request such as database,
network, storage is unavailable or when an condition not specified as part of HTTP is not
met
741

415 Unsupported Media Type if the repository cannot support the supplied format.
742
743
Example:
744
TODO:
Add example here before Public Review
745
746
Optional arguments:
747

versioningState (for createDocument)
748

sourceFolderId (for moveObject)
749

removeFrom
750

thisVersion
751
752
1.28 Policies Collection
753
This is an atom feed of all the policy objects currently applied
754
CMIS Services:
755
GET: getAllVersions
756
POST: createPolicy
757
Media Type: application/atom+xml;type=feed
758
Accept: Repository
759

MUST support Atom Entry Documents with CMIS extensions
760

MAY support other media type
761
762
763
Link Relations:

service: Points to service document containing CMIS repository
o
764
Media Type: application/atomsvc+xml
765

via: points to the atom entry of the resource generating this collection
766

paging link relations as appropriate: first, next, prev, last
767
1.28.1 GET
768
The following arguments may be supplied. Please see the domain model for more information:
769

filter
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 29 of 54
770
1.28.2 POST
771
772
When an Atom Entry representing a Policy is posted to this collection, the policy will be applied to the
object.
773
774
Example:
775
TODO:
Add example here before Public Review
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 30 of 54
776
Feeds
777
1.29 Object Parents Feed
778
This is the set of parents for a specific object.
779
CMIS Services:
780
GET: getObjectParents
781
Media Type: application/atom+xml;type=feed
782
Accept: not-specified
783
Link Relations:
784

service: Points to service document containing CMIS repository
o
785
Media Type: application/atomsvc+xml
786

via: points to the atom entry of object who’s parents are represented by this collection
787

paging link relations as appropriate: first, next, prev, last
788
789
Example:
790
TODO:
791
1.29.1 GET
792
The following arguments may be supplied. Please see the domain model for more information:
793

Add example here before Public Review
filter
794
1.30 Changes
795
796
797
This 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.oasisopen.org/ns/cmis/link/200901/changes.
798
799
CMIS Services:
800
GET: getChanges()
801
Media Type: application/atom+xml;type=feed
802
Accept: Atom Entry document, other repository-specific
803
Link Relations:
804

o
805
806
service: Points to service document containing CMIS repository

Media Type: application/atomsvc+xml
paging link relations as appropriate: first, next, prev, last
807
808
809
810
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.
811
812
Example:
813
TODO:
Add example here before Public Review
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 31 of 54
814
1.31 Folder Descendants
815
816
817
This is a hierarchical feed comprising items under a specified folder to a specified depth. This is available
via the link relation http://docs.oasis-open.org/ns/cmis/link/200901/foldertree. Please see the Hierarchical
Atom Entries for more information on format.
818
819
CMIS Services:
820
GET: getDescendants
821
DELETE: deleteTree
822
Media Type: application/atom+xml;type=feed
823
Accept: Atom Entry Document with CMIS extensions, other repository specific
824
Link Relations:
825

service: Points to service document containing CMIS repository
o
826
Media Type: application/atomsvc+xml
827

via: points to the atom entry of the folder generating this collection
828

up: points to the atom feed document for the folder children collection of this folder’s parent
829
830

down: points to the atom feed document representing the children feed for this same folder with
media type of application/atom+xml
831

paging link relations as appropriate: first, next, prev, last
832

http://docs.oasis-open.org/ns/cmis/link/200901/foldertree: Points to the folder tree for this folder
833
834
Example:
835
TODO:
836
1.31.1 GET
837
The following arguments may be supplied. Please see the domain model for more information:
Add example here before Public Review
838

filter
839

includeAllowableActions
840
1.31.2 DELETE
841
842
This deletes the folder and all sub-folders. The following arguments may be supplied. Please see the
domain model for more information:
843

continueOnFailure
844

unfileObjects
845
1.32 Folder Tree
846
847
848
This is a hierarchical feed comprising all the folders under a specified folder. This is available via the link
relation http://docs.oasis-open.org/ns/cmis/link/200901/foldertree. Please see the Hierarchical Atom
Entries for more information on format.
849
850
851
852
853
CMIS Services:
GET: getDescendants
DELETE: deleteTree
Media Type: application/atom+xml;type=feed
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 32 of 54
854
Accept: Atom Entry Document with CMIS extensions, other repository specific
855
Link Relations:
856

service: Points to service document containing CMIS repository
o
857
Media Type: application/atomsvc+xml
858

via: points to the atom entry of the folder generating this collection
859

up: points to the atom feed document for the folder children collection of this folder’s parent
860

down:
861
862
o
application/atom+xml : Points to the atom feed document representing the children feed
for this same folder
863
o
application/cmistree+xml: Points to the descendants feed of the same folder
864

paging link relations as appropriate: first, next, prev, last
865

http://docs.oasis-open.org/ns/cmis/link/200901/foldertree: Points to the folder tree for this folder
866
867
Example:
868
TODO:
869
1.32.1 GET
870
The following arguments may be supplied. Please see the domain model for more information:
Add example here before Public Review
871

filter
872

includeAllowableActions
873
1.32.2 DELETE
874
875
This deletes the folder and all sub-folders. The following arguments may be supplied. Please see the
domain model for more information:
876

continueOnFailure
877

unfileObjects
878
1.33 AllVersions Feed
879
This is a feed comprised of all the versions of the given document.
880
CMIS Services:
881
GET: getAllVersions
882
DELETE: deleteAllVersions
883
Media Type: application/atom+xml;type=feed
884
Link Relations:
885

service: Points to service document containing CMIS repository
o
886
Media Type: application/atomsvc+xml
887

via: points to the atom entry of the resource generating this collection
888

paging link relations as appropriate: first, next, prev, last
889
890
Example:
891
TODO:
Add example here before Public Review
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 33 of 54
892
1.33.1 GET
893
The following arguments may be supplied. Please see the domain model for more information:
894

filter
895

includeAllowableActions
896

includeRelationships
897
1.33.2 DELETE
898
This removes the entire version history of the document.
899
Success HTTP code: 204
900
1.34 Type Descendants Feed
901
902
903
This 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 are returned in the feed.
The link relation is http://docs.oasis-open.org/ns/cmis/link/200901/typesdescendants.
904
CMIS Services:
905
GET: getTypes
906
Media Type: application/atom+xml;type=feed
907
Accept: Atom Entry document, other repository-specific
908
Link Relations:
909

service: Points to service document containing CMIS repository
o
910
Media Type: application/atomsvc+xml
911

via: points to the type definition whose descendents represent this feed
912

down: points to the children feed for the same type
913
914
Example:
915
TODO:
916
1.34.1 GET
917
The following arguments may be supplied. Please see the domain model for more information:
Add example here before Public Review
918

includePropertyDefinitions
919

depth
920
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 34 of 54
921
Resources
922
1.35 Type Entry
923
This represents a type definition in the repository.
924
This is enclosed as an atom entry
925
CMIS Services:
926
GET: getTypeDefinition
927
Media Type: application/atom+xml;type=entry
928
Link Relations:
929

service: Points to service document containing CMIS repository
o
930
Media Type: application/atomsvc+xml
931

up: Points to the parent type as atom entry if applicable
932

down: Points to the children of this type as atom feed if applicable
o
933
934
935

Media Type: application/cmistree+xml points to the atom feed document representing the
descendents collection for this same type
describedby: Points to the type definition atom entry of the base type
936
937
One of the following elements MUST be included inside the atom entry:
938
939
940
941
942
943
944
945
946
947
948
949

950
Example:
951
TODO:



<xs:element name="documentType"
type="cmis:cmisTypeDocumentDefinitionType"
substitutionGroup="cmis:type" />
<xs:element name="folderType" type="cmis:cmisTypeFolderDefinitionType"
substitutionGroup="cmis:type" />
<xs:element name="relationshipType"
type="cmis:cmisTypeRelationshipDefinitionType"
substitutionGroup="cmis:type" />
<xs:element name="policyType" type="cmis:cmisTypePolicyDefinitionType"
substitutionGroup="cmis:type" />
Add example here before Public Review
952
953
1.35.1 GET
954
955
1.36 Document Entry
956
This is a CMIS Document instance.
957
CMIS Services:
958
GET: getProperties, getPropertiesOfLatestVersion
959
PUT: updateProperties
960
DELETE: deleteObject
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 35 of 54
961
Media Type: application/atom+xml;type=entry
962
Link Relations:
963

service: Points to service document containing CMIS repository
o
964
Media Type: application/atomsvc+xml
965
966

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.
967

all-versions: Points to atom feed containing the versions of this document
968

latest-version
969

edit-media
970

working-copy
971

describedby
972
973

alternate: this is used to identify the renditions available for the specified object. Please see the
Renditions section.
974
975

http://docs.oasis-open.org/ns/cmis/link/200901/allowableactions: Points to the allowable actions
document for this object.
976
977

http://docs.oasis-open.org/ns/cmis/link/200901/relationships: Points to the relationships feed for
this object
978

http://docs.oasis-open.org/ns/cmis/link/200901/policies: Points to the policy feed for this object.
979

http://docs.oasis-open.org/ns/cmis/link/200901/acl: Points to ACL document for this object
980
981
982
The following element MUST be included inside the atom entry:

<xs:element name="object" type="cmis:cmisObjectType" />
983
984
Example:
985
TODO:
986
1.36.1 GET
987
The following arguments may be supplied. Please see the domain model for more information:
Add example here before Public Review
988

major
989

returnVersion
o
990
991
Used to differentiate between getProperties and getPropertiesOfLatestVersion. If TRUE,
execute getPropertiesOfLatestVersion service.
992

includeAllowableActions
993

includeRelationships
994

filter
995

includeRenditions
996
997
998
999
1000
1001
o
If an object has a Thumbnail rendition, that rendition SHOULD be included in the atom
entry representation if this parameter is not specified. If this parameter is specified, the
behavior should follow the specified value.
1.36.2 PUT
This does a complete replacement of the atom entry with the atom entry document specified. If
properties are not included, they will be unset.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 36 of 54
1002
1.36.3 DELETE
1003
This removes the document.
1004
Success HTTP code: 204
1005
1.37 Document Private Working Copy (PWC) Entry
1006
This is the private working copy of the document (checkedout version of document)
1007
CMIS Services:
1008
GET: getProperties
1009
PUT: updateProperties or checkin
1010
DELETE: cancelCheckout
1011
Media Type: application/atom+xml;type=entry
1012
Link relations:
1013

service: Points to service document containing CMIS repository
o
1014
Media Type: application/atomsvc+xml
1015
1016

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.
1017

all-versions
1018

edit-media
1019

via: atom entry that created this private working copy
1020

describedby
1021
1022

alternate: this is used to identify the renditions available for the specified object. Please see the
Renditions section.
1023
1024

http://docs.oasis-open.org/ns/cmis/link/200901/allowableactions: Points to the allowable actions
document for this object.
1025
1026

http://docs.oasis-open.org/ns/cmis/link/200901/relationships: Points to the relationships feed for
this object
1027

http://docs.oasis-open.org/ns/cmis/link/200901/policies: Points to the policy feed for this object.
1028

http://docs.oasis-open.org/ns/cmis/link/200901/acl: Points to ACL document for this object
1029
1030
1031
The following element MUST be included inside the atom entry:

<xs:element name="object" type="cmis:cmisObjectType" />
1032
1033
Example:
1034
TODO:
1035
1.37.1 GET
1036
The following arguments may be supplied. Please see the domain model for more information:
Add example here before Public Review
1037

filter
1038

includeAllowableActions
1039

includeRelationships
1040

includeRenditions
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 37 of 54
o
1041
1042
1043
If an object has a Thumbnail rendition, that rendition SHOULD be included in the atom
entry representation if this parameter is not specified. If this parameter is specified, the
behavior should follow the specified value.
1044
1.37.2 PUT
1045
1046
This does a complete replacement of the atom entry with the atom entry document specified. If
properties are not included, they will be not set.
1047
The following arguments may be supplied. Please see the domain model for more information:
1048

checkinComment
1049

major
1050

checkin
o
1051
1052
Used to differentiate between updateProperties or checkin services. If TRUE, execute
checkin service.
1053
1.37.3 DELETE
1054
This removes the document entry, in this case, cancels the check out. The PWC will be removed.
1055
1056
Success HTTP code: 204
1057
1.38 Folder Entry
1058
This is a CMIS Folder instance. The properties of a folder map onto the feed tag.
1059
CMIS Services:
1060
GET: getProperties
1061
PUT: updateProperties
1062
DELETE: Delete [folder entry only – deleteObject]
1063
Media Type: application/atom+xml;type=entry
1064
Link Relations:
1065

service: Points to service document containing CMIS repository
o
1066
Media Type: application/atomsvc+xml
1067

describedby: Points to the type definition for this object
1068

down: Points to the children of this folder if they exist
o
1069
1070
Media Type: application/cmistree+xml points to the atom feed document representing the
descendents collection for this same folder
1071

up: Points to the atom entry for the parent
1072
1073

alternate: this is used to identify the renditions available for the specified object. Please see the
Renditions section.
1074
1075

http://docs.oasis-open.org/ns/cmis/link/200901/allowableactions: Points to the allowable actions
document for this object.
1076
1077

http://docs.oasis-open.org/ns/cmis/link/200901/relationships: Points to the relationships feed for
this object
1078

http://docs.oasis-open.org/ns/cmis/link/200901/policies: Points to the policy feed for this object.
1079

http://docs.oasis-open.org/ns/cmis/link/200901/acl: Points to ACL document for this object
1080

http://docs.oasis-open.org/ns/cmis/link/200901/foldertree: Points to the folder tree for this folder
1081
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 38 of 54
1082
1083
The following element MUST be included inside the atom entry:

<xs:element name="object" type="cmis:cmisObjectType" />
1084
1085
Example:
1086
TODO:
Add example here before Public Review
1087
1088
1.38.1 GET
1089
The following arguments may be supplied. Please see the domain model for more information:
1090

filter
1091

includeAllowableActions
1092

includeRelationships
1093

includeRenditions
o
1094
1095
1096
If an object has a Thumbnail rendition, that rendition SHOULD be included in the atom
entry representation if this parameter is not specified. If this parameter is specified, the
behavior should follow the specified value.
1097
1.38.2 PUT
1098
1099
This does a complete replacement of the atom entry with the atom entry document specified. If
properties are not included, they will be unset.
1100
1.38.3 DELETE
1101
This removes the object (folder) from the repository.
1102
Success HTTP code: 204
1103
1.39 Relationship Entry
1104
This is a CMIS relationship instance. These objects are exposed via ‘relationships’ link type.
1105
CMIS Services:
1106
GET: getProperties
1107
PUT: updateProperties
1108
DELETE: Delete
1109
Media Type: application/atom+xml;type=entry
1110
Link Relations:
1111

service: Points to service document containing CMIS repository
o
1112
Media Type: application/atomsvc+xml
1113

describedby
1114

target
1115

source
1116
1117

alternate: this is used to identify the renditions available for the specified object. Please see the
Renditions section.
1118
1119

http://docs.oasis-open.org/ns/cmis/link/200901/allowableactions: Points to the allowable actions
document for this object.
1120

http://docs.oasis-open.org/ns/cmis/link/200901/policies: Points to the policy feed for this object.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 39 of 54
1121

http://docs.oasis-open.org/ns/cmis/link/200901/acl: Points to ACL document for this object
1122
1123
1124
The following element MUST be included inside the atom entry:

<xs:element name="object" type="cmis:cmisObjectType" />
1125
1126
Example:
1127
TODO:
Add example here before Public Review
1128
1129
1.39.1 GET
1130
The following arguments may be supplied. Please see the domain model for more information:
1131

filter
1132

includeAllowableActions
1133

includeRelationships
1134

includeRenditions
o
1135
1136
1137
If an object has a Thumbnail rendition, that rendition SHOULD be included in the atom
entry representation if this parameter is not specified. If this parameter is specified, the
behavior should follow the specified value.
1138
1.39.2 PUT
1139
1140
This does a complete replacement of the atom entry with the atom entry document specified. If
properties are not included, they will be unset.
1141
1.39.3 DELETE
1142
This removes the relationship entry.
1143
Successful HTTP code: 204
1144
1.40 Policy Entry
1145
This is a CMIS policy instance.
1146
CMIS Services:
1147
GET: getProperties
1148
PUT: updateProperties
1149
DELETE: Delete
1150
Media Type: application/atom+xml;type=entry
1151
Link Relations:
1152

service: Points to service document containing CMIS repository
o
1153
Media Type: application/atomsvc+xml
1154

describedby
1155

target
1156

source
1157
1158

alternate: this is used to identify the renditions available for the specified object. Please see the
Renditions section.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 40 of 54
1159
1160

http://docs.oasis-open.org/ns/cmis/link/200901/allowableactions: Points to the allowable actions
document for this object.
1161

http://docs.oasis-open.org/ns/cmis/link/200901/policies: Points to the policy feed for this object.
1162

http://docs.oasis-open.org/ns/cmis/link/200901/acl: Points to ACL document for this object
1163
1164
1165
The following element MUST be included inside the atom entry:

<xs:element name="object" type="cmis:cmisObjectType" />
1166
1167
Example:
1168
TODO:
Add example here before Public Review
1169
1170
1.40.1 GET
1171
The following arguments may be supplied. Please see the domain model for more information:
1172

filter
1173

includeAllowableActions
1174

includeRelationships
1175

includeRenditions
1176
1177
1178
o
If an object has a Thumbnail rendition, that rendition SHOULD be included in the atom
entry representation if this parameter is not specified. If this parameter is specified, the
behavior should follow the specified value.
1179
1180
1.40.2 PUT
1181
1182
This does a complete replacement of the atom entry with the atom entry document specified. If
properties are not included, they will be unset.
1183
1.40.3 DELETE
1184
This removes the policy entry.
1185
Success HTTP code: 204
1186
1.41 Content Stream
1187
This is the content stream portion of the document object.
1188
CMIS Services:
1189
GET: getContentStream
1190
PUT: setContentStream
1191
DELETE: deleteContentStream
1192
Media Type: Mime/Type of resource (mime type of content stream on document)
1193
1.41.1 GET
1194
This returns the content stream.
1195
1196
1197
It is RECOMMENDED that HTTP Range requests are supported on this resource. It is RECOMMENDED
that HTTP compression is also supported.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 41 of 54
1198
Please see RFC2616 for more information on HTTP Range requests.
1199
1.41.2 PUT
1200
This does a replacement of the content stream.
1201
1202
1203
The following optional arguments may be supplied. Please see the domain model for more information:

overwriteFlag
1204
1205
Success HTTP code: 201
1206
Returns headers:
1207

Content-Location: URI for content stream
1208
1.41.3 DELETE
1209
This removes the content stream.
1210
1.42 Folder Parent Entry
1211
This is the parent for a specific object. Please see the appropriate Entry Resource.
1212
CMIS Services:
1213
GET: getFolderParent
1214
Media Type: application/atom+xml;type=entry
1215
1.42.1 GET
1216
The following arguments may be supplied. Please see the domain model for more information:
1217

filter
1218
1.43 ACL Resource
1219
CMIS Services:
1220
1221
GET: getACL
Media Type: application/cmisacl+xml
1222
1223
Example:
1224
TODO:
Add example here before Public Review
1225
1226
1.43.1 GET
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 42 of 54
1227
CMIS-RestAtom Schema
1228
1229
Placeholder for schema to be included for Public Review Draft.
file in the meantime.
See Schema zip
1230
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 43 of 54
1231
IANA Considerations
1232
1.44 Document Types
1233
1.44.1 CMIS Query
1234
A CMIS Query Document, when serialized as XML 1.0, can be identified with the following media type:
1235
1236
MIME media type name: application
1237
MIME subtype name: cmisquery +xml
1238
Mandatory parameters: None.
1239
Optional parameters:
1240
1241
1242
1243
1244
1245
1246
1247
1248
"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.
1249
Published specification: This specification.
1250
Applications that use this media type:
1251
No known applications currently use this media type.
1252
Additional information:
1253
Magic number(s):
1254
As specified for "application/xml" in [RFC3023], Section 3.2.
1255
File extension: .cmisquery
1256
Fragment identifiers:
1257
1258
1259
As specified for "application/xml" in [RFC3023], Section 5.
Base URI:
As specified in [RFC3023], Section 6.
1260
Macintosh File Type code: TEXT
1261
Person and email address to contact for further information:
1262
Al Brown <albertcbrown@us.ibm.com>
1263
Intended usage: COMMON
1264
Author/Change controller: IESG
1265
1.44.2 CMIS AllowableActions
1266
1267
A CMIS Allowable Actions Document, when serialized as XML 1.0, can be identified with the following
media type:
1268
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 44 of 54
1269
MIME media type name: application
1270
MIME subtype name: cmisallowableactions +xml
1271
Mandatory parameters: None.
1272
Optional parameters:
1273
1274
1275
1276
1277
1278
1279
1280
1281
"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.
1282
Published specification: This specification.
1283
Applications that use this media type:
1284
No known applications currently use this media type.
1285
Additional information:
1286
Magic number(s):
1287
As specified for "application/xml" in [RFC3023], Section 3.2.
1288
File extension: .cmisallowableactions
1289
Fragment identifiers:
1290
1291
1292
As specified for "application/xml" in [RFC3023], Section 5.
Base URI:
As specified in [RFC3023], Section 6.
1293
Macintosh File Type code: TEXT
1294
Person and email address to contact for further information:
1295
Al Brown <albertcbrown@us.ibm.com>
1296
Intended usage: COMMON
1297
Author/Change controller: IESG
1298
1299
1.44.3 CMIS Tree
1300
A CMIS Tree Document, when serialized as XML 1.0, can be identified with the following media type:
1301
1302
MIME media type name: application
1303
MIME subtype name: cmistree +xml
1304
Mandatory parameters: None.
1305
Optional parameters:
1306
1307
1308
1309
1310
"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.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 45 of 54
1311
1312
1313
1314
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.
1315
Published specification: This specification.
1316
Applications that use this media type:
1317
No known applications currently use this media type.
1318
Additional information:
1319
Magic number(s):
1320
As specified for "application/xml" in [RFC3023], Section 3.2.
1321
File extension: .cmistree
1322
Fragment identifiers:
1323
1324
1325
As specified for "application/xml" in [RFC3023], Section 5.
Base URI:
As specified in [RFC3023], Section 6.
1326
Macintosh File Type code: TEXT
1327
Person and email address to contact for further information:
1328
Al Brown <albertcbrown@us.ibm.com>
1329
Intended usage: COMMON
1330
Author/Change controller: IESG
1331
1332
1.44.4 CMIS Atom
1333
A CMIS Atom Document, when serialized as XML 1.0, can be identified with the following media type:
1334
1335
MIME media type name: application
1336
MIME subtype name: cmisatom +xml
1337
Mandatory parameters: None.
1338
Optional parameters:
1339
1340
"charset": This parameter has semantics identical to the charset parameter of the
"application/xml" media type as specified in [RFC3023].
1341
1342
“type”: This parameter has semantics identical to the type parameter of the
“application/atom+xml” as specified in [RFC4287]
1343
1344
1345
1346
1347
1348
1349
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.
1350
Published specification: This specification.
1351
Applications that use this media type:
1352
1353
No known applications currently use this media type.
Additional information:
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 46 of 54
1354
1355
Magic number(s):
As specified for "application/xml" in [RFC3023], Section 3.2.
1356
File extension: .cmisatom
1357
Fragment identifiers:
1358
1359
1360
As specified for "application/xml" in [RFC3023], Section 5.
Base URI:
As specified in [RFC3023], Section 6.
1361
Macintosh File Type code: TEXT
1362
Person and email address to contact for further information:
1363
Al Brown <albertcbrown@us.ibm.com>
1364
Intended usage: COMMON
1365
Author/Change controller: IESG
1366
1367
1.44.5 CMIS ACL
1368
A CMIS Tree Document, when serialized as XML 1.0, can be identified with the following media type:
1369
1370
MIME media type name: application
1371
MIME subtype name: cmisacl +xml
1372
Mandatory parameters: None.
1373
Optional parameters:
1374
1375
1376
1377
1378
1379
1380
1381
1382
"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.
1383
Published specification: This specification.
1384
Applications that use this media type:
1385
No known applications currently use this media type.
1386
Additional information:
1387
Magic number(s):
1388
As specified for "application/xml" in [RFC3023], Section 3.2.
1389
File extension: .cmisacl
1390
Fragment identifiers:
1391
1392
1393
As specified for "application/xml" in [RFC3023], Section 5.
Base URI:
As specified in [RFC3023], Section 6.
1394
Macintosh File Type code: TEXT
1395
Person and email address to contact for further information:
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 47 of 54
1396
Al Brown <albertcbrown@us.ibm.com>
1397
Intended usage: COMMON
1398
Author/Change controller: IESG
1399
1400
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 48 of 54
1401
# Conformance
1402
1403
The last numbered section in the specification must be the Conformance section. Conformance
Statements/Clauses go here.
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 49 of 54
1404
A. Acknowledgements
1405
1406
The following individuals have participated in the creation of this specification and are gratefully
acknowledged:
1407
1408
1409
Participants:
[Participant Name, Affiliation | Individual Member]
[Participant Name, Affiliation | Individual Member]
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 50 of 54
1410
B. Non-Normative Text
1411
B.1 Atom Link Relations by Object Type
ATOM Link
Type
Self
Document
Folder
Relationship
Policy
X
X
X
X
X
X
X
X
alternate
X
edit
X
edit-media
X
1412
B.2 Atom and AtomPub Extensions
1413
The following extensions to Atom and AtomPub (APP) have been leveraged in this specification:
1414
1. Entries can contain Entries (for descendants) via the CmisAtomChildren type
1415
2. Entries contain CMIS Type and CMIS Object information
1416
3. Link relations have been extended
1417
4. Links have been extended to add a cmis:id attribute
1418
5. AtomPub Service document has been extended
1419
a. CmisRepositoryInfo added to workspace
1420
b. Collections have cmis collectionType
1421
B.3 Examples
1422
Each of the following resources have an example as defined below:
Resource
Description
Example
(Root Tag)
Repository
Please see Example-Service.xml
(Service)
This is the repository logical object. It is
represented by the atom service document.
This is also exposed on entry as link ‘service’
Root Folder
Collection
This is a collection described in the service
document
Please see ExampleFolderChildren.xml.
This is a collection described in the service
document that contains all the checkedout
documents
Please see ExampleFolderChildren.xml. This will however,
be a feed of private working copy
document’s only.
This is a collection of unfiled documents.
Please see ExampleFolderChildren.xml. However there
should be nothing returned.
(Feed)
Checked Out
Collection
(Feed)
Unfiled
Collection
(Feed)
Types
Children
Collection
This is a collection described in the service
document that contains all the types in the
repository
(Feed)
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 51 of 54
Type
(Type)
Document
(Entry)
This is the CMIS type of the object. This is
exposed as link ‘describedby’,
Please see Example-Type.xml.
This is a CMIS Document instance. These are
exposed in feeds or in an entry document.
Please see ExampleDocumentEntry.xml.
This can also be a private working copy
(checkedout)
Document
Private
Working
Copy
This is a document in the private working copy
of the document (checkedout version of
document)
Please see ExampleDocumentPWCEntry.xml.
This is a CMIS Folder instance. These are
exposed in feeds or in an entry document. The
properties of a folder map onto the feed tag.
Please see Example-FolderEntry.xml.
This is a CMIS relationship instance. These
objects are exposed via ‘http://docs.oasisopen.org/ns/cmis/link/200901/relationships’
Please see Example-Relationship.xml.
This is a CMIS policy instance. This is exposed
via ‘cmis-policies’ as a feed
Please see Example-PolicyEntry.xml
This is the content stream portion of the
document object. This is exposed via ‘editmedia’ or ‘alternate’ on the entry
No example. This is the original
document format.
This is the set of actions available to the current
user on the current object. This is exposed as a
link ‘http://docs.oasisopen.org/ns/cmis/link/200901/allowableactions
Please see ExampleAllowableActions.xml
(Entry)
Folder
(Entry)
Relationship
(Entry)
Policy
(Entry)
Content
Stream
(Non-XML)
Allowable
Actions
(AllowableActions)
’
Relationships
Collection
(for a specific
item)
(Feed)
Parents
Collection
(for a specific
document or
policy object)
This is the set of relationships available (either
source or target or both) from a specific item
such as a document, folder or policy. This is
exposed as either ‘http://docs.oasisopen.org/ns/cmis/link/200901/source’ or
‘http://docs.oasisopen.org/ns/cmis/link/200901/target’
Please see FolderChildren. However,
the entries will be Relationships as in
the RelationshipEntry example.
This is the set of parents for a specific
document or policy object. This is exposed via
‘up’ on the entry.
Please see FolderChildren. However,
the entries will be Folder as in the
FolderEntry Example
This is a pseudo-object comprised of all the
direct children of a particular folder. This is
exposed as ‘down’
Please see FolderChildren.
This is a pseudo-object comprised of all the
direct and indirect children of a particular folder.
This is exposed as ‘down’ with a media type
Please see FolderDescendants.
(Feed)
Children
(Feed)
Descendants
(Feed)
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 52 of 54
‘application/cmistree+xml’
AllVersions
(Feed)
This is a pseudo-object made up of all
document versions related to the current
document version. This collection is also
known as the version history. This is exposed
via ‘all-versions’ on the entry.
Please see FolderChildren. However,
the entries will be Documents as in
DocumentEntry and
DocumentPWCEntry.
1423
B.4 Expressing multiple content streams in REST
1424
1425
1426
CMIS does not currently support multiple content streams in the specification due to complexity and lack
of support across a set of repositories. However, exposing the multiple content streams that already exist
in a repository can be done quite readily with REST.
1427
Inside the ATOM entry section:
1428
1429
<link rel=”stream” foo:streamnumber=3
href="http://example.org/media/atom03">
1430
1431
1432
The same can be done in the cmis:object tag as well. The foo:streamnumber attribute tag exposes the
stream id. Non-aware applications will see many links of relationship cmis-stream. If they are aware,
they can chose which stream they want to retrieve.
1433
For setting multiple content streams, this must be done outside of CMIS today.
1434
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 53 of 54
1435
C. Revision History
1436
Revision
Date
.61
10
April
2009
Al
Brown
26
May
2009
Al
Brown,
Ryan
McVeigh
.62a
Editor
Changes Made
Updated based on JIRA issues
http://tools.oasis-open.org/issues/secure/IssueNavigator.jspa?reset=true&pid=10021&fixfor=
http://tools.oasisopen.org/issues/secure/IssueNavigator.jspa?reset=true&mode=hide&sorter/order=DESC&so
1&pid=10021&fixfor=10012
1437
1438
CMISREST
Copyright © OASIS® 2009. All Rights Reserved.
June 1, 2009
Page 54 of 54