Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 1 of 236
Abstract:
The Content Management Interoperability Services (CMIS) standard defines a domain model and
Web Services and Restful AtomPub bindings that can be used by applications to work with one or
more Content Management repositories/systems.
The CMIS interface is designed to be layered on top of existing Content Management systems
and their existing programmatic interfaces. It is not intended to prescribe how specific features
should be implemented within those CM systems, not to exhaustively expose all of the CM
systems capabilities through the CMIS interfaces. Rather, it is intended to define a
generic/universal set of capabilities provided by a CM system and a set of services for working
with those capabilities.
Status:
This document was last revised or approved by the 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
Committees email list. Others should send comments to the Technical Committee by using the
Send A Comment button on the Technical Committees 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/.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 2 of 236
Notices
Copyright OASIS 2009, 2010. 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", CMIS 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.oasis-open.org/who/trademark.php for above guidance.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 3 of 236
Table of Contents
1
Introduction ......................................................................................................................................... 10
1.1 Terminology ...................................................................................................................................... 10
1.2 Normative References ...................................................................................................................... 10
1.3 Non-Normative References .............................................................................................................. 10
2
Domain Model .................................................................................................................................... 11
2.1 Data Model ....................................................................................................................................... 11
2.1.1 Repository ................................................................................................................................. 11
2.1.1.1 Optional Capabilities .......................................................................................................................... 11
2.1.9 Versioning.................................................................................................................................. 59
2.1.9.1 Version Series....................................................................................................................................59
2.1.9.2 Latest Version ....................................................................................................................................59
2.1.9.3 Major Versions ...................................................................................................................................59
2.1.9.4 Services that modify Version Series .................................................................................................. 60
2.1.9.5 Versioning Properties on Document Objects ..................................................................................... 61
2.1.9.6 Document Creation and Initial Versioning State................................................................................. 62
2.1.9.7 Version Specific/Independent membership in Folders ....................................................................... 62
2.1.9.8 Version Specific/Independent membership in Relationships .............................................................62
2.1.9.9 Versioning visibility in Query Services ............................................................................................... 63
11 January 2010
Page 4 of 236
11 January 2010
Page 5 of 236
11 January 2010
Page 6 of 236
11 January 2010
Page 7 of 236
11 January 2010
Page 8 of 236
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 9 of 236
1 Introduction
2
3
4
The Content Management Interoperability Services (CMIS) standard defines a domain model and set of
bindings such as Web Services and ReSTful AtomPub that can be used by applications to work with one
or more Content Management repositories/systems.
5
6
7
8
9
The CMIS interface is designed to be layered on top of existing Content Management systems and their
existing programmatic interfaces. It is not intended to prescribe how specific features should be
implemented within those CM systems, nor to exhaustively expose all of the CM systems capabilities
through the CMIS interfaces. Rather, it is intended to define a generic/universal set of capabilities
provided by a CM system and a set of services for working with those capabilities.
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
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[RFC4287]
[RFC5023]
[RFC2616]
[RFC2119]
[RFC4918]
[RFC3986]
[CMISDM]
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 10 of 236
31
2 Domain Model
32
33
34
35
36
37
38
39
CMIS provides an interface for an application to access a Repository. To do so, CMIS specifies a core
data model that defines the persistent information entities that are managed by the repository, and
specifies a set of basic services that an application can use to access and manipulate these entities. In
accordance with the CMIS objectives, this data model does not cover all the concepts that a full-function
ECM repository typically supports. Specifically, transient entities (such as programming interface objects),
administrative entities (such as user profiles), and extended concepts (such as compound or virtual
document, work flow and business process, event and subscription) are not included.
40
41
42
43
44
45
46
47
48
49
However, when an application connects to a CMIS service endpoint, the same endpoint MAY provide
access to more than one CMIS repository. (How an application obtains a CMIS service endpoint is
outside the scope of CMIS. How the application connects to the endpoint is a part of the protocol that the
application uses.) An application MUST use the CMIS Get Repositories service (getRepositories) to
obtain a list of repositories that are available at that endpoint. The Repository Identity MUST uniquely
identify an available repository at this service endpoint. Both the repository name and the repository
identity are opaque to CMIS. Aside from the Get Repositories service, all other CMIS services are
single-repository-scoped, and require a Repository Identity as an input parameter. In other words, except
for the Get Repositories service, multi-repository and inter-repository operations are not supported by
CMIS.
50
2.1.1 Repository
51
52
The repository itself is described by the CMIS Get Repository Information service. The service output is
fully described in section 2.2.2.2 getRepositoryInfo.
53
54
55
56
57
58
59
60
Commercial ECM repositories vary in their designs. Moreover, some repositories are designed for a
specific application domain and may not provide certain capabilities that are not needed for their targeted
domain. Thus, a repository implementation may not necessarily be able to support all CMIS capabilities.
A few CMIS capabilities are therefore optional for a repository to be compliant. A repositorys support for
each of these optional capabilities is discoverable using the getRepositoryInfo service. The following is
the list of these optional capabilities. All capabilities are Boolean (i.e. the Repository either supports the
capability entirely or not at all) unless otherwise noted.
61
62
63
Navigation Capabilities:
capabilityGetDescendants
64
65
Ability for an application to enumerate the descendants of a folder via the getDescendants
service.
66
67
68
capabilityGetFolderTree
69
Ability for an application to retrieve the folder tree via the getFolderTree service.
70
71
72
73
Object Capabilities:
capabilityContentStreamUpdatability (enumCapabilityContentStreamUpdates)
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 11 of 236
74
75
Indicates the support a repository has for updating a documents content stream. Valid values
are:
76
77
78
79
pwconly: The content stream may be updated only when checked out. The abbreviation
PWC is described in section 2.1.9 Versioning.
80
81
82
83
84
capabilityChanges (enumCapabilityChanges)
Indicates what level of changes (if any) the repository exposes via the change log service. Valid
values are:
85
none: The repository does not support the change log feature.
86
87
objectidsonly: The change log can return only the ObjectIDs for changed objects in
the repository and an indication of the type of change, not details of the actual change.
88
89
properties: The change log can return properties and the ObjectID for the changed
objects
90
91
all: The change log can return the ObjectIDs for changed objects in the repository and
more information about the actual change
92
93
94
95
capabilityRenditions (enumCapabilityRendition)
Indicates whether or not the repository exposes renditions of document or folder objects.
96
97
read: Renditions are provided by the repository and readable by the client.
98
99
100
Filing Capabilities:
capabilityMultifiling
101
Ability for an application to file a document or other file-able object in more than one folder
102
103
104
capabilityUnfiling
105
Ability for an application to leave a document or other file-able object not filed in any folder
106
107
108
capabilityVersionSpecificFiling
109
Ability for an application to file individual versions (i.e., not all versions) of a document in a folder
110
111
112
113
Versioning Capabilities:
capabilityPWCUpdatable
114
Ability for an application to update the Private Working Copy of a checked-out document
115
11 January 2010
Page 12 of 236
116
117
capabilityPWCSearchable
118
119
Ability of the Repository to include the "Private Working Copy" of checked-out documents in
query search scope; otherwise PWC's are not searchable
120
121
122
capabilityAllVersionsSearchable
123
124
125
Ability of the Repository to include non-latestall versions of document in query search scope;
otherwise only.If False, typically either the latest or the latest major version of each document
iswill be searchable.
126
127
128
129
130
Query Capabilities:
capabilityQuery (enumCapabilityQuery)
Indicates the types of queries that the Repository has the ability to fulfill. Query support levels are:
131
132
133
metadataonly: Only queries that filter based on object properties can be fulfilled.
Specifically, the CONTAINS() predicate function is not supported.
134
135
136
fulltextonly: Only queries that filter based on the full-text content of documents can be
fulfilled. Specifically, only the CONTAINS() predicate function can be included in the
WHERE clause.
137
138
139
bothseparate: The repository can fulfill queries that filter EITHER on the full-text content
of documents OR on their properties, but NOT if both types of filters are included in the
same query.
140
141
bothcombined: The repository can fulfill queries that filter on both the full-text content of
documents and their properties in the same query.
142
143
144
145
capabilityJoin (enumCapabilityJoin)
Indicates the types of JOIN keywords that the Repository can fulfill in queries. Support levels are:
146
none: The repository cannot fulfill any queries that include any JOIN clauses.
147
148
inneronly: The repository can fulfill queries that include an INNER JOIN clause, but
cannot fulfill queries that include other types of JOIN clauses.
149
150
innerandouter: The repository can fulfill queries that include any type of JOIN clause
defined by the CMIS query grammar.
151
152
153
154
155
ACL Capabilities:
capabilityACL (enumCapabilityACL)
Indicates the level of support for ACLs by the repository
156
157
discover: The repository supports discovery of ACLs (getACL and other services)
158
159
manage: The repository supports discovery of ACLs AND applying ACLs (getACL and
applyACL services)
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 13 of 236
160
161
162
163
164
165
166
The Get Repository Information service MUST also return implementation information including vendor
name, product name, product version, version of CMIS that it supports, the root folder ID (see section
2.1.5.2 Folder Hierarchy), and MAY include other implementation-specific information. The version of
CMIS that the repository supports MUST be expressed as a Decimal that matches the specification
version.
167
2.1.2 Object
168
169
The entities managed by CMIS are modeled as typed Objects. There are four base types of objects:
Document Objects, Folder Objects, Relationship Objects, and Policy Objects.
170
171
A document object represents a standalone information asset. Document objects are the
elementary entities managed by a CMIS repository.
172
173
174
A folder object represents a logical container for a collection of file-able objects, which include
folder objects and document objects. Folder objects are used to organize file-able objects.
Whether or not an object is file-able is specified in its object-type definition.
175
176
177
A relationship object represents an instance of directional relationship between two objects. The
support for relationship objects is optional, and may be discovered via the Get Type Children
service.
178
179
180
181
A policy object represents an administrative policy, which may be applied to one or more
controllablePolicy objects. Whether or not an object is controllable is specified in its object-type
definition. The support for policy objects is optional, and may be discovered via the Get Type
Children service.
182
183
184
185
Additional object-types MAY be defined in a repository as subtypes of these base types. CMIS services
are provided for the discovery of object-types that are defined in a repository. However, object-type
management services, such as the creation, modification, and deletion of an object-type, are outside the
scope of CMIS.
186
187
188
189
190
Every CMIS object has an opaque and immutable Object Identity (ID), which is assigned by the
repository when the object is created. An ID uniquely identifies an object within a repository regardless of
the type of the object. Repositories SHOULD assign IDs that are permanent that is, they remain
unchanged during the lifespan of the identified objects, and they are never reused or reassigned after the
objects are deleted from the repository.
191
192
193
Every CMIS object has a set of named, but not explicitly ordered, Properties. (However, a Repository
SHOULD always return object properties in a consistent order.) Within an object, each property is
uniquely identified by its property definition id.
194
195
196
197
198
In addition, a document object MAY have a Content-Stream, which may be used to hold a raw digital
asset such as an image or a word-processing document. A repository MUST specify, in each object-type
definition, whether document objects of that type MAY, MUST, or MUST NOT have a content-stream. A
document MAY also have one or more Renditions associated with it. A rendition can be a thumbnail or
an alternate representation of the content stream.
199
200
201
202
Document or folder objects MAY have one Access Control List (ACL), which controls access to the
document or folder. A policy object may also control access to the document or folder. An ACL
represents a list of Access Control Entries (ACEs). An ACE in turn represents one or more permissions
being granted to a principal (a user, group, role, or something similar).
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 14 of 236
203
The notion of localization of the objects in the data model is entirely repository specific.
204
2.1.2.1 Property
205
206
207
208
A property MAY hold zero, one, or more typed data value(s). Each property MAY be single-valued or
multi-valued. A single-valued property contains a single data value, whereas a multi-valued property
contains an ordered list of data values of the same type. The ordering of values in a multi-valued property
MAY be preserved by the repository.
209
210
211
If a value is not provided for a property, the property is in a value not set state. There is no null value
for a property. Through protocol binding, a property is either not set, or is set to a particular value or a list
of values.
212
213
214
A multi-valued property is either set or not set in its entirety. An individual value of a multi-valued property
MUST NOT be in an individual value not set state and hold a position in the list of values. An empty list
of values MUST NOT be allowed.
215
216
217
218
Every property is typed. The Property-type defines the data type of the data value(s) held by the property.
CMIS specifies the following Property-types. They include the following data types defined by XML
Schema Part 2: Datatypes Second Edition (W3C Recommendation, 28 October 2004,
http://www.w3.org/TR/xmlschema-2/):
219
220
221
222
223
224
225
string
(xsd:string)
boolean (xsd:boolean)
decimal (see section 2.1.3.3.4 Attributes specific to Decimal Object-Type Property Definitions)
integer (xsd:integer)
datetime (xsd:dateTime and see section 2.1.3.3.4 Attributes specific to Decimal Object-Type
Property Definitions)
uri
(xsd:anyURI)
226
227
228
229
230
231
id
html
Individual protocol bindings MAY override or re-specify these property types.
232
233
234
235
All properties MUST supply a String queryName attribute which is used for query and filter operations on
object-types. This is an opaque String with limitations. This string SHOULD NOT contain any characters
that negatively interact with the BNF grammar.
236
237
238
whitespace ,
239
comma ,
240
double quotes
241
single quotes
242
backslash \
243
244
245
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 15 of 236
246
2.1.2.1.1 ID Property
247
248
249
250
251
252
An ID property holds a system-generated, read-only identifier, such as an Object ID, an Object-Type ID,
etc. (The ID Property-Type is NOT defined by xsd:id.) The lexical representation of an ID is an opaque
string. As such, an ID cannot be assumed to be interpretable syntactically or assumed to be to be collateable with other IDs, and can only be used in its entirety as a single atomic value. When used in a query
predicate, an ID can only participate in an equal or a not equal comparison with a string literal or with
another ID.
253
254
255
256
257
258
259
260
261
While all CMIS identities share the same Property-Type, they do not necessarily share the same address
space. Unless explicitly specified, ID properties NEED NOT maintain a referential integrity constraint.
Therefore, storing the ID of one object in another object NEED NOT constrain the behavior of either
object. A repository MAY, however, support referential constraint underneath CMIS if the effect on CMIS
services remains consistent with an allowable behavior of the CMIS model. For example, a repository
MAY return an exception when a CMIS service call violates an underlying referential constraint
maintained by the repository. In that case, an error message SHOULD be returned to the application to
describe the cause of exception and suggest a remedial action. The content of such messages is outside
the scope of CMIS.
262
263
264
265
An HTML property holds a document or fragment of Hypertext Markup Language (HTML) content. HTML
properties are not guaranteed to be validated in any way. The validation behavior is entirely repository
specific.
266
2.1.3 Object-Type
267
268
269
An Object-Type defines a fixed and non-hierarchical set of properties (schema) that all objects of that
type have. This schema is used by a repository to validate objects and enforce constraints, and is also
used by a user to compose object-type-based (structured) queries.
270
271
All CMIS objects are strongly typed. If a property not specified in an objects object-type definition is
supplied by an application, an exception SHOULD be thrown.
272
273
Each object-type is uniquely identified within a repository by a system-assigned and immutable ObjectType Identifier, which is of type ID.
274
275
A CMIS repository MUST expose exactly one collection of Object-Types via the Repository services
(getTypeChildren, getTypeDescendants, getTypeDefinition).
276
277
278
279
280
While a repository MAY define additional object-types beyond the CMIS Base Object-Types, these
Object-Types MUST NOT extend or alter the behavior or semantics of a CMIS service (for example, by
adding new services). A repository MAY attach additional constraints to an object-type underneath CMIS,
provided that the effect visible through the CMIS interface is consistent with the allowable behavior of
CMIS.
281
282
Hierarchy and Inheritance for Object-Types are supported by CMIS in the following manner:
283
284
cmis:document object-type
285
cmis:folder object-type
286
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 16 of 236
287
cmis:relationship object-type
288
cmis:policy object-type
289
290
Additional base types MUST NOT exist. Additional object-types MAY be defined as sub-types or
descendant types of these four base types.
291
292
293
A non-base type has one and only one parent type. An object-types Parent Type is a part of the
object-type definition.
294
295
An object-type definition includes a set of object-type attributes (e.g. Fileable, Queryable, etc.)
and a property schema that will apply to Objects of that type.
296
297
The properties of a CMIS base type MUST be inherited by its descendant types.
298
299
300
A Child Type whose immediate parent is NOT its base type SHOULD inherit all the property
definitions that are specified for its parent type. In addition, it MAY have its own property
definitions.
301
302
303
304
305
306
307
308
309
310
311
If a property is NOT inherited by a subtype, the exhibited behavior for query MUST be as if
the value of this property is not set for all objects of this sub-type.
The scope of a query on a given object-type is automatically expanded to include all the
Descendant Types of the given object-type with the attribute includedInSuperTypeQuery
equals TRUE. This was added for synthetic types as well as to support different type hierarchies
that are not necessarily the same as CMIS. Only the properties of the given object-type,
including inherited ones, MUST be used in the query. Properties defined for its descendant types
MAY NOT be used in the query, and CAN NOT be returned by the query.
o
If a property of its parent type is not inherited by this type, the property MUST still appear as
a column in the corresponding virtual table in the relational view, but this column MUST
contain a NULL value for all objects of this type. (See section 2.1.10 Query.)
312
313
314
315
316
317
318
ID
id
String (optional)
319
320
This attribute represents the underlying repositorys name for the object-type. This field is
opaque and has no uniqueness constraint imposed by this specification.
321
322
Two properties with the same localName and localNamespace MUST have the same semantic
equality.
323
324
325
326
localNamespace
String (optional)
This attribute allows repositories to represent the internal namespace of the underlying
repositorys name for the object-type.
327
328
queryName
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
String
11 January 2010
Page 17 of 236
329
330
Used for query and filter operations on object-types. This is an opaque String with limitations.
This string SHOULD NOT contain any characters that negatively interact with the BNF grammar.
331
332
333
whitespace ,
334
comma ,
335
double quotes
336
single quotes
337
backslash \
338
339
340
341
342
displayName
String (optional)
343
344
345
346
baseId
Enum
A value that indicates whether the base type for this Object-Type is the Document, Folder,
Relationship, or Policy base type.
347
348
parentId
ID
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
description
String (optional)
Description of this object-type, such as the nature of content, or its intended use. Used for
presentation by application.
creatable
Boolean
Indicates whether new objects of this type MAY be created. If the value of this attribute is FALSE,
the repository MAY contain objects of this type already, but MUST NOT allow new objects of this
type to be created.
fileable
Boolean
Boolean
Indicates whether or not this object-type can appear in the FROM clause of a query statement. A
non-queryable object-type is not visible through the relational view that is used for query, and
CAN NOT appear in the FROM clause of a query statement.
controllablePolicy
Boolean
Indicates whether or not objects of this type are controllable via policies. Policy objects can only
be applied to controllablePolicy objects.
372
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 18 of 236
373
controllableACL
374
375
376
377
This attribute indicates whether or not objects of this type are controllable by ACLs. Only objects
that are controllableACL can have an ACL.
fulltextIndexed
378
379
380
381
Boolean
Boolean
Indicates whether objects of this type are indexed for full-text search for querying via the
CONTAINS() query predicate.
includedInSupertypeQuery
Boolean
382
Indicates whether this type and its subtypes appear in a query of this types ancestor types.
383
384
For example: if Invoice is a sub-type of cmis:document, if this is TRUE on Invoice then for a query
on cmis:document, instances of Invoice will be returned if they match.
385
If this attribute is FALSE, no instances of Invoice will be returned even if they match the query.
386
387
388
389
390
Besides these object-type attributes, an object-type definition SHOULD contain inherited property
definitions and zero or more additional property definitions. All the properties of an object, including
inherited properties, MUST be retrievable through the get services, and MAY appear in the SELECT
clause of a query.
391
392
393
394
395
396
397
ID
id
This opaque attribute uniquely identifies the property in the repository. If two Object-Types each
contain property definitions with the same ID, those property definitions are the same.
398
399
400
401
localName
String (optional)
This attribute represents the underlying repositorys name for the property. This field is opaque
and has no uniqueness constraint imposed by this specification.
402
403
404
405
406
407
408
409
queryName
String
Used for query operations on properties. This is an opaque String with limitations. Please see
queryName in Object-Type Attributes for the limitations on what characters are not allowed.
410
411
412
displayName
String (optional)
413
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 19 of 236
414
415
description
String (optional)
416
417
418
419
propertyType
Enum
This attribute indicates the type of this property. It MUST be one of the allowed property types.
(See section 2.1.2.1 Property.)
420
421
cardinality
Enum
422
Indicates whether the property can have zero or one or zero or more values.
423
Values:
424
425
single: Property can have zero or one values (if property is not required), or exactly one
value (if property is required)
426
427
multi: Property can have zero or more values (if property is not required), or one or more
values (if property is required).
428
429
430
Repositories SHOULD preserve the ordering of values in a multi-valued property. That is, the
order in which the values of a multi-valued property are returned in get operations SHOULD be
the same as the order in which they were supplied during previous create/update operation.
431
432
updatability
Enum
433
Indicates under what circumstances the value of this property MAY be updated.
434
Values:
435
436
437
438
439
440
readonly: The value of this property MUST NOT ever be set directly by an application. It
is a system property that is either maintained or computed by the repository.
o
441
readwrite: The property value can be modified using the updateProperties service.
442
443
444
445
446
447
I.e. the update is either made on a private working copy object or made using a
check in service.
oncreate: The property value MUST only be update-able during the Create operation on
that Object.
448
449
450
451
inherited
Boolean
Indicates whether the property definition is inherited from the parent-type when TRUE or it is
explicitly defined for this object-type when FALSE.
452
453
required
Boolean
454
455
456
If TRUE, then the value of this property MUST never be set to the not set state when an object
of this type is created/updated. If not provided during a create or update operation, the repository
MUST provide a value for this property.
457
458
459
If a value is not provided, then the default value defined for the property MUST be set. If no
default value is provided and no default value is defined, the repository MUST throw an
exception.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 20 of 236
460
461
A property definition SHOULD never state that a property has a required value of TRUE and an
updatability value of readonly.
462
463
Boolean
queryable
464
465
Indicates whether or not the property MAY appear in the WHERE clause of a CMIS query
statement.
466
467
468
This attribute MUST have a value of FALSE if the Object-types attribute for Queryable is set to
FALSE.
469
Boolean
orderable
470
471
Indicates whether the property can appear in the ORDER BY clause of a CMIS query statement
or an ORDERBY parameter.
472
473
This property MUST be FALSE for any property whose cardinality is multi.
474
choices
475
Indicates an explicit ordered set of single values allowed for this property.
476
477
If the cardinatity of the property definition is single and the openChoice attribute is FALSE,
then the property value MUST be at most one of the values listed in this attribute.
478
479
If the cardinatity of the property definition is single and the openChoice attribute is TRUE, then
the property value MAY be one of the values listed in this attribute.
480
481
If the cardinatity of the property definition is multi and the openChoice attribute is FALSE, then
the property value MUST be zero, one or more than one of the values listed in this attribute.
482
483
484
If the cardinatity of the property definition is multi and the openChoice attribute is TRUE, then
the property value MAY be zero, one, or more than one of the values listed in this attribute.If this
attribute is not set, then any valid value for this property based on its type may be used.
485
486
Each choice includes a displayName and a value. The displayName is used for presentation
purpose. The value will be stored in the property when selected.
487
488
Choices MAY be hierarchically presented. For example: a value of choices for a geographic
location would be represented as follows:
489
Europe:
490
England
491
France
492
Germany
493
North America
494
Canada
495
USA
496
Mexico
497
openChoice
Boolean
498
This attribute is only applicable to properties that provide a value for the Choices attribute.
499
500
501
502
If FALSE, then the data value for the property MUST only be one of the values specified in the
Choices attribute. If TRUE, then values other than those included in the Choices attribute may
be set for the property.
503
defaultValue
<PropertyType>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 21 of 236
504
505
The value that the repository MUST set for the property if a value is not provided by an
application when the object is created.
506
507
508
509
If no default value is specified and an application creates an object of this type without setting a
value for the property, the repository MUST attempt to store a value not set state for the
property value. If this occurs for a property that is defined to be required, then the creation
attempt MUST throw an exception.
510
511
The attributes on the default value element are the same as the attributes on the property
definition.
512
513
514
515
516
The following Object attributes MUST only apply to Property-Type definitions whose propertyType is
Integer, in addition to the common attributes specified above. A repository MAY provide additional
guidance on what values can be accepted. If the following attributes are not present the repository
behavior is undefined and it MAY throw an exception if a runtime constraint is encountered.
517
minValue
Integer
518
519
520
If an application tries to set the value of this property to a value lower than minValue, the
repository MUST throw a constraint exception.
521
522
maxValue
Integer
523
524
525
If an application tries to set the value of this property to a value higher than maxValue, the
repository MUST throw a constraint exception.
526
527
528
529
530
531
The following Object attributes MUST only apply to Property-Type definitions whose propertyType is
Decimal, in addition to the common attributes specified above. A repository MAY provide additional
guidance on what values can be accepted. If the following attributes are not present the repository
behavior is undefined and it MAY throw an exception if a runtime constraint is encountered.
532
533
resolution
String Enumeration
This is the precision in bits supported for values of this property. Valid values for this attribute are:
534
535
536
537
538
539
540
541
542
The following Object attributes MUST only apply to Property-Type definitions whose propertyType is
Decimal, in addition to the common attributes specified above. A repository MAY provide additional
guidance on what values can be accepted. If the following attributes are not present the repository
behavior is undefined and it MAY throw an exception if a runtime constraint is encountered.
543
544
precision
Integer Enumeration
This is the precision in bits supported for values of this property. Valid values for this attribute are:
545
546
547
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 22 of 236
548
minValue
Decimal
549
550
551
If an application tries to set the value of this property to a value lower than minValue, the
repository MUST throw a constraint exception.
552
553
maxValue
Decimal
554
555
556
If an application tries to set the value of this property to a value higher than maxValue, the
repository MUST throw a constraint exception.
557
558
559
560
561
The following Object attributes MUST only apply to Property-Type definitions whose propertyType is
String, in addition to the common attributes specified above. A repository MAY provide additional
guidance on what values can be accepted. If the following attributes are not present the repository
behavior is undefined and it MAY throw an exception if a runtime constraint is encountered.
562
maxLength
Integer
563
The maximum length (in characters) allowed for a value of this property.
564
565
If an application attempts to set the value of this property to a string larger than the specified
maximum length, the repository MUST throw a constraint exception.
566
567
Document objects are the elementary information entities managed by the repository.
568
569
Version-able: Can be acted upon via the Versioning Services (for example: checkOut, checkIn).
570
File-able: Can be filed in zero, one, or more than one folder via the Multi-filing services.
571
572
Controllable-Policy: Can have Policies applied to it (see section 2.1.7 Policy Object.)
573
Controllable-ACL: Can have an ACL applied to it (see section 2.8 Access Control)
574
575
Additionally, whether a Document object MUST, MAY or MUST NOT have a content-stream is specified
in its object-type definition. A Document Object MAY be associated with zero or more renditions.
576
577
Note: When a document is versioned, each version of the document is a separate document object. Thus,
for document objects, an object ID actually identifies a specific version of a document.
578
579
580
581
582
A content-stream is a binary stream. Its maximum length is repository-specific. Each content-stream has
a MIME Media Type, as defined by RFC2045 and RFC2046. A content-streams attributes are
represented as properties of the content-streams containing document object. There is no MIME-typespecific attribute or name directly associated with the content-stream outside of the document object.
583
584
CMIS provides basic CRUD services for content-stream, using the ID of a content-streams containing
document object for identification. A content stream also has a streamId which is used for access to the
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 23 of 236
585
586
587
588
589
590
591
592
stream. The Set Content-Stream service (setContentStream) either creates a new content-stream for a
document object or replaces an existing content-stream. The Get Content-Stream service
(getContentStream) retrieves a content-stream. The Delete Content-Stream service
(deleteContentStream) deletes a content-stream from a document object. In addition, the
CreateDocument and Check-in services MAY also take a content-stream as an optional input. A
content stream MUST be specified if required by the type definition. These are the only services that
operate on content-stream. The Get Properties and Query services, for example, do not return a
content-stream.
593
594
595
Set Content-Stream and Delete Content-Stream services are considered modifications to a contentstreams containing document object, and SHOULD therefore change the objects LastModificationDate
property upon successful completion.
596
597
598
2.1.4.2 Renditions
599
600
601
602
603
Some ECM repositories provide a facility to retrieve alternative representations of a document. These
alternative representations are known as renditions. This could apply to a preview case which would
enable the client to preview the content of a document without needing to download the full content.
Previews are generally reduced fidelity representations such as thumbnails. Renditions can take on any
general form, such as a PDF version of a word document.
604
605
606
607
608
609
610
A CMIS repository MAY expose zero or more renditions for a document or folder in addition to a
documents content stream. CMIS provides no capability to create or update renditions accessed through
the rendition services. Renditions are specific to the version of the document or folder and may differ
between document versions. Each rendition consists of a set of rendition attributes and a rendition
stream. Rendition attributes are not object properties, and are not queryable. They can be retrieved using
the getRenditions service. A rendition stream can be retrieved using the getContentStream service with
the renditions streamId parameter.
611
612
613
614
615
616
617
streamId
ID
String
618
619
620
length
Integer (optional)
621
622
623
title
String (optional)
624
625
626
kind
String
627
628
height
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
Integer (optional)
11 January 2010
Page 24 of 236
629
630
Typically used for image renditions (expressed as pixels). SHOULD be present if kind =
cmis:thumbnail.
631
632
Integer (optional)
width
633
634
Typically used for image renditions (expressed as pixels). SHOULD be present if kind =
cmis:thumbnail.
635
636
renditionDocumentId
637
638
639
ID (optional)
If specified, then the rendition can also be accessed as a document object in the CMIS services.
If not set, then the rendition can only be accessed via the rendition services. Referential integrity
of this ID is repository-specific.
640
641
642
643
A Rendition may be categorized via its kind. The repository is responsible for assigning kinds to
Renditions, including custom kinds. A repository kind does not necessarily identify a single Rendition for
a given Object.
644
645
646
647
648
649
650
651
This section describes the definition of the Document Object-Types attribute values and property
definitions which must be present on Document instance objects. All attributes and property definitions
are listed by their ID.
652
653
654
The following Object attributes MUST only apply to Object-Type definitions whose baseId is the
cmis:document Object-Type, in addition to the common attributes specified above:
655
versionable
Boolean
Indicates whether or not objects of this type are version-able. (See section 2.1.9 Versioning.)
656
657
658
contentStreamAllowed
659
660
Enum
A value that indicates whether a content-stream MAY, MUST, or MUST NOT be included in
objects of this type. Values:
661
662
663
664
required: A content-stream MUST be included (i.e. MUST be included when the object is
created, and MUST NOT be deleted.)
665
666
667
Notes:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 25 of 236
668
669
A value of <repository-specific> indicates that the value of the property MAY be set to any valid
value for the attribute type.
670
671
Unless explicitly stated otherwise, all values specified in the list MUST be followed for the ObjectType definition.
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
id
Value: cmis:document
localName
Value: <repository-specific>
localNamespace
Value: <repository-specific>
queryName
Value: cmis:document
displayName
Value: <repository-specific>
baseId
Value: cmis:document
parentId
Value: Not set
description
Value: <repository-specific>
creatable
Value: <repository-specific>
fileable
Value: TRUE
queryable
Value: SHOULD be TRUE
controllablePolicy
707
708
709
Value: <repository-specific>
includedInSupertypeQuery
710
Value: <repository-specific>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 26 of 236
711
712
713
714
715
716
717
718
719
720
721
versionable
Value: <repository-specific>
contentStreamAllowed
Value: <repository-specific>
controllableACL
Value: <repository-specific>
fulltextIndexed
722
Value: <repository-specific>
723
724
725
726
727
The Document base Object-Type MUST have the following property definitions, and MAY include
additional property definitions. Any attributes not specified for the property definition are repository
specific. For all property definitions on base types, the query name MUST be the same as the property
ID. The repository MUST have the following property definitions on the Document Type:
728
729
cmis:name
730
Inherited:
False
731
Property Type:
String
732
Cardinality:
Single
733
734
cmis:objectId
Id of the object
735
Required:
False
736
Inherited:
False
737
Property Type:
ID
738
Cardinality:
Single
739
Updatability:
Read Only
740
Choices:
Not Applicable
741
Open Choice:
Not Applicable
742
743
744
cmis:baseTypeId
745
Required:
False
746
Inherited:
False
747
Property Type:
ID
748
Cardinality:
Single
749
Updatability:
Read Only
750
Choices:
Not Applicable
751
Open Choice:
Not Applicable
752
753
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 27 of 236
754
755
cmis:objectTypeId
Required:
756
Inherited:
False
757
Property Type:
ID
758
Cardinality:
Single
759
Updatability:
oncreate
760
Choices:
Not Applicable
761
Open Choice:
Not Applicable
762
763
764
cmis:createdBy
765
Required:
766
Inherited:
False
767
Property Type:
String
768
Cardinality:
Single
769
Updatability:
Read Only
770
Choices:
Not Applicable
771
Open Choice:
Not Applicable
772
Queryable:
True
773
Orderable:
True
774
775
776
cmis:creationDate
777
Required:
False
778
Inherited:
False
779
Property Type:
DateTime
780
Cardinality:
Single
781
Updatability:
Read Only
782
Choices:
Not Applicable
783
Open Choice:
Not Applicable
784
Queryable:
True
785
Orderable:
True
786
787
788
cmis:lastModifiedBy
789
Required:
False
790
Inherited:
False
791
Property Type:
String
792
Cardinality:
Single
793
Updatability:
Read Only
794
Choices:
Not Applicable
795
Open Choice:
Not Applicable
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 28 of 236
796
Queryable:
True
797
Orderable:
True
798
799
800
cmis:lastModificationDate
801
Required:
False
802
Inherited:
False
803
Property Type:
DateTime
804
Cardinality:
Single
805
Updatability:
Read Only
806
Choices:
Not Applicable
807
Open Choice:
Not Applicable
808
Queryable:
True
809
Orderable:
True
810
811
812
813
cmis:changeToken
814
Required:
False
815
Inherited:
False
816
Property Type:
String
817
Cardinality:
Single
818
Updatability:
Read Only
819
Choices:
Not Applicable
820
Open Choice:
Not Applicable
821
822
823
824
cmis:isImmutable
825
Required:
False
826
Inherited:
False
827
Property Type:
Boolean
828
Cardinality:
Single
829
Updatability:
Read Only
830
Choices:
Not Applicable
831
Open Choice:
Not Applicable
832
833
834
cmis:isLatestVersion
835
Required:
False
836
Inherited:
False
837
Property Type:
Boolean
838
Cardinality:
Single
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 29 of 236
839
Updatability:
Read Only
840
Choices:
Not Applicable
841
Open Choice:
Not Applicable
842
843
MUST be set on the object. Version Property Values are repository-specific when a document is
defined as non-versionable.
844
845
cmis:isMajorVersion
846
Required:
False
847
Inherited:
False
848
Property Type:
Boolean
849
Cardinality:
Single
850
Updatability:
Read Only
851
Choices:
Not Applicable
852
Open Choice:
Not Applicable
853
854
MUST be set on the object. Version Property Values are repository-specific when a document is
defined as non-versionable.
855
856
cmis:isLatestMajorVersion
857
Required:
False
858
Inherited:
False
859
Property Type:
Boolean
860
Cardinality:
Single
861
Updatability:
Read Only
862
Choices:
Not Applicable
863
Open Choice:
Not Applicable
864
865
MUST be set on the object. Version Property Values are repository-specific when a document is
defined as non-versionable.
866
867
cmis:versionLabel
868
Required:
False
869
Inherited:
False
870
Property Type:
String
871
Updatability:
Read Only
872
Choices:
Not Applicable
873
Open Choice:
Not Applicable
874
875
MUST be set on the object. Version Property Values are repository-specific when a document is
defined as non-versionable.
876
877
cmis:versionSeriesId
878
Required:
False
879
Inherited:
False
880
Property Type:
ID
881
Cardinality:
Single
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 30 of 236
882
Updatability:
Read Only
883
Choices:
Not Applicable
884
Open Choice:
Not Applicable
885
886
MUST be set on the object. Version Property Values are repository-specific when a document is
defined as non-versionable.
887
888
cmis:isVersionSeriesCheckedOut
889
Required:
False
890
Inherited:
False
891
Property Type:
Boolean
892
Cardinality:
Single
893
Updatability:
Read Only
894
Choices:
Not Applicable
895
Open Choice:
Not Applicable
896
897
MUST be set on the object. Version Property Values are repository-specific when a document is
defined as non-versionable.
898
899
cmis:versionSeriesCheckedOutBy
900
Required:
False
901
Inherited:
False
902
Property Type:
String
903
Cardinality:
Single
904
Updatability:
Read Only
905
Choices:
Not Applicable
906
Open Choice:
Not Applicable
907
908
909
cmis:versionSeriesCheckedOutId
910
Required:
False
911
Inherited:
False
912
Property Type:
ID
913
Cardinality:
Single
914
Updatability:
Read Only
915
Choices:
Not Applicable
916
Open Choice:
Not Applicable
917
918
919
cmis:checkinComment
920
Required:
False
921
Inherited:
False
922
Property Type:
String
923
Cardinality:
Single
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 31 of 236
924
Updatability:
Read Only
925
Choices:
Not Applicable
926
Open Choice:
Not Applicable
927
928
929
cmis:contentStreamLength
930
Required:
False
931
Inherited:
False
932
Property Type:
Integer
933
Cardinality:
Single
934
Updatability:
Read Only
935
Choices:
Not Applicable
936
Open Choice:
Not Applicable
937
938
939
cmis:contentStreamMimeType
940
Required:
False
941
Inherited:
False
942
Property Type:
String
943
Cardinality:
Single
944
Updatability:
Read Only
945
Choices:
Not Applicable
946
Open Choice:
Not Applicable
947
948
949
cmis:contentStreamFileName
950
Required:
False
951
Inherited:
False
952
Property Type:
String
953
Cardinality:
Single
954
955
956
cmis:contentStreamId
Id of the stream
957
Required:
958
Inherited:
False
959
Property Type:
ID
960
Cardinality:
Single
961
Updatability:
Read Only
962
Choices:
Not Applicable
963
Open Choice:
Not Applicable
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
False
11 January 2010
Page 32 of 236
964
965
966
967
968
969
970
971
972
A folder object serves as the anchor for a collection of file-able objects. The folder object has an implicit
hierarchical relationship with each object in its collection, with the anchor folder object being the Parent
object and each object in the collection being a Child object. This implicit relationship has specific
containment semantics which MUST be maintained by the repository with implicit referential integrity.
(That is, there will never be a dangling parent-relationship or a dangling child-relationship. Furthermore,
object A is a parent of object B if and only if object B is a child of object A.) This system-maintained
implicit relationship is distinct from an explicit relationship which is instantiated by an applicationmaintained Relationship Object. (See section 2.1.6 Relationship Object.)
973
974
A folder object does not have a content-stream and is not version-able. A folder object MAY be
associated with zero or more renditions (see section 2.1.4.2 Renditions).
975
976
977
A file-able object is one that MAY be filed into a folder. That is, it MAY be a child object of a folder
object. The following list defines whether the base CMIS Object-types are file-able:
978
979
cmis:folder
MUST be file-able
980
981
982
cmis:document
MUST be file-able
983
984
985
cmis:relationship
MUST NOT be file-able
986
987
988
cmis:policy
MAY be file-able
989
990
991
992
993
994
Since document objects are versionable, a document objects membership in a folder MAY be versionspecific or version-independent. That is, the folder membership MAY be restricted to that particular
version of the document or MAY apply to all versions of the document. Whether or not a repository
supports version-specific filing is discoverable via the Get Repository Information service
(getRepositoryInfo).
995
996
997
When the child objects of a folder are retrieved, a specific version of a document MAY be returned. If the
repository supports version-specific filing, the specific version filed in that folder is returned. If the
repository does not support version-specific filing, the latest version of the document is returned.
998
999
1000
Likewise, this version sensitivity in child-binding also affects the behavior of parent retrieval for a
document object, as well as the scope of the IN_FOLDER() and IN_TREE() function calls in a query. For
non-versionable fileable objects, their membership in a folder does not have version sensitivity.
1001
1002
1003
1004
A folder collections membership MAY be restricted by object-type. Each folder object has a multi-valued
AllowedChildObjectTypeIDs property, which specifies that only objects of these types are allowed to be
its children. If this property is not set, then objects of any file-able type MAY be filed in the Folder. It is
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 33 of 236
1005
1006
repository-specific if subtypes of the types listed in the AllowedChildObjectTypeIDs property MAY be filed
in the folder.
1007
1008
Because of these filing constraints, when a new folder object is created, an existing folder object MUST
be specified as its parent.
1009
1010
1011
1012
When a file-able object is deleted, it is removed from any folder collection in which the object is a
member. In other words, when an object is deleted, all implicit parent-child relationships with the deleted
object as a child cease to exist.
1013
1014
1015
1016
Every folder object, except for one which is called the Root Folder, MUST have one and only
one parent folder. The Root Folder does not have a parent.
1017
1018
A cycle in folder containment relationships is not allowed. That is, a folder object cannot have
itself as one of its descendant objects.
1019
A child object that is a folder object can itself be the parent object of other file-able objects.
1020
1021
With these constraints, the folder objects in a CMIS repository necessarily form a strict hierarchy, with the
Root Folder being the root of the hierarchy.
1022
1023
1024
The child objects of a given folder object, their child objects, and grandchild objects, etc., are called
Descendant objects of the given folder objectA folder object together with all its descendant objects are
collectively called a Tree rooted at that folder object.
1025
1026
1027
1028
1029
A non-folder object does not have any descendant object. Thus, a Folder Graph that consists of all
fileable objects as nodes, and all the implicit folder containment relationships as directed edges from
parent to child, is a directed acyclic graph, possibly with some disconnected (orphan) nodes. It follows
that the tree rooted at any given folder object is also a directed acyclic graph, although a non-folder object
in the tree MAY have ancestors that are not ancestors of the rooted folder.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 34 of 236
A Folder Graph
Root Folder
A folder object
A non-folder fileable object
An unfiled object
A multi-filed object
An implicit folder
containment relationship
from parent to child
1030
1031
1032
Folder objects are handled using the basic CRUD services for objects, and the folder graph is traversed
using the Navigation Services.
1033
1034
The Root Folder is a special folder such that it cannot be created, deleted, or moved using CMIS
services. Otherwise, it behaves like any other folder object.
1035
2.1.5.3 Paths
1036
1037
A folder hierarchy MAY be represented in a canonical notation such as path. For CMIS, a path is
represented by:
1038
1039
1040
A set of the folder and object path segments separated by / in order of closest to the root.
1041
1042
Folder and object path segments are specified by pathSegment tokens which can be retrieved by
all services that take an includePathSegments parameter.
1043
1044
1045
1046
1047
The pathSegment token for each item MUST uniquely identify the item in the folder.
1048
1049
E.g., if folder A is under the root, and folder B is under A, then the path would be /A/B.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 35 of 236
1050
1051
1052
A path for an object may be calculated by taking the items parent folder cmis:path property and
appending the / character and the objects pathSegment. This constructed path may be given as input
to the getObjectByPath service for object by path retrieval.
1053
1054
The getObjectParents service returns relativePathSegment tokens. These tokens are the
pathSegment of the input object relative to the parent folders.
1055
1056
1057
1058
This section describes the definition of the Folder Object-Types attribute values and property definitions
which must be present on Folder instance objects. All attributes and property definitions are listed by
their ID.
1059
1060
1061
Notes:
1062
1063
A value of <repository-specific> indicates that the value of the property MAY be set to any valid
value for the attribute type.
1064
1065
Unless explicitly stated otherwise, all values specified in the table MUST be followed for the
Object-Type definition.
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
id
Value: cmis:folder
localName
Value: <repository-specific>
localNamespace
Value: <repository-specific>
queryName
Value: cmis:folder
displayName
Value: <repository-specific>
baseId
Value: cmis:folder
parentId
Value: Not set
description
Value: <repository-specific>
creatable
Value: <repository-specific>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 36 of 236
1093
1094
1095
1096
1097
1098
1099
1100
fileable
Value: TRUE
queryable
Value: SHOULD be TRUE
controllablePolicy
1101
Value: <repository-specific>
1102
1103
includedInSupertypeQuery
1104
1105
1106
1107
1108
1109
1110
Value: <repository-specific>
controllableACL
Value: <repository-specific>
fulltextIndexed
Value: <repository-specific>
1111
1112
1113
1114
1115
1116
The Folder base Object-Type MUST have the following property definitions, and MAY include additional
property definitions. Any attributes not specified for the Property Definition are repository specific. For all
property definitions on base types, the query name MUST be the same as the property ID. The
repository MUST have the following property definitions on the Folder Type:
1117
cmis:name
1118
Inherited:
False
1119
Property Type:
String
1120
Cardinality:
Single
1121
Required:
True
1122
1123
cmis:objectId
Id of the object
1124
Required:
False
1125
Inherited:
False
1126
Property Type:
ID
1127
Cardinality:
Single
1128
Updatability:
Read Only
1129
Choices:
Not Applicable
1130
Open Choice:
Not Applicable
1131
1132
1133
cmis:baseTypeId
1134
Required:
False
1135
Inherited:
False
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 37 of 236
1136
Property Type:
ID
1137
Cardinality:
Single
1138
Updatability:
Read Only
1139
Choices:
Not Applicable
1140
Open Choice:
Not Applicable
1141
1142
1143
cmis:objectTypeId
1144
Required:
False
1145
Inherited:
False
1146
Property Type:
ID
1147
Cardinality:
Single
1148
Updatability:
oncreate
1149
Choices:
Not Applicable
1150
Open Choice:
Not Applicable
1151
1152
1153
cmis:createdBy
1154
Required:
False
1155
Inherited:
False
1156
Property Type:
String
1157
Cardinality:
Single
1158
Updatability:
Read Only
1159
Choices:
Not Applicable
1160
Open Choice:
Not Applicable
1161
Queryable:
True
1162
Orderable:
True
1163
1164
1165
cmis:creationDate
1166
Required:
False
1167
Inherited:
False
1168
Property Type:
DateTime
1169
Cardinality:
Single
1170
Updatability:
Read Only
1171
Choices:
Not Applicable
1172
Open Choice:
Not Applicable
1173
Queryable:
True
1174
Orderable:
True
1175
1176
1177
cmis:lastModifiedBy
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
1178
Required:
False
1179
Inherited:
False
1180
Property Type:
String
1181
Cardinality:
Single
1182
Updatability:
Read Only
1183
Choices:
Not Applicable
1184
Open Choice:
Not Applicable
1185
Queryable:
True
1186
Orderable:
True
1187
1188
1189
cmis:lastModificationDate
1190
Required:
False
1191
Inherited:
False
1192
Property Type:
DateTime
1193
Cardinality:
Single
1194
Updatability:
Read Only
1195
Choices:
Not Applicable
1196
Open Choice:
Not Applicable
1197
Queryable:
True
1198
Orderable:
True
1199
1200
1201
1202
cmis:changeToken
1203
Required:
False
1204
Inherited:
False
1205
Property Type:
String
1206
Cardinality:
Single
1207
Updatability:
Read Only
1208
Choices:
Not Applicable
1209
Open Choice:
Not Applicable
1210
1211
1212
cmis:parentId
1213
Required:
False
1214
Inherited:
False
1215
Property Type:
ID
1216
Cardinality:
Single
1217
Updatability:
Read Only
1218
Choices:
Not Applicable
1219
Open Choice:
Not Applicable
1220
11 January 2010
Page 39 of 236
1221
1222
1223
cmis:path
1224
Required:
False
1225
Inherited:
False
1226
Property Type:
String
1227
Cardinality:
Single
1228
Updatability:
Read Only
1229
Choices:
Not Applicable
1230
Open Choice:
Not Applicable
1231
1232
1233
1234
cmis:allowedChildObjectTypeIds
1235
Required:
False
1236
Inherited:
False
1237
Property Type:
ID
1238
Cardinality:
Multi
1239
Updatability:
Read Only
1240
Choices:
Not Applicable
1241
Open Choice:
Not Applicable
1242
1243
1244
1245
A relationship object is semantically a dependent object. A relationship object MUST NOT have a
content-stream, and MUST NOT be versionable, MUST NOTMAY be queryable, and MUST NOT be
fileable, although it MAY be controllable.
1246
1247
If a repository does not support relationship objects, the relationship base object-type SHOULD NOT be
returned by a Get Types service call.
1248
1249
1250
1251
A Relationship Object instantiates an explicit, binary, directional, non-invasive, and typed relationship
between a Source Object and a Target Object. The source object and the target object MUST both be
independent objects, such as a document object, a folder object, or a policy object. Whether a policy
object is allowed to be the source or target object of a relationship object is repository-specific.
1252
1253
1254
1255
1256
1257
This relationship is non-invasive in the sense that creating or removing this relationship SHOULD NOT
modify either the source or the target object. That is, it SHOULD NOT require an update capability (or
permission) on either object; SHOULD NOT affect the versioning state of either object; and SHOULD
NOT change their Last Modification Date.
1258
1259
1260
Explicit relationships can be used to create an arbitrary relationship graph among independent objects.
Such a relationship graph is only structural in nature. No inheritance or transitive properties are attached
to a relationship graph.
1261
1262
The notion of a source object and a target object of a relationship is used solely to indicate the direction of
the relationship. No semantics or implementation bias is implied by this terminology.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 40 of 236
1263
1264
1265
1266
1267
The binding of a relationship object to a source document object or to a target document object MAY be
either version-specific or version-independent. This version sensitivity is repository-specific, and is largely
transparent to CMIS. An independent object MAY participate in any number of explicit relationships, as
the source object for some and as the target object for others. Multiple relationships MAY exist between
the same pair of source and target objects.
1268
1269
1270
1271
1272
Referential integrity, either between the source object and the target object, or between the relationship
object and the source or target object, is repository-specific. Therefore, creating an explicit relationship
between two objects MAY impose a constraint on any of the three objects, and removing a relationship or
deleting either the source or the target object MAY be restricted by such a constraint. If the source or the
target object of a relationship is deleted, the repository MAY automatically delete the relationship object.
1273
1274
Like all CMIS objects, relationship objects are typed. Typing relationship allows them to be grouped,
identified, and traversed by type id, and for properties to be defined for individual relationship types.
1275
1276
1277
1278
Additionally, a relationship object-type MAY specify that only Objects of a specific Object-Type can
participate as the source object or target object for relationship objects of that type. If no such constraints
are specified, then an independent object of any type MAY be the source or the target of a relationship
object of that type.
1279
1280
When a relationship object is created, the source object ID and the target object ID MUST reference valid
non-relationship CMIS objects.
1281
1282
When a relationship object is retrieved, its source object or target object MAY no longer exist, since
referential integrity MAY not be maintained by a repository.
1283
1284
1285
1286
In addition to object CRUD services, a Get Relationships service (getObjectRelationships) may be used
to return a set of relationship objects in which a given independent object is identified as the source or the
target object, according to the binding semantics maintained by the repository (i.e., either a versionspecific or a version-independent binding as described above).
1287
1288
1289
1290
This section describes the definition of the Relationship Object-Types attribute values and property
definitions which must be present on Relationship instance objects. All attributes and property definitions
are listed by their ID.
1291
1292
1293
The following Object attributes MUST only apply to Object-Type definitions whose baseId is the
cmis:relationship Object-Type, in addition to the common attributes specified above:
1294
allowedSourceTypes
ID (multi-valued)
1295
1296
A list of object-type IDs, indicating that the source object of a relationship object of this type
MUST only be one of the types listed.
1297
If this attribute is not set, then the source object MAY be of any type.
1298
1299
allowedTargetTypes
ID (multi-valued)
1300
1301
A list of object-type IDs, indicating that the target object of a relationship object of this type MUST
only be one of the types listed.
1302
If this attribute is not set, then the target object MAY be of any type.
1303
1304
1305
Notes:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 41 of 236
1306
1307
A value of <repository-specific> indicates that the value of the property MAY be set to any valid
value for the attribute type.
1308
1309
Unless explicitly stated otherwise, all values specified in the table MUST be followed for the
Object-Type definition.
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
id
Value: cmis:relationship
localName
Value: <repository-specific>
localNamespace
Value: <repository-specific>
queryName
Value: cmis:relationship
displayName
Value: <repository-specific>
baseId
Value: cmis:relationship
parentId
Value: Not set
description
Value: <repository-specific>
creatable
Value: <repository-specific>
fileable
Value: FALSE
queryable
1342
1343
Value: <repository-specific>
1344
includedInSupertypeQuery
1345
1346
Value: <repository-specific>
1347
1348
controllablePolicy
Value: <repository-specific>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 42 of 236
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
allowedSourceTypes
Value: <repository-specific>
allowedTargetTypes
Value: <repository-specific>
controllableACL
Value: <repository-specific>
fulltextIndexed
Value: <repository-specific>
1361
1362
1363
1364
1365
1366
The Relationship base Object-Type MUST have the following property definitions, and MAY include
additional property definitions. Any attributes not specified by the Property Definitions are repository
specific. For all property definitions on base types, the query name MUST be the same as the property
ID. The repository MUST have the following property definitions on the Relationship Type:
1367
1368
cmis:name
1369
Inherited:
False
1370
Property Type:
String
1371
Cardinality:
Single
1372
1373
cmis:objectId
Id of the object
1374
Required:
False
1375
Inherited:
False
1376
Property Type:
ID
1377
Cardinality:
Single
1378
Updatability:
Read Only
1379
Choices:
Not Applicable
1380
Open Choice:
Not Applicable
1381
1382
1383
cmis:baseTypeId
1384
Required:
False
1385
Inherited:
False
1386
Property Type:
ID
1387
Cardinality:
Single
1388
Updatability:
Read Only
1389
Choices:
Not Applicable
1390
Open Choice:
Not Applicable
1391
11 January 2010
Page 43 of 236
1392
1393
cmis:objectTypeId
1394
Required:
False
1395
Inherited:
False
1396
Property Type:
ID
1397
Cardinality:
Single
1398
Updatability:
oncreate
1399
Choices:
Not Applicable
1400
Open Choice:
Not Applicable
1401
1402
1403
cmis:createdBy
1404
Required:
False
1405
Inherited:
False
1406
Property Type:
String
1407
Cardinality:
Single
1408
Updatability:
Read Only
1409
Choices:
Not Applicable
1410
Open Choice:
Not Applicable
1411
1412
1413
cmis:creationDate
1414
Required:
False
1415
Inherited:
False
1416
Property Type:
DateTime
1417
Cardinality:
Single
1418
Updatability:
Read Only
1419
Choices:
Not Applicable
1420
Open Choice:
Not Applicable
1421
1422
1423
cmis:lastModifiedBy
1424
Required:
False
1425
Inherited:
False
1426
Property Type:
String
1427
Cardinality:
Single
1428
Updatability:
Read Only
1429
Choices:
Not Applicable
1430
Open Choice:
Not Applicable
1431
1432
1433
cmis:lastModificationDate
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
1434
Required:
False
1435
Inherited:
False
1436
Property Type:
DateTime
1437
Cardinality:
Single
1438
Updatability:
Read Only
1439
Choices:
Not Applicable
1440
Open Choice:
Not Applicable
1441
1442
1443
1444
cmis:changeToken
1445
Required:
False
1446
Inherited:
False
1447
Property Type:
String
1448
Cardinality:
Single
1449
Updatability:
Read Only
1450
Choices:
Not Applicable
1451
Open Choice:
Not Applicable
1452
1453
cmis:sourceId
1454
Required:
True
1455
Inherited:
False
1456
Property Type:
ID
1457
Cardinality:
Single
1458
Choices:
Not Applicable
1459
Open Choice:
Not Applicable
1460
1461
cmis:targetId
1462
Required:
True
1463
Inherited:
False
1464
Property Type:
ID
1465
Cardinality:
Single
1466
Choices:
Not Applicable
1467
Open Choice:
Not Applicable
1468
1469
1470
1471
1472
1473
1474
1475
A policy object represents an administrative policy that can be enforced by a repository, such as a
retention management policy. CMIS 1.0 does not specify what kinds of administrative policies that are
specifically supported, nor attempts to model administrative policy of any particular kind. Only a base
object-type is specified for policy objects. Each policy object holds the text of an administrative policy as a
repository-specific string, which is opaque to CMIS and which may be used to support policies of various
kinds. A repository may create subtypes of this base type to support different kinds of administrative
policies more specifically. If a repository does not support policy objects, the policy base object-type
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 45 of 236
1476
1477
SHOULD NOT be returned by a Get Types service call. This is an extension point for repositories that
want to expose other capabilities via CMIS that are not supported directly in CMIS 1.0.
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
Aside from allowing an application to create and maintain policy objects, CMIS allows an application to
apply a policy to an object, and to remove an applied policy from an object. An object to which a policy
may be applied is called a controllable object. A policy MAY be applied to multiple controllable objects.
Conversely, a repository MAY allow multiple policies applied to a controllable object. (A repository may,
for example, impose constraints such as only one policy of each kind can be applied to an object.)
Whether or not an object is controllable is specified by the objects type definition. Applying a policy to an
object is to place the object under the control of that policy (while the object may also be under the control
of other policies at the same time), and removing an applied policy from one of its controlled objects is to
remove the corresponding control from that object. This control may change the state of the object, may
impose certain constraints on service calls operating on this object, or may cause certain management
actions to take place. The effect of this control, when this effect takes place, and how this control interacts
with other controls, are repository-specific. Only directly/explicitly applied policies are covered by CMIS
1.0. Indirectly applying policy to an object, e.g. through inheritance, is outside the scope of CMIS 1.0.
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
A policy object does not have a content-stream and is not versionable. It may be fileable, queryable or
controllable. Policy objects are handled using the basic CRUD services for objects. If a policy is updated,
the change may alter the corresponding control on objects that the policy is currently applied to. If a
controlled object is deleted, all the policies applied to that object, if there are any, are removed from that
object. A policy object that is currently applied to one or more controllable objects CAN NOT be deleted.
That is, there is an implicit referential constraint from a controlled object to its controlling policy object(s).
Besides the basic CRUD services, the Apply Policy (applyPolicy) and the Remove Policy
(removePolicy) services may be used to apply a policy object to a controllable object and respectively to
remove an applied policy from one of its controlled objects. In addition, the Get Applied Policies
(getAppliedPolicies) service may be used to obtain the policy objects that are currently applied to a
controllable object.
1502
1503
1504
1505
This section describes the definition of the Policy Object-Types attribute values and property definitions
which must be present on Policy instance objects. All attributes and property definitions are listed by their
ID.
1506
1507
1508
Notes:
1509
1510
A value of <repository-specific> indicates that the value of the property MAY be set to any valid
value for the attribute type.
1511
1512
Unless explicitly stated otherwise, all values specified in the table MUST be followed for the
Object-Type definition.
1513
1514
1515
1516
1517
1518
1519
1520
1521
id
Value: cmis:policy
localName
Value: <repository-specific>
localNamespace
Value: <repository-specific>
1522
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 46 of 236
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
queryName
Value: cmis:policy
displayName
Value: <repository-specific>
baseId
Value: cmis:policy
parentId
Value: Not set
description
Value: <repository-specific>
creatable
Value: <repository-specific>
fileable
Value: <repository-specific>
queryable
1545
1546
Value: <repository-specific>
1547
includedInSupertypeQuery
1548
1549
Value: <repository-specific>
1550
1551
1552
1553
1554
1555
1556
1557
controllablePolicy
Value: <repository-specific>
controllableACL
Value: <repository-specific>
fulltextIndexed
Value: <repository-specific>
1558
1559
1560
1561
1562
1563
The Policy base Object-Type MUST have the following property definitions, and MAY include additional
property definitions. Any attributes not specified by the Property Definitions are repository specific. For
all property definitions on base types, the query name MUST be the same as the property ID. The
repository MUST have the following property definitions on the Policy Type:
1564
1565
cmis:name
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
1566
Inherited:
False
1567
Property Type:
String
1568
Cardinality:
Single
1569
1570
cmis:objectId
Id of the object
1571
Required:
False
1572
Inherited:
False
1573
Property Type:
ID
1574
Cardinality:
Single
1575
Updatability:
Read Only
1576
Choices:
Not Applicable
1577
Open Choice:
Not Applicable
1578
1579
cmis:baseTypeId
1580
Required:
False
1581
Inherited:
False
1582
Property Type:
ID
1583
Cardinality:
Single
1584
Updatability:
Read Only
1585
Choices:
Not Applicable
1586
Open Choice:
Not Applicable
1587
1588
cmis:objectTypeId
1589
Required:
False
1590
Inherited:
False
1591
Property Type:
ID
1592
Cardinality:
Single
1593
Updatability:
oncreate
1594
Choices:
Not Applicable
1595
Open Choice:
Not Applicable
1596
1597
cmis:createdBy
1598
Required:
False
1599
Inherited:
False
1600
Property Type:
String
1601
Cardinality:
Single
1602
Updatability:
Read Only
1603
Choices:
Not Applicable
1604
Open Choice:
Not Applicable
1605
1606
1607
cmis:creationDate
Required:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
1608
Inherited:
False
1609
Property Type:
DateTime
1610
Cardinality:
Single
1611
Updatability:
Read Only
1612
Choices:
Not Applicable
1613
Open Choice:
Not Applicable
1614
1615
cmis:lastModifiedBy
1616
Required:
False
1617
Inherited:
False
1618
Property Type:
String
1619
Cardinality:
Single
1620
Updatability:
Read Only
1621
Choices:
Not Applicable
1622
Open Choice:
Not Applicable
1623
1624
cmis:lastModificationDate
1625
Required:
False
1626
Inherited:
False
1627
Property Type:
DateTime
1628
Cardinality:
Single
1629
Updatability:
Read Only
1630
Choices:
Not Applicable
1631
Open Choice:
Not Applicable
1632
1633
1634
cmis:changeToken
1635
Required:
False
1636
Inherited:
False
1637
Property Type:
String
1638
Cardinality:
Single
1639
Updatability:
Read Only
1640
Choices:
Not Applicable
1641
Open Choice:
Not Applicable
1642
1643
cmis:policyText
1644
Required:
True
1645
Inherited:
False
1646
Property Type:
String
1647
Cardinality:
Single
1648
Choices:
Not Applicable
1649
Open Choice:
Not Applicable
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 49 of 236
1650
1651
1652
A repository can support either a base set of CMIS-defined permissions and/or its own set of repository
specific permissions.
1653
1654
1655
1656
The getACL service allows the requestor to specify that the result be expressed using only the CMIS
defined permissions. Without this restriction, the response may include, or be solely expressed in
repository specific permissions. The applyACL service permits either CMIS permissions or repository
permissions, or a combination of both, to be used.
1657
1658
1659
An ACL is a list of Access Control Entries (ACEs) and MAY hold zero or more ACEs. If an ACL has no
ACEs, the behavior is the same as if the ACL is not set.
1660
An ACE holds:
1661
1662
one Principal: A principal represents a user management object, e.g. a user, group, or role.
It holds one String with the principalid.
1663
1664
1665
a Boolean flag direct, which indicates if TRUE the ACE is directly assigned to the object. If
FALSE, that the ACE is somehow derived.
1666
1667
1668
1669
1670
1671
1672
1673
cmis:all: SHOULD be used to express all the permissions of a repository. SHOULD include all
other basic CMIS permissions.
1674
1675
1676
How these basic permissions can be mapped to the allowable actions is repository specific. However, the
actual repository semantics for the basic permissions with regard to allowable actions can be discovered
by the mappings parameter returned by getRepositoryInfo (see below).
1677
1678
1679
1680
1681
Whether a repository supports ACLs at all, may be discovered via capabilityACL returned by
getRepositoryInfo (see section 2.1.1.1 Optional Capabilities). If capabilityACL is none, ACLs are not
supported by the repository.
1682
1683
If capabilityACL is discover or manage, additional information about the repositories permission model
and how changes to ACL are handled, can be discovered via the getRepositoryInfo service:
1684
1685
<Array> Enum propagation: specifies, how non-direct ACEs can be handled by the repository
using the following values (see section 2.2.10.2 applyACL):
1686
1687
objectonly indicates, that the repository is able to apply ACEs to a document or folder,
without changing the ACLs of other objects.
1688
1689
propagate: indicates that the ACEs is to be applied to the given object and all inheriting
objects.
1690
1691
1692
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 50 of 236
1693
1694
1695
1696
<Array> PermissionMapping mappings: contains a list with mappings for the basic CMIS
permissions to allowed actions.
1697
1698
1699
The list of permission definitions returned by getRepositoryInfo lists all the permissions a repository
supports. This list also includes the CMIS permissions if supported by the repository.
1700
A PermissionDefinition holds:
1701
1702
String permission: the (technical) name of the permission (unique within the list of permission
definitions).
1703
1704
(Optional) String description: an optional description of the permission that should be used as
the permissions name to be presented to the user.
1705
1706
1707
1708
CMIS provides a mechanism called AllowableActions which allows an application to discover the set of
service operations that can currently be performed on a particular object, without having to actually invoke
the service.
1709
1710
The set of allowable actions on an object at a point in time are affected not only by CMIS ACLs, but also
by other factors such as:
1711
1712
Constraints inherent in the CMIS Domain Model based on the objects base type or current
versioning state.
1713
1714
1715
1716
CMIS defines several services that applications can use at run-time to discover the AllowableActions for
an object.
1717
1718
1719
1720
If a Repository supports ACLs, then the repository MUST provide a mapping table that defines how the
permissions supported by the repository interact with the CMIS allowable actions, i.e. which permissions
are necessary for a principal to have on one or more objects in order to potentially perform each action,
subject to the other constraints on allowable actions above.
1721
1722
This section defines both the allowable actions as well as how those actions are presented in the
PermissionMapping table.
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
String Key: Because several allowable actions may require permissions on more than one object
for example, moving a document from one folder to another may require permissions on the
document and each of the folders the mapping table is defined in terms of permission keys,
where each key combines the name of the allowable action as the object for which the principal
needs the required permission.
o
For example the canMoveObject.Source key indicates the permissions that the
principal must have on the source folder to move an object from that folder into another
folder.
<Array> String permissions: The names of one or more permissions that the principal MUST
have. If more than one permission is specified, then the principal MUST be allowed to perform the
operation if they have ANY of the listed permissions.
1735
1736
The list below defines all mapping keys, as well as a permissions mapping that repositories SHOULD
use. Repositories MAY require additional permissions.
1737
1738
For convenience, the list below groups all mapping entries by the underlying Allowable Actions, and
includes descriptive information. For each Allowable Action the following information is given:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 51 of 236
1739
Description:
1740
Base Object:
The base object-types for which the allowable action MAY be TRUE.
1741
Operand:
1742
Key:
1743
Permissions:
1744
1745
1746
Navigation Services:
canGetDescendants
1747
Description:
1748
Base Object:
cmis:folder
1749
Operand:
cmis:folder
1750
Key:
canGetDescendants.Folder
1751
Permission:
Read
1752
1753
canGetFolderTree
1754
Description:
1755
Base Object:
cmis:folder
1756
Operand:
cmis:folder
1757
Key:
canGetFolderTree.Folder
1758
Permission:
Read
1759
1760
canGetChildren
1761
Description:
1762
Base Object:
cmis:folder
1763
Operand:
cmis:folder
1764
Key:
canGetChildren.Folder
1765
Permission:
Read
1766
1767
canGetFolderParent
1768
Description:
1769
Base Object:
cmis:folder
1770
Operand:
cmis:folder
1771
Key:
canGetFolderParent.Folder
1772
Permission:
Read
1773
1774
canGetObjectParents
1775
Description:
1776
Base Object:
1777
Operand
Object
1778
Key:
canGetObjectParents.Object
1779
Permission:
Read
1780
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 52 of 236
1781
1782
Object Services:
canCreateDocument
1783
Description:
1784
Base Object:
cmis:folder
1785
Operand:
Folder
1786
Key:
canCreateDocument.Folder
1787
Permission:
Read
1788
1789
canCreateFolder
1790
1791
Description:
(createFolder)
1792
Base Object:
cmis:folder
1793
Operand:
Folder
1794
Key:
canCreateFolder.Folder
1795
Permission:
Read
1796
1797
canCreateRelationship
1798
1799
Description:
1800
Base Object:
cmis:document, cmis:folder
1801
Operand:
Object
1802
Key:
canCreateRelationship.Source
1803
Permission:
Read
1804
1805
canCreateRelationship
1806
1807
Description:
1808
Base Object:
cmis:document, cmis:folder
1809
Operand:
Object
1810
Key:
canCreateRelationship.Target
1811
Permission:
Read
1812
1813
canGetProperties
1814
Description:
1815
Base Object:
1816
Operand:
Object
1817
Key:
canGetProperties.Object
1818
Permission:
Read
1819
1820
canGetRenditions
1821
Description:
1822
Base Object:
cmis:document, or cmis:folder
1823
Operand:
Object
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 53 of 236
1824
Key:
canGetRenditions.Object
1825
Permission:
Read
1826
1827
canGetContentStream
1828
1829
Description:
1830
Base Object:
cmis:document
1831
Operand:
Object
1832
Key:
canGetContentStream.Object
1833
Permission:
Read
1834
1835
canUpdateProperties
1836
Description:
1837
Base Object:
1838
Operand:
Object
1839
Key:
canUpdateProperties.Object
1840
Permission:
Write
1841
1842
canMoveObject
1843
Description:
1844
Base Object:
1845
Operand:
Object
1846
Key:
canMoveObject.Object
1847
Permission:
Write
1848
1849
canMoveObject
1850
Description:
1851
Base Object:
cmis:folder
1852
Operand:
Folder
1853
Key:
canMoveObject.Target
1854
Permission:
Read
1855
1856
canMoveObject
1857
Description:
1858
Base Object:
cmis:folder
1859
Operand:
Folder
1860
Key:
canMoveObject.Source
1861
Permission:
Read
1862
1863
canDeleteObject
1864
Description:
1865
Base Object:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 54 of 236
1866
Operand:
Object
1867
Key:
canDelete.Object
1868
Permission:
Write
1869
1870
canDeleteObject
1871
Description:
1872
Base Object:
cmis:folder
1873
Operand:
Folder
1874
Key:
canDelete.Folder
1875
Permission:
Read
1876
1877
canSetContentStream
1878
1879
Description:
1880
Base Object:
cmis:document
1881
Operand:
Object
1882
Key:
canSetContentStream.Document
1883
Permission:
Write
1884
1885
canDeleteContentStream
1886
Base Object:
cmis:document
1887
1888
Action:
1889
Operand:
Object
1890
Key:
canDeleteContentStream.Document
1891
Permission:
Write
1892
1893
canDeleteTree
1894
Base Object:
cmis:folder
1895
Action:
1896
Operand:
Object
1897
Key:
canDeleteTree.Folder
1898
Permission:
Write
1899
1900
1901
Filing Services:
canAddObjectToFolder
1902
Description:
1903
Base Object:
cmis:document, cmis:policy
1904
Operand:
Object
1905
Key:
canAddObjectToFolder.Object
1906
Permission:
Read
1907
1908
canAddObjectToFolder
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 55 of 236
1909
Description:
1910
Base Object:
cmis:document, cmis:policy
1911
Operand:
Object
1912
Key:
canAddObjectToFolder.Folder
1913
Permission:
Read
1914
1915
canRemoveObjectFromFolder
1916
1917
Description:
Can unfile the specified document from a folder
(removeObjectFromFolder)
1918
Base Object:
cmis:document, cmis:policy
1919
Operand:
Object
1920
Key:
canRemoveObjectFromFolder.Object
1921
Permission:
Read
1922
1923
canRemoveObjectFromFolder
1924
1925
Description:
Can unfile a document from the specified folder
(removeObjectFromFolder)
1926
Base Object:
cmis:document, cmis:policy
1927
Operand:
Object
1928
Key:
canRemoveObjectFromFolder.Folder
1929
Permission:
Read
1930
1931
Versioning Services:
1932
canCheckOut
1933
Description:
1934
Base Object:
cmis:document
1935
Operand:
Object
1936
Key:
canCheckOut.Document
1937
Permission:
Write
1938
1939
canCancelCheckOut
1940
Description:
1941
Base Object:
cmis:document
1942
Operand:
Object
1943
Key:
canCancelCheckOut.Document
1944
Permission:
Write
1945
1946
canCheckIn
1947
Description:
1948
Base Object:
cmis:document
1949
Operand:
Object
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 56 of 236
1950
Key:
canCheckIn.Document
1951
Permission:
Write
1952
1953
canGetAllVersions
1954
Description:
Can get the version series for the Document object (getAllVersions)
1955
Base Object:
cmis:document
1956
Operand:
Object
1957
Key:
canGetAllVersions.Document
1958
Permission:
Read
1959
1960
1961
Relationship Services:
canGetObjectRelationships
1962
1963
Description:
1964
Base Object:
1965
Operand:
Object
1966
Key:
canGetObjectRelationships.Object
1967
Permission:
Read
1968
1969
1970
Policy Services:
canApplyPolicy
1971
Description:
1972
Base Object:
cmis:document, cmis:folder
1973
Operand:
Object
1974
Key:
canApplyPolicy.Object
1975
Permission:
Read
1976
1977
canApplyPolicy
1978
Description:
1979
Base Object:
cmis:policy
1980
Operand:
Object
1981
Key:
canApplyPolicy.Policy
1982
Permission:
Read
1983
1984
canRemovePolicy
1985
Description:
1986
Base Object:
cmis:document, cmis:folder
1987
Operand:
Object
1988
Key:
canRemovePolicy.Object
1989
Permission:
Read
1990
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 57 of 236
1991
canRemovePolicy
1992
Description:
1993
Base Object:
cmis:document, cmis:folder
1994
Operand:
cmis:policy
1995
Key:
canRemovePolicy.Policy
1996
Permission:
Read
1997
1998
canGetAppliedPolicies
1999
2000
Description:
2001
Base Object:
cmis:document, cmis:folder
2002
Operand:
Object
2003
Key:
canGetAppliedPolicies.Object
2004
Permission:
Read
2005
2006
2007
ACL Services:
canGetACL
2008
Description:
2009
Base Object:
2010
Operand:
Object
2011
Key:
canGetACL.Object
2012
Permission:
Read
2013
2014
canApplyACL
2015
Description:
2016
Base Object:
2017
Operand:
Object
2018
Key:
canApplyACL.Object
2019
Permission:
Write
2020
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 58 of 236
2021
2022
2.1.9 Versioning
2023
2024
CMIS supports versioning of Document objects. Folder objects, relationship objects, and policy objects
cannot be versioned.
2025
2026
2027
Whether or not a Document object is versionable (i.e. whether or not operations performed on the object
via the Versioning Services MUST be allowed) is specified by the versionable attribute on its Objecttype.
2028
2029
2030
A version of a Document object is an explicit/deep copy of the object, preserving its state at a certain
point in time. Each version of a Document object is itself a Document object, i.e. has its own ObjectId,
property values, MAY be acted upon using all CMIS services that act upon Document objects, etc.
2031
2032
2033
2034
A version series for a Document object is a transitively closed collection of all Document objects that
have been created from an original Document in the Repository. Each version series has a unique,
system-assigned, and immutable version series ID.
2035
2036
2037
The version series has transitive closure -- that is, if object B is a version of object A, and object C is a
version of object B, then object C is also a version of object A. The objects in a version series can be
conceptually sequenced by their respective CreationDate properties.
2038
2039
Additionally, the repository MAY expose a textual VersionLabel that describes to a user the position of
an individual object with respect to the version series. (For example, version 1.0).
2040
2041
Note: A Document object that is NOT versionable will always have a single object in its Version Series. A
versionable Document object MAY have one or more objects in its Version Series.
2042
2043
2044
The version that has the most recent LastModificationDate is called the Latest Version of the series, or
equivalently, the latest version of any Document object in the series.
2045
2046
When the latest version of a version series is deleted, a previous version (if there is one) becomes the
latest version.
2047
2048
2049
Repositories NEED NOT allow the non-latest versions in a Version Series to be updated, queried, or
searched.
2050
2051
2052
2053
2054
2055
The CMIS specification does not define any semantic/behavioral differences between Major and nonMajor versions in a Version Series. Repositories may enforce/apply additional constraints or semantics for
Major versions, if the effect on CMIS services remains consistent with an allowable behavior of the CMIS
model.
2056
2057
If the Version Series contains one or more Major versions, the one that has the most recent
LastModificationDate is the Latest Major Version of the version series.
2058
2059
(Note that while a Version Series MUST always have a Latest Version, it NEED NOT have a Latest Major
Version.)
2060
2061
When the latest major version is deleted, a previous major version (if there is one) becomes the latest
major version.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 59 of 236
2062
2063
2.1.9.4.1 Checkout
2064
2065
2066
2067
A new version of a versionable Document object is created when the checkIn service is invoked on the
Private Working copy (PWC) of this object. A PWC is created by invoking checkOut on a versionable
Document object. A repository MAY allow any Document object in a version series to be checked out, or
MAY only allow the Latest Version to be checked out.
2068
2069
A new Document object, referred to herein as the Private Working Copy (PWC), is created.
2070
2071
The PWC NEED NOT be visible to users who have permissions to view other Document
objects in the Version Series.
2072
2073
Until it is checked in (using the checkIn service), the PWC MUST NOT be considered the
LatestMajorVersion in the Version Series.
2074
2075
2076
2077
2078
The property values for the PWC SHOULD be identical to the properties of the Document
object on which the checkout service was invoked. Certain properties such as cmis:objectId
may be different. Properties such as cmis:creationDate most likely will be different. The
content-stream of the PWC MAY be identical to the content-stream of the Document object
on which the checkout service was invoked, or MAY be not set.
2079
2080
2081
After a successful checkout operation is completed, and until such time when the PWC is deleted (via the
cancelCheckOut service) or checked-in (via the checkIn) service, the effects on other Documents in the
Version Series MUST be as follows:
2082
2083
The repository MUST throw an exception if the checkout service is invoked on any Document in
the Version Series. (I.e. there can only be one PWC for a version series at a time.)
2084
2085
2086
2087
2088
2089
The value of the cmis:versionSeriesCheckedOutId property MAY be set to the ObjectId of the
PWC. (The Repository MAY still show the not set value for this property).
2090
2091
The repository MAY prevent operations that modify or delete the other Documents in the Version
Series.
2092
2093
2094
If the repository supports the optional PWCUpdatable capability, then the repository MUST allow
authorized users to modify the PWC Object using the Object services (e.g. UpdateProperties).
2095
2096
If the repository does NOT support the PWCUpdatable capability, then the PWC object can only be
modified as part of the checkIn service call.
2097
2098
2099
2100
An authorized user MAY discard the check-out using the cancelCheckOut service on any Document in
the Version Series or by using the deleteObject service on the PWC Object. The effects of discarding a
check-out MUST be as follows:
2101
2102
2103
2104
2105
2106
The repository MUST allow authorized users to invoke the checkout service.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 60 of 236
2107
2.1.9.4.4 Checkin
2108
An authorized user/application MAY check in the Private Working Copy object via the checkIn service.
2109
2110
The checkIn service allows users/applications to provide update property values and a content-stream for
the PWC object.
2111
The effects of the checkIn service MUST be as follows for successful checkins:
2112
2113
2114
The PWC object MUST be updated as specified by the inputs to the checkIn service. (Note that
for repositories that do NOT support the PWCUpdatable property, this is the only way to update
the PWC object.)
2115
2116
The Document object resulting from the checkIn operation MUST be considered the Latest
Version in the Version Series.
2117
2118
If the inputs to the checkIn service specified that the PWC MUST be a major version, then the
PWC MUST be considered the Latest Major Version in the Version Series.
2119
2120
If the checkin returns a new cmis:objected, then the PWC object MUST disappear if the checkIn
call was successful and the new checked in version will use the new specified id.
2121
2122
2123
2124
2125
The repository MUST allow authorized users to invoke the checkout service.
2126
Note: The Repository MAY change the ID of the PWC upon completion of the checkin service invocation.
2127
2128
Note: A repository MAY automatically create new versions of Document objects without an explicit
invocation of the checkout/checkin services.
2129
2130
All Document objects will have the following read-only property values pertaining to versioning:
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
cmis:isLatestVersion
Boolean
TRUE if the Document object is the Latest Version in its Version Series. FALSE otherwise.
cmis:isMajorVersion
Boolean
TRUE if the Document object is a Major Version in its Version Series. FALSE otherwise.
cmis:isLatestMajorVersion
Boolean
TRUE if the Document object is the Latest Major Version in its Version Series. FALSE otherwise.
cmis:versionLabel
String (optional)
Optional textual description the position of an individual object with respect to the version series.
(For example, version 1.0).
cmis:versionSeriesId
ID
Boolean
TRUE if there currenly exists a Private Working Copy for this Version Series. FALSE otherwise
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 61 of 236
2150
2151
cmis:versionSeriesCheckedOutBy
2152
2153
2154
2155
If IsVersionSeriesCheckedOut is TRUE: then an identifier for the user who created the Private
Working Copy. Not set otherwise.
cmis:versionSeriesCheckedOutId
2156
2157
2158
2159
String
ID
If IsVersionSeriesCheckedOut is TRUE: The Identifier for the Private Working Copy. Not set
otherwise.
cmis:checkinComment
2160
String
2161
2162
2163
Note: Changes made via the Versioning Services that affect the values of these properties MUST NOT
constitute modifications to the Document objects in the Version Series (e.g. MUST NOT affect the
cmis:lastModificationDate, etc.)
2164
2165
2166
2167
A repository MAY create new Document objects in a Private Working Copy state when they are created
via the createDocument or createDocumentFromSource services. This state is logically equivalent to
having a Version Series that contains exactly one object (the PWC) and 0 other documents.
2168
2169
The repository MAY also create new Document objects in a Major Version state. This state is logically
equivalent to having a Version Series that contains exactly one Major Version and 0 other documents.
2170
2171
2172
The repository MAY also create new Document objects in a Non-Major Version state. This state is
logically equivalent to having a Version Series that contains exactly one Non-Major Version and 0 other
documents.
2173
2174
If the repository does not support versioning the repository MAY create new Document objects in a Major
Version state. MUST ignore the value of the versioningState parameter.
2175
2176
2177
2178
2179
Repositories MUST indicate whether they support version-specific membership in a folder via the
VersionSpecificFiling optional capability flag.
2180
2181
2182
Moving or Filing a Document Object into a folder MUST result in ALL Documents in the Version
Series being moved/filed into the folder.
2183
2184
2185
The Repository MAY return only the latest-version OR latest major-version Document object in a
version series in the response to Navigation service requests (getChildren, getDescendants), and
NEED NOT return other Document Objects filed in the folder that are in the Version Series.
2186
2187
2188
If the repository is treating folder collection membership as version-specific, then moving or Filing a
Document Object into a folder MUST NOT result in other Documents in the Version Series being
moved/filed.
2189
2190
2191
2192
A relationship object MAY have either a version-specific or version-independent binding to its source
and/or target objects. This behavior MAY vary between repositories and between individual relationship
types defined for a Repository.
2193
11 January 2010
Page 62 of 236
2194
2195
2196
2197
2198
2199
The getObjectRelationships service invoked on a Document Object MUST return the relationship
if Relationship was source/target is set to ANY Document Object in the Version Series.
The getObjectRelationships service invoked on a Document Object MUST return the relationship
if Relationship was source/target is set to the ID of the Document Object on which the service was
invoked.
2200
2201
2202
Repositories MAY include non-latest-versions of Document Objects in results to the Discovery Services
(query).
2203
2204
Repositories MUST indicate whether they support querying for non-latest-versions via the
AllVersionsSearchable optional capability flag.
2205
2206
2207
If AllVersionsSearchable is TRUE then the Repository MUST include in the query results ANY
Document Object in the Version Series that matches the query criteria. (subject to other query constraints
such as security.)
2208
2209
Additionally, repositories MAY include Private Working Copy objects in results in results to the Discovery
Services (query).
2210
2211
Repositories MUST indicate whether they support querying for Private Working Copy objects via the
PWCSearchable optional capability flag.
2212
2213
2214
If PWCSearchable is TRUE then the Repository MUST include in the query results ANY Private Working
Copy Document Objects that matches the query criteria (subject to other query constraints such as
security.)
2215
2216
2217
If PWCSearchable is FALSE then the Repository MUST NOT include in the query results ANY Private
Working Copy Document Objects that match the query criteria (subject to other query constraints such as
security.)
2218
2.1.10 Query
2219
2220
CMIS provides a type-based query service for discovering objects that match specified criteria, by
defining a read-only projection of the CMIS data model into a Relational View.
2221
2222
2223
2224
2225
2226
2227
Through this relational view, queries may be performed via a simplified SQL SELECT statement. This
query language is based on a subset of the SQL-92 grammar (ISO/IEC 9075: 1992 Database
Language SQL), with a few extensions to enhance its filtering capability for the CMIS data model, such as
existential quantification for multi-valued property, full-text search, and folder membership. Other
statements of the SQL language are not adopted by CMIS. The semantics of this query language is
defined by the SQL-92 standard, plus the extensions, in conjunction with the model mapping defined by
CMISs relational view.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 63 of 236
CMIS Query
Syntax
SQL-92 subset + Extensions for
Multi-valued property
Fulltext search
Folder membership
Semantics
SQL-92 + Extensions
+ Relational View mapping
Relational View
2228
2229
2230
2231
The relational view of a CMIS repository consists of a collection of virtual tables that are defined on top of
the CMIS data model. This relational view is used for query purposes only.
2232
2233
In this relational view a Virtual Table is implicitly defined for each queryable Object-Type defined in the
repository. (Non-queryable Object-Types are NOT exposed through this Relational View.)
2234
2235
2236
2237
2238
In each Virtual Table, a Virtual Column is implicitly defined for each property defined in the Object-Type
Definition AND for all properties defined on ANY ancestor-type of the Object-Type but NOT defined in the
Object-Type definition. Virtual Columns for properties defined on ancestor-types of the Object-type but
NOT defined in the Object-Type definition MUST contain the SQL NULL value. Virtual Columns for
properties whose value is not set MUST contain the SQL NULL value.
2239
2240
2241
An object-types queryName attribute is used as the table name for the corresponding virtual table, and a
propertys queryName attribute is used as the column name for the corresponding table column. Please
see the restrictions on queryName in the appropriate data model section.
2242
2243
The Virtual Column for a multi-valued property MUST contain a single list value that includes all values of
the property.
2244
2245
2246
The Relational View projection of the CMIS Data Model ensures that the Virtual Table for a particular
Object-type is a complete super-set of the Virtual Table for any and all of its ancestor types.
2247
2248
2249
2250
11 January 2010
Page 64 of 236
2251
2252
2253
Thus the Virtual Table for an Object-type includes a row not only for each Object of that type, but all
Objects of any of that Object-types Descendant Types for which the includedInSupertypeQuery
attribute is TRUE.
2254
2255
2256
But since the Virtual Table will include only columns for properties defined in the Object-Type underlying
the Virtual Table, a row that is a query result representing an Object of a Descendant Type can only
include those columns for properties defined on the Object-Type underlying the Virtual Table.
Relational View
Search scope
for query on A
Objects of
Type A
Search scope
for query on B
Objects of
Type B
Search scope
for query on C
Objects of
Type C
2257
2258
2259
2260
2261
2262
When a query is submitted, a set of pseudo CMIS objects will be returned. These pseudo objects are
comprised of the properties specified in the select clause of the query statement.
2263
2264
2265
For each property in each object in the result set, the Repository MUST include the property definition ID
as well as either the query name (if no alias is used) or the alias in place of the query name (if an alias is
used).
2266
2267
If the select clause of the query statement contains properties from a single type reference then the
repository MAY represent these pseudo-objects with additional object information.
2268
2269
2270
This query languages is based on a subset of the SQL-92 grammar. CMIS-specific language extensions
to SQL-92 are called out explicitly.
2271
The basic structure of a CMIS query is a SQL statement that MUST include the following clauses:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 65 of 236
2272
2273
SELECT [virtual columns]: This clause identifies the set of virtual columns that will be included
in the query results for each row.
2274
2275
FROM [Virtual Table Names]: This clause identifies which Virtual Table(s) the query will run
against.
2276
2277
2278
WHERE [conditions]: This clause identifies the constraints that rows MUST satisfy to be
considered a result for the query.
2279
2280
ORDER BY [sort specification]: This clause identifies the order in which the result rows MUST
be sorted in the result row set.
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
This BNF grammar is a subset of the SQL-92 grammar (ISO/IEC 9075: 1992 Database Language
SQL), except for some production alternatives. Specifically, except for these extensions, the following
production rules are derived from the SQL-92 grammar. The non-terminals used in this grammar are also
borrowed from the SQL-92 grammar without altering their semantics. Accordingly, the non-terminal
<column name> is used for single-valued properties only so that the semantics of SQL can be preserved
and borrowed. This approach not only facilitates comparison of the two query languages, and simplifies
the translation of a CMIS query to a SQL query for a RDBMS-based implementation, but also allows
future expansion of this query language to cover a larger subset of SQL with minimum conflict. The CMIS
extensions are introduced primarily to support multi-valued properties and full-text search, and to test
folder membership. Multi-valued properties are handled separately from single-valued properties, using
separate non-terminals and separate production rules to prevent the extensions from corrupting SQL-92
semantics.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 66 of 236
2295
2296
2297
<simple table> ::= SELECT <select list> <from clause> [ <where clause> ]
2298
2299
2300
2301
| <qualifier> .*
2302
| <multi-valued-column reference>
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
| <joined table>
<joined table> ::= ( <joined table> )
| <table reference> [ <join type> ] JOIN <table reference> <join specification>
2313
2314
2315
2316
2317
<boolean term> ::= <boolean factor> | <boolean term> AND <boolean factor>
2318
2319
2320
<predicate> ::= <comparison predicate> | <in predicate> | <like predicate> | <null predicate>
2321
2322
2323
2324
2325
<literal> ::= <signed numeric literal> | <character string literal> | <datetime literal> | <boolean literal>
2326
2327
2328
<like predicate> ::= <column reference> [ NOT ] LIKE <character string literal>
2329
2330
2331
<quantified in predicate> ::= ANY <multi-valued-column reference> [ NOT ] IN ( <in value list> )
2332
2333
2334
2335
2336
2337
11 January 2010
Page 67 of 236
2338
2339
<column name> ::= <identifier> !! This MUST be the name of a single-valued property,
2340
2341
2342
2343
<identifier> ::=
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
<quote> ::= |
2363
2364
2365
2366
2367
2368
2369
2370
If an explicit column list is provided: A repository MUST include in its result row set all of the
columns specified in the SELECT clause.
* : If this token is specified, then the repository MUST return columns for ALL single-valued
properties defined in the Object-Types whose Virtual Tables are listed in the FROM clause, and
SHOULD also return all multi-valued properties.
2371
2372
All column names MUST be valid queryName values for properties that are defined as queryable in the
Object-Type(s) whose Virtual Tables are listed in the FROM clause.
2373
2374
2375
The FROM clause identifies which Virtual Table(s) the query will be run against, as described in the
previous section.
2376
2377
The FROM clause MUST contain only the queryNames of Object-Types whose queryable attribute value
is TRUE.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 68 of 236
2378
2.1.10.2.3.1
Join Support
2379
2380
CMIS repositories MAY support the use of SQL JOIN queries, and MUST indicate their support level
using the Optional Capability attribute capabilityJoin.
2381
2382
If the Repositorys value for the capabilityJoin attribute is none, then no JOIN clauses can be
used in queries.
2383
2384
If the Repositorys value for the capabilityJoin attribute is inneronly, then only inner JOIN clauses
can be used in queries.
2385
2386
If the Repositorys value for the capabilityJoin attribute is innerandouter, then inner and/or outer
JOIN clauses can be used in queries.
2387
2388
Only explicit joins using the JOIN keyword is supported. Queries MUST NOT include implicit joins as
part of the WHERE clause of a CMIS query.
2389
2390
CMIS queries MUST only support join operations using the equality predicate on single-valued
properties.
2391
2392
This clause identifies the constraints that rows MUST satisfy to be considered a result for the query.
2393
2394
All column names MUST be valid queryName or their aliased values for properties that are defined as
queryable in the Object-Type(s) whose Virtual Tables are listed in the FROM clause.
2395
2396
Properties are defined to not support a null value, therefore the <null predicate> MUST be interpreted as
testing the not set or set state of the specified property.
2397
2.1.10.2.4.1
2398
2399
2400
SQLs simple comparison predicate, IN predicate, and LIKE predicate are supported, for single-valued
properties only (so that SQLs semantics is preserved). Boolean conjunction (AND), disjunction (OR), and
negation (NOT) of predicates are also supported.
2401
2402
2403
Repositories SHOULD support the comparisons for the property types as described in the list below.
Repositories MAY support additional comparisons and operators. Any additional operators not specified
are repository-specific:
2404
2405
<Property Type>
2406
2407
2408
2409
String (Single)
2410
2411
2412
2413
String (IN)
2414
2415
2416
2417
Decimal
2418
2419
2420
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 69 of 236
2421
Decimal (IN)
2422
2423
2424
2425
Integer
2426
2427
2428
2429
Integer (IN)
2430
2431
2432
2433
Boolean
2434
Supported Operators: =
2435
2436
2437
DateTime
2438
2439
2440
2441
2442
DateTime (IN)
2443
2444
2445
2446
ID
2447
2448
2449
2450
ID (IN)
2451
2452
2453
2454
URI
2455
2456
2457
2458
URI (IN)
2459
2460
2461
2462
URI
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 70 of 236
2463
2464
2465
2466
Operations on the SCORE() output MUST be treated the same as decimal operations.
2467
2468
2469
When using properties in a join statement, comparison MUST be allowed on properties of the same types
as defined by the table above. Repositories MAY extend this behavior.
2470
2471
2472
The ANY operation argument MUST be one of the properties found in the table above which supports
equality operations
2473
2.1.10.2.4.2
2474
2475
The CMIS query language includes several new non-terminals to expose semantics for querying multivalued properties, in a way that does not alter the semantics of existing SQL-92 production rules.
2476
2477
2478
2479
2480
These are non-terminals defined for multi-valued properties whereas SQL-92s <column
reference> and <column name> are retained for single-valued properties only. This is to preserve
the single-value semantics of a regular column in the SQL-92 grammar.
2481
2482
2483
2484
2485
2486
The SQL-92 production rule for <quantified comparison predicate> is extended to accept a multi-valued
property in place of a <table subquery>. This operation is restricted to equality tests only.
2487
2488
2489
2490
2491
2492
2493
Example:
SELECT
Y.CLAIM_NUM, X.PROPERTY_ADDRESS, Y.DAMAGE_ESTIMATES
FROM POLICY AS X JOIN CLAIMS AS Y ON ( X.POLICY_NUM = Y.POLICY_NUM )
WHERE
( 100000 = ANY Y.DAMAGE_ESTIMATES )
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
CMIS-SQL exposes a new IN predicate defined for a multi-valued property. It is modeled after the SQL92 IN predicate, but since the entire predicate is different semantically, it has its own production rule in
the BNF grammar below.
The quantifier is restricted to ANY. The predicate MUST be evaluated to TRUE if at least one of the
propertys values is (or, is not, if NOT is specified) among the given list of literal values. Otherwise the
predicate is evaluated to FALSE.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 71 of 236
2506
2507
The ANY operation argument MUST be one of the properties found in the comparison list above which
supports IN operations.
2508
Example:
2509
2510
2511
2512
2513
SELECT
*
FROM CAR_REVIEW
WHERE
(MAKE = buickbuick ) OR
( ANY FEATURES IN ((NAVIGATION SYSTEM, SYSTEM, SATELLITE
RADIO, MP3) )
2514
2515
2.1.10.2.4.3
2516
2517
2518
Usage: This is a predicate function that encapsulates the full-text search capability that MAY be provided
by a Repository (See previous section.)
2519
Inputs:
2520
2521
2522
2523
2524
2525
2526
<Qualifier>
The value of this optional parameter MUST be the name of one of the Virtual Tables listed in the
FROM clause for the query.
If specified, then the predicate SHOULD only be applied to objects in the specified Virtual
Table, but a repository MAY ignore the value of the parameter.
If not specified, applies to the single virtual table. If the query is a join, a server SHOULD
throw an exception if the qualifier is not specified.
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
Within a word or phrase, each double (single-)quote must also be escaped by a preceding
backslash \
2540
The Text Search Expression may be a set of terms or phrases with an optional - to signal
negation. A phrase is defined as a word or group of words. A group of words must be
surrounded by quotes to be considered a single phrase.
Return value:
2541
2542
2543
The predicate MUST return TRUE if the object is considered by the repository as relevant with
respect to the given <text search expression> parameter.
2544
2545
The predicate MUST return FALSE if the object is considered by the repository as not relevant
with respect to the given <text search expression> parameter.
2546
2547
2548
Constraints:
At most one CONTAINS() function MUST be included in a single query statement. The repository
MUST throw an exception if more than one CONTAINS() function is found.
2549
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 72 of 236
2550
2551
The return value of the CONTAINS() function MAY only be included conjunctively (ANDed) with the
aggregate of all other predicates, if there is any, in the WHERE clause.
2552
2.1.10.2.4.4
2553
2554
2555
Usage: This is a predicate function that encapsulates the full-text search capability that MAY be provided
by a Repository (See previous section.)
2556
2557
Return value:
2558
The SCORE() predicate function returns a decimal value in the interval [0,1] .
2559
2560
A repository MUST return the value 0 if the object is considered by the repository as having
absolutely no relevance with respect to the CONTAINS() function specified in the query.
2561
2562
A repository MUST return the value 1 if the object is considered by the repository as having
absolutely complete relevance with respect to the CONTAINS() function specified in the query.
2563
Constraints:
2564
2565
The SCORE() function MUST only be used in queries that also include a CONTAINS() predicate
function
2566
2567
The SCORE() function MUST only be used in the SELECT clause of a query. It MUST NOT be
used in the WHERE clause or in the ORDER BY clauses.
2568
2569
An alias column name defined for the SCORE() function call in the SELECT clause (i.e.,
"SELECT SCORE() AS column_name ") may be used in the ORDER BY clause.
2570
2571
2572
If SCORE() is included in the SELECT clause and an alias column name is not provided, then a
query name of SEARCH_SCORE is used for the query output, and the property definition ID is
repository-specific.
2573
2.1.10.2.4.5
2574
2575
2576
Usage: This is a predicate function that tests whether or not a candidate object is a child-object of the
folder object identified by the given <folder id>.
2577
Inputs:
2578
2579
2580
2581
2582
2583
2584
<qualifier>
The value of this optional parameter MUST be the name of one of the Virtual Tables listed in the
FROM clause for the query.
If specified, then the predicate SHOULD only be applied to objects in the specified Virtual
Table, but a repository MAY ignore the value of the parameter.
If not specified, applies to the single virtual table. If the query is a join, a server SHOULD
throw an exception if the qualifier is not specified.
2585
<folder id>
2586
The value of this parameter MUST be the ID of a folder object in the repository.
2587
2588
2589
2590
2591
Return value:
The predicate function MUST return TRUE if the object is a child-object of the folder specified by
<folder id>.
The predicate function MUST return FALSE if the object is a NOT a child-object of the folder
specified by <folder id>.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 73 of 236
2592
2.1.10.2.4.6
2593
2594
2595
Usage: This is a predicate function that tests whether or not a candidate object is a descendant-object of
the folder object identified by the given <folder id>.
2596
Inputs:
2597
2598
2599
2600
2601
2602
2603
<qualifier>
The value of this optional parameter MUST be the name of one of the Virtual Tables listed in the
FROM clause for the query.
If specified, then the predicate SHOULD only be applied to objects in the specified Virtual
Table, but a repository MAY ignore the value of the parameter.
If not specified, applies to the single virtual table. If the query is a join, a server SHOULD
throw an exception if the qualifier is not specified.
2604
<folder id>
2605
The value of this parameter MUST be the ID of a folder object in the repository.
2606
2607
2608
2609
2610
Return value:
The predicate function MUST return TRUE if the object is a descendant-object of the folder
specified by <folder id>.
The predicate function MUST return FALSE if the object is a NOT a descendant -object of the
folder specified by <folder id>.
2611
2612
This clause MUST contain a comma separated list of one or more column names.
2613
2614
All column names referenced in this clause MUST be valid queryName or their aliased values for
properties defined as orderable in the Object-type(s) whose Virtual Tables are listed in the FROM clause.
2615
2616
2617
2.1.10.3 Escaping
2618
2619
Repositories MUST support the escaping of characters using a backslash (\) in the query statement. The
backslash character (\) will be used to escape characters within quoted strings in the query as follows:
2620
2621
2622
2623
4.3. Within a LIKE string, \% and \_ will represent the literal characters % and _, respectively.
2624
2625
2626
2627
2628
2629
2630
CMIS provides a change log mechanism to allow applications to easily discover the set of changes that
have occurred to objects stored in the repository since a previous point in time. This change log can then
be used by applications such as search services that maintain an external index of the repository to
efficiently determine how to synchronize their index to the current state of the repository (rather than
having to query for all objects currently in the repository).
2631
Entries recorded in the change log are referred to below as change events.
2632
2633
Note that change events in the change log MUST be returned in ascending order from the time when the
change event occurred.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 74 of 236
2634
2635
2636
2637
2638
The Change Log mechanism exposed by a repository MAY be able to return an entry for every change
ever made to content in the repository, or may only be able to return an entry for all changes made since
a particular point in time. This completeness level of the change log is indicated via the optional
changesIncomplete value found on the getRepositoryInfo service response
2639
2640
2641
2642
However, repositories MUST ensure that if an application requests the entire contents of the repositorys
change log, that the contents of the change log includes ALL changes made to any object in the
repository after the first change listed in the change log. (I.e. repositories MAY truncate events from the
change log on a first-in first-out basis, but not in any other order.)
2643
2644
A Repository MAY record events such as filing/unfiling/moving of Documents as change events on the
Documents, their parent Folder(s), or both the Documents and the parent Folders.
2645
2646
2647
The primary index into the change log of a repository is the change log token. The change log token is
an opaque string that uniquely identifies a particular change in the change log.
2648
2649
2650
2651
Repositories that support the changeLogToken event MUST expose the latest change log token (i.e. the
change log token corresponding to the most recent change to any object in the repository) as a property
returned by the getRepositoryInfo service.
2652
2653
This will enable applications to begin subscribing to the change log for a repository by discovering what
change log token they should use on a going-forward basis to discover change events to the repository.
2654
2655
2656
A change event represents a single action that occurred to an object in the repository that affected the
persisted state of the object.
2657
2658
A Repository that supports the change log capability MUST expose at least the following information for
each change object:
2659
2660
Enum ChangeType: An enumeration that indicates the type of the change. Valid values are:
2661
2662
2663
2664
security: The access control or security policy for the object were changed.
2665
2666
2667
2668
<Properties> properties: Additionally, for events of changeType updated, the repository MAY
optionally include the new values of properties on the object (if any).
Repositories MUST indicate whether they include properties for updated change events via the optional
enumCapabilityChanges capability.
2669
2670
2.2 Services
2671
2672
Part IThe Services section of the CMIS specification defines a set of services that are described in a
protocol/binding-agnostic fashion.
2673
2674
Every protocol binding of the CMIS specification MUST implement all of the methods described in this
section or explain why the service is not implemented.
2675
2676
However, the details of how each service & method is implemented will be described in those protocol
binding specifications.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 75 of 236
2677
2678
The following elements are common across many of the CMIS services.
2679
2.2.1.1 Paging
2680
2681
All of the methods that allow for the retrieval of a collection of CMIS objects support paging of their result
sets except where explicitly stated otherwise. The following pattern is used:
2682
Input Parameters:
2683
2684
(optional) Integer maxItems: This is the maximum number of items to return in a response. The
repository MUST NOT exceed this maximum. Default is repository-specific.
2685
2686
(optional) Integer skipCount: This is the number of potential results that the repository MUST
skip/page over before returning any results. Defaults to 0.
2687
Output Parameters:
2688
2689
2690
2691
Boolean hasMoreItems: TRUE if the Repository contains additional items after those contained
in the response. FALSE otherwise. If TRUE, a request with a larger skipCount or larger
maxItems is expected to return additional results (unless the contents of the repository has
changed).
2692
2693
2694
2695
Integer numItems: If the repository knows the total number of items in a result set, the
repository SHOULD include the number here. If the repository does not know the number of
items in a result set, this parameter SHOULD not be set. The value in the parameter MAY NOT
be accurate the next time the client retrieves the result set or the next page in the result set.
2696
2697
2698
If the caller of a method does not specify a value for maxItems, then the Repository MAY select an
appropriate number of items to return, and MUST use the hasMoreItems output parameter to indicate if
any additional results were not returned.
2699
Repositories MAY return a smaller number of items than the specified value for maxItems.
2700
2701
Each binding will express the above in context and may have different mechanisms for communicating
hasMoreItems and numItems.
2702
2703
2704
2705
Several CMIS services that return object information have the ability to return dependent object
information as part of their response, such as the Allowable Actions for an object, rendition information,
etc.
2706
2707
The CMIS service methods that support returning a result set of objects will include the ability to return
the following object information:
2708
2709
Relationships
2710
Renditions
2711
ACLs
2712
AllowableActions
2713
2714
2715
This section describes the input parameter & output pattern for those services. All input parameters are
optional.
2716
2.2.1.2.1 Properties
2717
2718
2719
Description: All of the methods that allow for the retrieval of properties for CMIS Objects have a
Property Filter as an optional parameter, which allows the caller to specify a subset of properties for
Objects that MUST be returned by the repository in the output of the method.
2720
11 January 2010
Page 76 of 236
2721
String filter: Value indicating which properties for Objects MUST be returned. Values are:
2722
Not set: The set of properties to be returned MUST be determined by the repository.
2723
2724
2725
2726
2727
Repositories SHOULD return only the properties specified in the property filter if they exist on the objects
type definition.
2728
2729
2730
If a property filter specifies a property that is not set, it MUST be represented as a property element
without a value element.
2731
2.2.1.2.2 Relationships
2732
Description: Used to retrieve the relationships in which the object(s) are participating.
2733
2734
2735
Enum includeRelationships: Value indicating what relationships in which the objects returned
participate MUST be returned, if any. Values are:
2736
2737
2738
source: Only relationships in which the objects returned are the source MUST be
returned.
2739
2740
target: Only relationships in which the objects returned are the target MUST be
returned.
2741
2742
both: Relationships in which the objects returned are the source or the target MUST be
returned.
2743
2744
2745
2.2.1.2.3 Policies
2746
2747
2748
2749
2750
2751
Boolean includePolicyIds: If TRUE, then the Repository MUST return the Ids of the policies
applied to the object. Defaults to FALSE.
Output Parameter or each object:
<Array> Policies: A collection of the policy objects.
2752
2.2.1.2.4 Renditions
2753
2754
2755
2756
2757
2758
2759
String renditionFilter: The Repository MUST return the set of renditions whose kind matches
this filter. See section below for the filter grammar.
o
Defaults to cmis:none.
2760
2761
11 January 2010
Page 77 of 236
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
Examples:
2778
2779
2780
2781
2782
2783
2.2.1.2.5 ACLs
2784
Description: Used to retrieve the ACLs for the object(s) described in the service response.
2785
2786
2787
2788
2789
Boolean includeACL: If TRUE, then the Repository MUST return the ACLs for each object in
the result set. Defaults to FALSE.
<Array> ACLs: The list of access control entries of the ACL for the object.
2790
2791
Description: Used to retrieve the allowable actions for the object(s) described in the service response.
2792
2793
2794
2795
2796
2797
2798
2799
2800
The CMIS base object-type definitions include an opaque string ChangeToken property that a
Repository MAY use for optimistic locking and/or concurrency checking to ensure that user updates do
not conflict.
2801
2802
If a Repository provides values for the ChangeLogTokenChangeToken property for an Object, then all
invocations of the update methods on that object (updateProperties, setContentStream,
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 78 of 236
2803
2804
2805
2806
2807
2.2.1.4 Exceptions
2808
2809
The following sections list the complete set of exceptions that MAY be returned by a repository in
response to a CMIS service method call.
2810
2811
The following exceptions MAY be returned by a repository in response to ANY CMIS service method call.
2812
2813
2814
The Cause field indicates the circumstances under which a repository SHOULD return a particular
exception.
invalidArgument
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
Cause: One or more of the input parameters to the service method is missing or invalid.
objectNotFound
Cause: The service call has specified an object that does not exist in the Repository.
notSupported
The service method invoked requires an optional capability not supported by the
repository.
Cause:
permissionDenied
Cause:
The caller of the service method does not have sufficient permissions to perform the
operation.
runtime
Cause:
2830
2831
2832
The following exceptions MAY be returned by a repositiory in response to one or more CMIS service
methods calls.
2833
2834
2835
For each exception, the general intent is listed as well as a list of the methods which MAY cause the
exception to be thrown.
constraint
2836
2837
Intent:
2838
Methods:
2839
2840
2841
Navigation Services:
o getObjectParents
Object Services:
2842
o createDocument
2843
o createDocumentFromSource
2844
o createFolder
2845
o createRelationship
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 79 of 236
2846
o createPolicy
2847
o updateProperties
2848
o moveObject
2849
o deleteObject
2850
o setContentStream
2851
o deleteContentStream
2852
Multi-filing Services:
2853
o addObjectToFolder
2854
Versioning Services:
2855
o checkOut
2856
o cancelCheckOut
2857
o checkIn
2858
Policy Services:
2859
o applyPolicy
2860
o removePolicy
2861
2862
2863
o getContentChanges
2864
contentAlreadyExists
2865
2866
Intent:
2867
Methods:
2868
2869
2870
2871
The operation attempts to set the content stream for a Document that already has a
content stream without explicitly specifying the overwriteFlag parameter.
Object Services:
o setContentStream
filterNotValid
2872
Intent: The property filter or rendition filter input to the operation is not valid.
2873
Methods:
2874
Navigation Services:
2875
o getDescendants
2876
o getChildren
2877
o getFolderParent
2878
o getObjectParents
2879
o getCheckedOutDocs
2880
Object Services:
2881
o getProperties
2882
o getRenditions
2883
o getObject
2884
o getObjectByPath
2885
Versioning Services:
2886
o getPropertiesOfLatestVersion
2887
o getAllVersions
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 80 of 236
2888
Policy Services:
2889
2890
2891
o getAppliedPolicies
nameConstraintViolation
2892
2893
Intent:
2894
Methods:
2895
The repository is not able to store the object that the user is creating/updating due to
a name constraint violation.
Object Services:
2896
o createDocument
2897
o createDocumentFromSource
2898
o createFolder
2899
o createRelationship
2900
o createPolicy
2901
o updateProperties
2902
2903
o moveObject
2904
storage
2905
2906
Intent:
2907
Methods:
2908
The repository is not able to store the object that the user is creating/updating due to
an internal storage problem.
Object Services:
2909
o createDocument
2910
o createDocumentFromSource
2911
o createFolder
2912
o createRelationship
2913
o createPolicy
2914
o updateProperties
2915
o moveObject
2916
o setContentStream
2917
o deleteContentStream
2918
Versioning Services:
2919
o checkOut
2920
2921
o checkIn
2922
streamNotSupported
2923
2924
Intent:
2925
Methods:
2926
Object Services:
2927
o createDocument
2928
o createDocumentFromSource
2929
o getContentStream
2930
o setContentStream
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 81 of 236
2931
Versioning Services:
2932
2933
2934
o checkIn
updateConflict
2935
2936
Intent:
2937
Methods:
2938
Object Services:
2939
o updateProperties
2940
o moveObject
2941
o deleteObject
2942
o deleteTree
2943
o setContentStream
2944
o deleteContentStream
2945
Versioning Services:
2946
o checkOut
2947
o cancelCheckOut
2948
o checkIn
2949
2950
versioning
2951
2952
Intent:
2953
Methods:
2954
Object Services:
2955
o updateProperties
2956
o moveObject
2957
o setContentStream
2958
o deleteContentStream
2959
Versioning Services:
2960
o checkOut
2961
o cancelCheckOut
2962
o checkIn
2963
2.2.1.5 ACLs
2964
2965
Those services which allow for the setting of ACLs may take the optional macro cmis:user which allows
the caller to indicate the operation applies to the current authenticated user.
2966
2967
2968
2969
2970
2.2.2.1 getRepositories
2971
Description: Returns a list of CMIS repositories available from this CMIS service endpoint.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 82 of 236
2972
2.2.2.1.1 Inputs
2973
None.
2974
2.2.2.1.2 Outputs
2975
A list of repository information, with (at least) the following information for each entry:
2976
2977
2978
2979
2980
2.2.2.2 getRepositoryInfo
2981
2982
Description: Returns information about the CMIS repository, the optional capabilities it supports and its
Access Control information if applicable. .
2983
2.2.2.2.1 Inputs
2984
Required:
2985
2986
2987
2.2.2.2.2 Outputs
2988
Note: This MUST be the same identifier as the input to the method.
2989
2990
2991
String vendorName: A display name for the vendor of the Repositorys underlying application.
2992
2993
2994
String productVersion: A display name for the version number of the Repositorys
underlying application.
2995
2996
2997
<List of capabilities>: The set of values for the repository-optional capabilities specified in
section 2.1.1.1 Optional Capabilities
2998
2999
String latestChangeLogToken: The change log token corresponding to the most recent
change event for any object in the repository.
3000
3001
3002
3003
3004
3005
3006
3007
Boolean changesIncomplete: Indicates whether or not the repositorys change log can return
all changes ever made to any object in the repository or only changes made after a particular
point in time. Applicable when the repositorys optional capability capabilityChanges is not
none.
3008
If FALSE, then the change log can return all changes ever made to every object.
3009
3010
If TRUE, then the change log includes all changes made since a particular point in time,
but not all changes ever made.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 83 of 236
3011
3012
3013
<List of enum values> changesOnType: Indicates whether changes are available for base
types in the repository. Valid values are from enumBaseObjectTypeIds. See section 2.1.11
Change Log.
3014
cmis:document
3015
cmis:folder
3016
cmis:policy
3017
cmis:relationship
3018
3019
3020
3021
3022
both: indicates that both CMIS basic permissions and repository specific permissions are
supported.
3023
3024
Enum propagation: The list of allowed values for applyACL, which control how non-direct
ACEs are handled by the repository:
3025
3026
3027
objectonly: indicates that the repository is able to apply ACEs without changing the
ACLs of other objects i.e. ACEs are applied, potentially breaking the sharing
dependency for non-direct ACEs.
3028
3029
3030
propagate: indicates that the repository is able to apply ACEs to a given object and
propagate this change to all inheriting objects i.e. ACEs are applied with the (intended)
side effect to inheriting objects.
3031
3032
3033
3034
3035
3036
<Array> PermissionMapping mapping: The list of mappings for the CMIS Basic permissions to
allowable actions (see section 2.8 Access Control).
3037
3038
3039
String principalAnonymous: If set, this field holds the principal who is used for anonymous
access. This principal can then be passed to the ACL services to specify what permissions
anonymous users should have.
3040
3041
3042
String principalAnyone: If set, this field holds the principal who is used to indicate any
authenticated user. This principal can then be passed to the ACL services to specify what
permissions any authenticated user should have.
3043
3044
The cmisRepositoryInfoType schema describes the markup that will be included in all CMIS protocol
bindings to implement this service.
3045
3046
3047
2.2.2.3 getTypeChildren
3048
3049
Description: Returns the list of Object-Types defined for the Repository that are children of the specified
Type.
3050
2.2.2.3.1 Inputs
3051
Required:
3052
3053
Optional:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 84 of 236
3054
3055
If specified, then the Repository MUST return all of child types of the specified type.
3056
If not specified, then the Repository MUST return all Base Object-Types.
3057
3058
Boolean includePropertyDefinitions: If TRUE, then the Repository MUST return the property
definitions for each Object-Type returned.
3059
If FALSE (default), the Repository MUST return only the attributes for each Object-Type.
3060
3061
3062
2.2.2.3.2 Outputs
3063
<Array> Object-Types: The list of child Object-Types defined for the given typeId.
3064
3065
3066
Optional:
Integer numItems: See section 2.2.1.1 Paging.
3067
3068
3069
2.2.2.4 getTypeDescendants
3070
3071
Description: Returns the set of descendant Object-Types defined for the Repository under the specified
Type.
3072
Notes:
3073
This method does NOT support paging as defined in the 2.2.1.1 Paging section.
3074
3075
2.2.2.4.1 Inputs
3076
Required:
3077
3078
Optional:
3079
3080
If specified, then the Repository MUST return all descendant types for the specified type.
3081
3082
If not specified, then the Repository MUST return all types and MUST ignore the value of
the depth parameter
3083
3084
Integer depth: The number of levels of depth in the type hierarchy from which to return results.
Valid values are:
3085
3086
3087
<Integer value greater than 1>: Return only types that are children of the type and
descendants up to <value> levels deep.
3088
-1: Return ALL descendant types at all depth levels in the CMIS hierarchy.
3089
3090
3091
3092
Boolean includePropertyDefinitions: If TRUE, then the Repository MUST return the property
definitions for each Object-Type returned.
o
If FALSE (default), the Repository MUST return only the attributes for each Object-Type.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 85 of 236
3093
3094
2.2.2.4.2 Outputs
<Array> Object-Types: The hierarchy of Object-Types defined for the Repository.
3095
3096
3097
3098
invalidArgument: The Repository MUST throw this exception if the service is invoked with
an invalid depth.
3099
2.2.2.5 getTypeDefinition
3100
3101
2.2.2.5.1 Inputs
3102
Required:
3103
3104
3105
3106
3107
2.2.2.5.2 Outputs
Object-type including all property definitions. See section 2.1.3.3 (Object-Type Property
Definitions) for further details.
3108
3109
3110
3111
3112
3113
3114
2.2.3.1 getChildren
3115
Description: Gets the list of child objects contained in the specified folder.
3116
Notes:
3117
3118
If the Repository supports the optional VersionSpecificFiling capability, then the repository
MUST return the document versions filed in the specified folder.
3119
3120
2.2.3.1.1 Inputs
3121
Required:
3122
3123
3124
Optional:
3125
3126
3127
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 86 of 236
3128
3129
3130
String orderBy: The orderBy parameter MUST be a comma-separated list of query names and
the ascending modifier ASC or the descending modifier DESC for each query name. A
repository's handling of the orderBy input is repository-specific.
3131
3132
3133
String filter: See Error! Reference source not found.section 2.2.1.2.1 Properties. The service
will only return the properties in the matched object if they exist on the matched object type
definition and in the filter.
3134
3135
3136
3137
3138
3139
3140
3141
2.2.3.1.2 Outputs
<Array> ObjectResults: A list of the child objects for the specified folder. Each object result
MUST include the following elements if they are requested:
3142
3143
3144
3145
3146
3147
3148
Optional:
3149
3150
3151
3152
3153
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
3154
3155
2.2.3.2 getDescendants
3156
3157
Description: Gets the set of descendant objects contained in the specified folder or any of its childfolders.
3158
Notes:
3159
This method does NOT support paging as defined in the 2.2.1.1 Paging section.
3160
3161
3162
3163
3164
3165
3166
If the Repository supports the optional capability capabilityMutlifiling and the same
document is encountered multiple times in the hierarchy, then the repository MUST return that
document each time is encountered.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 87 of 236
3167
2.2.3.2.1 Inputs
3168
Required:
3169
3170
3171
Optional:
3172
3173
Integer depth: The number of levels of depth in the folder hierarchy from which to return results.
Valid values are:
3174
3175
3176
<Integer value greater than 1>: Return only objects that are children of the folder and
descendants up to <value> levels deep.
3177
-1: Return ALL descendant objects at all depth levels in the CMIS hierarchy.
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
2.2.3.2.2 Outputs
<Array> ObjectResults: A list of the descendant objects for the specified folder. Each object
result MUST include the following elements if they are requested:
3188
3189
3190
3191
3192
3193
3194
3195
3196
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
3197
3198
invalidArgument: The Repository MUST throw this exception if the service is invoked with
depth = 0.
3199
3200
2.2.3.3 getFolderTree
3201
Description: Gets the set of descendant folder objects contained in the specified folder.
3202
3203
Notes:
3204
This method does NOT support paging as defined in the 2.2.1.1 Paging section.
3205
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 88 of 236
3206
2.2.3.3.1 Inputs
3207
Required:
3208
3209
3210
Optional:
3211
3212
Integer depth: The number of levels of depth in the folder hierarchy from which to return results.
Valid values are:
3213
3214
3215
<Integer value greater than 1>: Return only folders that are children of the folder and
descendant folders up to <value> levels deep.
3216
-1: Return ALL descendant folders at all depth levels in the CMIS hierarchy.
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
2.2.3.3.2 Outputs
<Array> ObjectResults: A list of the descendant folders for the specified folder. Each object
result MUST include the following elements if they are requested:
3227
3228
3229
3230
3231
3232
3233
3234
3235
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
3236
3237
invalidArgument: The Repository MUST throw this exception if the service is invoked with
an invalid depth
3238
3239
3240
3241
2.2.3.4 getFolderParent
3242
Description: Gets the parent folder object for the specified folder object.
3243
2.2.3.4.1 Inputs
3244
Required:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 89 of 236
3245
3246
3247
Optional:
3248
3249
3250
3251
String filter: See section 2.2.1.2.1 Properties.Error! Reference source not found..
2.2.3.4.2 Outputs
3252
3253
3254
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
3255
3256
invalidArgument: The Repository MUST throw this exception if the folderId input is the root
folder.
3257
2.2.3.5 getObjectParents
3258
Description: Gets the parent folder(s) for the specified non-folder, fileable object.
3259
2.2.3.5.1 Inputs
3260
Required:
3261
3262
3263
Optional:
3264
3265
3266
3267
3268
3269
3270
3271
3272
2.2.3.5.2 Outputs
<Array> ObjectResults: A list of the parent folder(s) of the specified objects. Empty for unfiled
objects or for the root folder. Each object result MUST include the following elements if they are
requested:
3273
3274
3275
3276
3277
3278
3279
3280
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 90 of 236
3281
3282
constraint: The Repository MUST throw this exception if this method is invoked on an object
who Object-Type Definition specifies that it is not fileable.
3283
3284
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
3285
3286
2.2.3.6 getCheckedOutDocs
3287
Description: Gets the list of documents that are checked out that the user has access to.
3288
2.2.3.6.1 Inputs
3289
Required:
3290
3291
Optional:
3292
3293
3294
If specified, the Repository MUST only return checked out documents that are childobjects of the specified folder.
3295
3296
If not specified, the Repository MUST return checked out documents from anywhere in
the repository hierarchy.
3297
3298
3299
3300
3301
3302
String orderBy: The orderBy parameter MUST be a comma-separated list of query names and
the ascending modifier ASC or the descending modifier DESC for each query name. A
repository's handling of the orderBy input is repository-specific.
3303
3304
3305
3306
3307
3308
3309
2.2.3.6.2 Outputs
<Array> ObjectResults: A list of checked out documents. Each object result MUST include the
following elements if they are requested:
3310
3311
3312
3313
3314
3315
Optional:
3316
3317
3318
3319
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 91 of 236
3320
3321
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
3322
3323
CMIS provides ID-based CRUD (Create, Retrieve, Update, Delete), operations on objects in a Repository.
3324
2.2.4.1 createDocument
3325
3326
Description: Creates a document object of the specified type (given by the cmis:objectTypeId property)
in the (optionally) specified location.
3327
2.2.4.1.1 Inputs
3328
Required:
3329
3330
3331
<Array> properties: The property values that MUST be applied to the newly-created Document
Object.
3332
Optional:
3333
3334
3335
3336
ID folderId: If specified, the identifier for the folder that MUST be the parent folder for the newlycreated Document Object.
o
This parameter MUST be specified if the Repository does NOT support the optional
unfiling capability.
3337
3338
3339
3340
<contentStream> contentStream: The Content Stream that MUST be stored for the newlycreated Document Object. The method of passing the contentStream to the server and the
encoding mechanism will be specified by each specific binding. MUST be required if the type
requires it.
3341
3342
3343
Enum versioningState: An enumeration specifying what the versioing state of the newly-created
object MUST be. If the repository does not support versioning, the repository MUST ignore the
versioningState parameter. Valid values are:
3344
3345
3346
3347
3348
3349
<Array> policies: A list of policy IDs that MUST be applied to the newly-created Document
object.
3350
3351
<Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Document
object, either using the ACL from folderId if specified, or being applied if no folderId is specified.
3352
3353
3354
<Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created
Document object, either using the ACL from folderId if specified, or being ignored if no folderId is
specified.
3355
3356
3357
2.2.4.1.2 Outputs
ID objectId: The ID of the newly-created document.
3358
3359
3360
constraint: The Repository MUST throw this exception if ANY of the following conditions are
met:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 92 of 236
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
At least one of the permissions is used in an ACE provided which is not supported by the
repository.
3382
3383
3384
3385
3386
3387
3388
3389
2.2.4.2 createDocumentFromSource
3390
3391
Description: Creates a document object as a copy of the given source document in the (optionally)
specified location.
3392
2.2.4.2.1 Inputs
3393
Required:
3394
3395
3396
Optional:
3397
3398
<Array> properties: The property values that MUST be applied to the Object. This list of
properties SHOULD only contain properties whose values differ from the source document.
3399
3400
ID folderId: If specified, the identifier for the folder that MUST be the parent folder for the newlycreated Document Object.
3401
3402
3403
3404
3405
This parameter MUST be specified if the Repository does NOT support the optional
unfiling capability.
Enum versioningState: An enumeration specifying what the versioing state of the newly-created
object MUST be. Valid values are:
o
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 93 of 236
3406
3407
3408
3409
3410
<Array> policies: A list of policy IDs that MUST be applied to the newly-created Document
object.
3411
3412
<Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Document
object, either using the ACL from folderId if specified, or being applied if no folderId is specified.
3413
3414
3415
<Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created
Document object, either using the ACL from folderId if specified, or being ignored if no folderId is
specified.
3416
3417
3418
2.2.4.2.2 Outputs
ID objectId: The ID of the newly-created document.
3419
3420
3421
constraint: The Repository MUST throw this exception if ANY of the following conditions are
met:
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
At least one of the permissions is used in an ACE provided which is not supported by the
repository.
3437
3438
3439
3440
3441
3442
3443
3444
2.2.4.3 createFolder
3445
Description: Creates a folder object of the specified type in the specified location.
3446
2.2.4.3.1 Inputs
3447
Required:
3448
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 94 of 236
3449
3450
<Array> properties: The property values that MUST be applied to the newly-created Folder
Object.
3451
3452
ID folderId: The identifier for the folder that MUST be the parent folder for the newly-created
Folder Object.
3453
Optional:
3454
<Array> policies: A list of policy IDs that MUST be applied to the newly-created Folder object.
3455
3456
<Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Folder object,
either using the ACL from folderId if specified, or being applied if no folderId is specified.
3457
3458
3459
<Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created
Folder object, either using the ACL from folderId if specified, or being ignored if no folderId is
specified.
3460
3461
3462
2.2.4.3.2 Outputs
3463
3464
3465
constraint: The Repository MUST throw this exception if ANY of the following conditions are
met:
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
At least one of the permissions is used in an ACE provided which is not supported by the
repository.
3477
3478
3479
3480
3481
2.2.4.4 createRelationship
3482
3483
2.2.4.4.1 Inputs
3484
Required:
3485
3486
3487
<Array> properties: The property values that MUST be applied to the newly-created
Relationship Object.
3488
Optional:
3489
3490
<Array> policies: A list of policy IDs that MUST be applied to the newly-created Replationship
object.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 95 of 236
3491
3492
3493
3494
3495
3496
3497
3498
<Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Relationship
object, either using the ACL from folderId if specified, or being applied if no folderId is specified.
<Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created
Relationship object, either using the ACL from folderId if specified, or being ignored if no folderId
is specified.
2.2.4.4.2 Outputs
3499
3500
3501
constraint: The Repository MUST throw this exception if ANY of the following conditions are
met:
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
At least one of the permissions is used in an ACE provided which is not supported by the
repository.
3516
3517
3518
3519
3520
2.2.4.5 createPolicy
3521
3522
2.2.4.5.1 Inputs
3523
Required:
3524
3525
3526
<Array> properties: The property values that MUST be applied to the newly-created Policy
Object.
3527
Optional:
3528
3529
3530
3531
3532
ID folderId: If specified, the identifier for the folder that MUST be the parent folder for the newlycreated Policy Object.
o
This parameter MUST be specified if the Repository does NOT support the optional unfiling
capability.
<Array> policies: A list of policy IDs that MUST be applied to the newly-created Policy object.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 96 of 236
3533
3534
<Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Policy object,
either using the ACL from folderId if specified, or being applied if no folderId is specified.
3535
3536
3537
<Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created
Policy object, either using the ACL from folderId if specified, or being ignored if no folderId is
specified.
3538
3539
3540
2.2.4.5.2 Outputs
3541
3542
3543
constraint: The Repository MUST throw this exception if ANY of the following conditions are
met:
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
At least one of the permissions is used in an ACE provided which is not supported by the
repository.
3555
3556
3557
3558
3559
2.2.4.6 getAllowableActions
3560
Description: Gets the list of allowable actions for an Object (see section.2.2.1.2.6 Allowable Actions).
3561
2.2.4.6.1 Inputs
3562
Required:
3563
3564
3565
3566
3567
3568
2.2.4.6.2 Outputs
3569
2.2.4.7 getObject
3570
11 January 2010
Page 97 of 236
3571
2.2.4.7.1 Inputs
3572
Required:
3573
3574
3575
Optional:
3576
String filter: See Error! Reference source not found.section 2.2.1.2.1 Properties.
3577
3578
3579
3580
3581
3582
2.2.4.7.2 Outputs
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
filterNotValid: The Repository MUST throw this exception if this property filter input parameter
is not valid.
3593
2.2.4.8 getProperties
3594
3595
2.2.4.8.1 Inputs
3596
Required:
3598
3599
Optional:
3600
3597
3601
3602
3603
String filter: See Error! Reference source not found.section 2.2.1.2.1 Properties.
2.2.4.8.2 Outputs
<Array> Properties: The list of properties for the object.
3604
3605
3606
filterNotValid: The Repository MUST throw this exception if this property filter input parameter
is not valid.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 98 of 236
3607
2.2.4.9 getObjectByPath
3608
3609
2.2.4.9.1 Inputs
3610
Required:
3611
3612
String path: The path to the object. See section 2.1.5.3 Paths.
3613
Optional:
3614
3615
3616
3617
3618
3619
3620
2.2.4.9.2 Outputs
3621
3622
3623
3624
3625
3626
filterNotValid: The Repository MUST throw this exception if this property filter input parameter
is not valid.
3627
2.2.4.10 getContentStream
3628
3629
Description: Gets the content stream for the specified Document object, or gets a rendition stream for a
specified rendition of a document or folder object.
3630
3631
Notes: Each CMIS protocol binding MAY provide a way for fetching a sub-range within a content stream,
in a manner appropriate to that protocol.
3632
2.2.4.10.1 Inputs
3633
Required:
3634
3635
3636
Optional:
3637
3638
3639
3640
3641
ID streamId: The identifier for the rendition stream, when used to get a rendition stream. For
Documents, if not provided then this method returns the content stream. For Folders, it MUST be
provided.
2.2.4.10.2 Outputs
<Stream> ContentStream: The specified content stream or rendition stream for the object.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 99 of 236
3642
3643
3644
3645
constraint: The Repository MUST throw this exception if the object specified by objectId does
NOT have a content stream or rendition stream.
3646
2.2.4.11 getRenditions
3647
3648
Description: Gets the list of associated Renditions for the specified object. Only rendition attributes are
returned, not rendition stream.
3649
3650
Notes: Each CMIS protocol binding MAY provide a way for fetching a sub-range within a content stream,
in a manner appropriate to that protocol.
3651
2.2.4.11.1 Inputs
3652
Required:
3653
3654
3655
Optional:
3656
3657
3658
3659
3660
3661
2.2.4.11.2 Outputs
3662
3663
3664
notSupported: The service method requires functionality that is not supported by the
repository
3665
3666
2.2.4.12 updateProperties
3667
3668
Notes:
3669
3670
A Repository MAY automatically create new Document versions as part of an update properties
operation. Therefore, the objectId output NEED NOT be identical to the objectId input.
3671
3672
3673
Each CMIS protocol bindings MUST specify whether the updateProperties service MUST always
include all updatable properties, or only those properties whose values are different than the
original value of the object.
3674
2.2.4.12.1 Inputs
3675
Required:
3676
3677
3678
3679
Optional:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 100 of 236
3680
3681
2.2.4.12.2 Outputs
3682
3683
3684
3685
3686
3687
3688
constraint: The Repository MUST throw this exception if the value of any of the properties
violates the min/max/required/length constraints specified in the property definition in the ObjectType.
3689
3690
3691
3692
3693
3694
versioning: The Repository MUST throw this exception if ANY of the following conditions are
met:
3695
3696
The object is not checked out and ANY of the properties being updated are defined in
their Object-Type definition have an attribute value of Updatability when checked-out.
3697
3698
Additionally, the repository MAY throw this exception if the object is a non-current
Document Version.
3699
2.2.4.13 moveObject
3700
Description: Moves the specified file-able object from one folder to another.
3701
2.2.4.13.1 Inputs
3702
Required:
3703
3704
3705
3706
3707
3708
3709
2.2.4.13.2 Outputs
3710
3711
3712
3713
invalidArgument: The Repository MUST throw this exception if the service is invoked with a
missing sourceFolderId or the sourceFolderId doesnt match the specified objects parent folder
(or one of the parent folders if the repository supports multifiling.).
3714
3715
3716
constraint: The Repository MUST throw this exception if the cmis:objectTypeId property value
of the given object is NOT in the list of AllowedChildObjectTypeIds of the parent-folder specified
by targetFolderId.
3717
3718
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 101 of 236
3719
3720
3721
3722
versioning: The repository MAY throw this exception if the object is a non-current Document
Version.
3723
2.2.4.14 deleteObject
3724
3725
2.2.4.14.1 Inputs
3726
Required:
3727
3728
3729
Optional:
3730
3731
3732
3733
Boolean allVersions: If TRUE (default), then delete all versions of the document. If FALSE,
delete only the document object specified. The Repository MUST ignore the value of this
parameter when this service is invoke on a non-document object or non-versionable document
object.
3734
3735
3736
3737
3738
constraint: The Repository MUST throw this exception if the method is invoked on a Folder
object that contains one or more objects.
3739
3740
2.2.4.15 deleteTree
3741
Description: Deletes the specified folder object and all of its child- and descendant-objects.
3742
Notes:
3743
3744
A Repository MAY attempt to delete child- and descendant-objects of the specified folder in any
order.
3745
3746
Any child- or descendant-object that the Repository cannot delete MUST persist in a valid state in
the CMIS domain model.
3747
3748
3749
3750
However, if deletesinglefiled is chosen and some objects fail to delete, then single-filed objects
are either deleted or kept, never just unfiled. This is so that a user can call this command again to
recover from the error by using the same tree.
3751
2.2.4.15.1 Inputs
3752
Required:
3753
3754
3755
Optional:
3756
3757
Boolean allVersions: If TRUE (default), then delete all versions of the document. If FALSE,
delete only the document object specified. The Repository MUST ignore the value of this
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 102 of 236
3758
3759
3760
3761
Enum unfileObjects: An enumeration specifying how the repository MUST process file-able
child- or descendant-objects. Valid values are:
3762
3763
3764
deletesinglefiled: Delete all fileable non-folder objects whose only parent-folders are in
the current folder tree. Unfile all other fileable non-folder objects from the current folder tree.
3765
3766
3767
3768
3769
3770
3771
3772
3773
If FALSE (default), then the repository SHOULD abort this method when it fails to delete a
single child- or descendant-object.
2.2.4.15.2 Outputs
<Array> ID failedToDelete: A list of identifiers of objects in the folder tree that were not deleted.
3774
3775
3776
2.2.4.16 setContentStream
3777
Description: Sets the content stream for the specified Document object.
3778
3779
Notes: A Repository MAY automatically create new Document versions as part of this service method.
Therefore, the obejctId output NEED NOT be identical to the objectId input.
3780
2.2.4.16.1 Inputs
3781
Required:
3782
3783
3784
3785
Optional:
3786
3787
3788
3789
3790
3791
Boolean overwriteFlag: If TRUE (default), then the Repository MUST replace the existing
content stream for the object (if any) with the input contentStream.
o
If FALSE, then the Repository MUST only set the input contentStream for the object if the
object currently does not have a content-stream.
2.2.4.16.2 Outputs
3792
3793
3794
3795
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 103 of 236
3796
3797
contentAlreadyExists: The Repository MUST throw this exception if the input parameter
overwriteFlag is FALSE and the Object already has a content-stream.
3798
3799
3800
3801
3802
3803
3804
versioning: The repository MAY throw this exception if the object is a non-current Document
Version.
3805
2.2.4.17 deleteContentStream
3806
Description: Deletes the content stream for the specified Document object.
3807
3808
Notes: A Repository MAY automatically create new Document versions as part of this service method.
Therefore, the objectId output NEED NOT be identical to the objectId input.
3809
2.2.4.17.1 Inputs
3810
Required:
3811
3812
3813
Optional:
3814
3815
2.2.4.17.2 Outputs
3816
3817
3818
3819
3820
3821
constraint: The Repository MUST throw this exception if the Objects Object-Type definition
contentStreamAllowed attribute is set to required.
3822
3823
3824
3825
versioning: The repository MAY throw this exception if the object is a non-current Document
Version.
3826
3827
3828
3829
3830
3831
2.2.5.1 addObjectToFolder
3832
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 104 of 236
3833
2.2.5.1.1 Inputs
3834
Required:
3835
3836
3837
3838
Optional:
3839
3840
3841
Boolean allVersions: Add all versions of the object to the folder if the repository supports
version-specific filing. Defaults to TRUE.
3842
3843
3844
3845
constraint: The Repository MUST throw this exception if the cmis:objectTypeId property value
of the given object is NOT in the list of AllowedChildObjectTypeIds of the parent-folder specified
by folderId.
3846
2.2.5.2 removeObjectFromFolder
3847
3848
2.2.5.2.1 Inputs
3849
Required:
3850
3851
3852
Optional:
3853
3854
3855
3856
3857
If no value is specified, then the Repository MUST remove the object from all folders in which
it is currently filed.
3858
3859
The Discovery Services (query) are used to search for query-able objects within the Repository.
3860
2.2.6.1 query
3861
Description: Executes a CMIS query statement against the contents of the Repository.
3862
2.2.6.1.1 Inputs
3863
Required:
3864
3865
3866
Optional:
3867
3868
3869
Boolean searchAllVersions:
o
If TRUE, then the Repository MUST include latest and non-latest versions of document
objects in the query search scope.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 105 of 236
3870
3871
If FALSE (default), then the Repository MUST only include latest versions of documents
in the query search scope.
3872
3873
3874
3875
3876
3877
3878
Note: For query statements where the SELECT clause contains properties from only one
virtual table reference (i.e. referenced object-type), any value for this enum may be used.
If the SELECT clause contains properties from more than one table, then the value of this
parameter MUST be none.
3879
3880
3881
3882
3883
3884
Note: For query statements where the SELECT clause contains properties from only one
virtual table reference (i.e. referenced object-type), any value for this parameter may be
used. If the SELECT clause contains properties from more than one table, then the value
of this parameter MUST be FALSE.
3885
3886
3887
3888
3889
2.2.6.1.2 Outputs
<Array> Object QueryResults: The set of results for the query. (See section 2.1.10 Query.).
Each object result MUST include the following elements if they are requested:
3890
3891
3892
3893
3894
Optional:
3895
3896
3897
3898
3899
3900
3901
If the select clause includes properties from more than a single type reference, then the
repository SHOULD throw an exception if includeRelationships is something other than none or
includeAllowableActions is specified as TRUE.
3902
2.2.6.2 getContentChanges
3903
3904
Description: Gets a list of content changes. This service is intended to be used by search crawlers or
other applications that need to efficiently understand what has changed in the repository.
3905
Notes:
3906
3907
The definition of the authority needed to call this service is repository specific.
3908
The latest change log token for a repository can be acquired via the getRepositoryInfo service.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 106 of 236
3909
2.2.6.2.1 Inputs
3910
Required:
3911
3912
Optional:
3913
3914
3915
If specified, then the Repository MUST return the change event corresponding to the value of
the specified change log token as the first result in the output.
3916
3917
If not specified, then the Repository MUST return the first change event recorded in the
change log.
3918
Boolean includeProperties:
3919
3920
3921
If TRUE, then the Repository MUST include the updated property values for updated
change events. if the repository supports returning property values as specified by
capbilityChanges.
3922
3923
3924
If FALSE (default), then the Repository MUST NOT include the updated property values for
updated change events. The single exception to this is that the objectId MUST always be
included.
3925
Boolean includePolicyIDs:includePolicyIds:
3926
3927
If TRUE, then the Repository MUST include the IDs of Policies applied to the object referenced in
each change event, if the change event modified the set of policies applied to the object.
3928
If FALSE (default), then the Repository will not include policy information.
3929
3930
String filter: See section 2.2.1.2.1 Properties. The service will only return the properties in the
matched object if they exist on the matched object type definition and in the filter.
3931
3932
3933
3934
3935
2.2.6.2.2 Outputs
<Array> changeEvents: A collection of CMIS objects that MUST include the information as
specified in 2.1.11.3. Each result MUST include the following elements if they are requested:
3936
<Array> policyIDs: The IDs of Policies applied to the object referenced in the change event.
3937
<Array> ACLs: The ACLs applied to the object reference in the change event.
3938
3939
3940
3941
Optional:
3942
3943
3944
3945
3946
3947
constraint: The Repository MUST throw this exception if the event corresponding to the
change log token provided as an input parameter is no longer available in the change log. (E.g.
because the change log was truncated).
3948
3949
3950
11 January 2010
Page 107 of 236
3951
2.2.7.1 checkOut
3952
3953
2.2.7.1.1 Inputs
3954
Required:
3955
3956
3957
2.2.7.1.2 Outputs
3958
3959
3960
Boolean contentCopied: TRUE if the content-stream of the Private Working Copy is a copy of
the contentStream of the Document that was checked out.
3961
3962
3963
3964
3965
constraint: The Repository MUST throw this exception if the Documents Object-Type
definitions versionable attribute is FALSE.
3966
3967
3968
3969
versioning: The repository MAY throw this exception if the object is a non-current Document
Version.
3970
2.2.7.2 cancelCheckOut
3971
3972
Description: Reverses the effect of a check-out. Removes the private working copy of the checked-out
document, allowing other documents in the version series to be checked out again.
3973
2.2.7.2.1 Inputs
3974
Required:
3975
3976
3977
3978
3979
3980
constraint: The Repository MUST throw this exception if the Documents Object-Type
definitions versionable attribute is FALSE.
3981
3982
3983
versioning: The repository MAY throw this exception if the object is a non-current Document
Version.
3984
2.2.7.3 checkIn
3985
3986
Notes:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 108 of 236
3987
3988
3989
For repositories that do NOT support the optional capabilityPWCUpdatable capability, the
properties and contentStream input parameters MUST be provided on the checkIn method for
updates to happen as part of checkIn.
3990
3991
3992
Each CMIS protocol bindings MUST specify whether the checkin service MUST always include all
updatable properties, or only those properties whose values are different than the original value
of the object.
3993
2.2.7.3.1 Inputs
3994
Required:
3995
3996
3997
Optional:
3998
3999
Boolean major: TRUE (default) if the checked-in Document Object MUST be a major version.
o
4000
4001
<Array> properties: The property values that MUST be applied to the checked-in Document
Object.
4002
4003
4004
<contentStream> contentStream: The Content Stream that MUST be stored for the checked-in
Document Object. The method of passing the contentStream to the server and the encoding
mechanism will be specified by each specific binding.
4005
4006
4007
<Array> policies: A list of policy IDs that MUST be applied to the newly-created Document
object.
4008
4009
<Array> ACE addACEs: A list of ACEs that MUST be added to the newly-created Document
object, either using the ACL from folderId if specified, or being applied if no folderId is specified.
4010
4011
4012
<Array> ACE removeACEs: A list of ACEs that MUST be removed from the newly-created
Document object, either using the ACL from folderId if specified, or being ignored if no folderId is
specified.
4013
4014
4015
2.2.7.3.2 Outputs
ID objectId: The ID of the checked-in document.
4016
4017
4018
constraint: The Repository MUST throw this exception if the Documents Object-Type
definitions versionable attribute is FALSE.
4019
4020
4021
4022
4023
4024
2.2.7.4 getObjectOfLatestVersion
4025
4026
2.2.7.4.1 Inputs
4027
Required:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 109 of 236
4028
4029
4030
Optional:
4031
4032
4033
4034
Boolean major: If TRUE, then the Repository MUST returnthe properties for the latest major
version object in the Version Series.
o
If FALSE (default), the Repository MUST return the properties for the latest (major or nonmajor) version object in the Version Series.
4035
String filter: See Error! Reference source not found.section 2.2.1.2.1 Properties.
4036
4037
4038
4039
4040
4041
2.2.7.4.2 Outputs
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
4052
4053
objectNotFound: The Repository MUST throw this exception if the input parameter major is
TRUE and the Version Series contains no major versions.
4054
2.2.7.5 getPropertiesOfLatestVersion
4055
Description: Get a subset of the properties for the latest Document Object in the Version Series.
4056
2.2.7.5.1 Inputs
4057
Required:
4058
4059
4060
Optional:
4061
4062
4063
4064
4065
Boolean major: If TRUE, then the Repository MUST return the properties for the latest major
version object in the Version Series.
o
If FALSE (default), the Repository MUST return the properties for the latest (major or nonmajor) version object in the Version Series.
String filter: See Error! Reference source not found.section 2.2.1.2.1 Properties.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 110 of 236
4066
4067
4068
2.2.7.5.2 Outputs
<Array> Properties: The list of properties for the object.
4069
4070
4071
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
4072
4073
objectNotFound: The Repository MUST throw this exception if the input parameter major is
TRUE and the Version Series contains no major versions.
4074
2.2.7.6 getAllVersions
4075
4076
Description: Returns the list of all Document Objects in the specified Version Series, sorted by
cmis:creationDate descending.
4077
Notes:
4078
4079
The result set for this operation MUST include the Private Working Copy, subject to callers
access privileges.
4080
2.2.7.6.1 Inputs
4081
Required:
4082
4083
4084
Optional:
4085
String filter: See Error! Reference source not found.section 2.2.1.2.1 Properties.
4086
4087
4088
4089
2.2.7.6.2 Outputs
<Array> ObjectResults: A list of Document Objects in the specified Version Series. Each object
result MUST include the following elements if they are requested:
4090
4091
4092
4093
4094
4095
4096
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
4097
4098
4099
The Relationship Services (getObjectRelationships) are used to retrieve the dependent Relationship
objects associated with an independent object.
4100
2.2.8.1 getObjectRelationships
4101
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 111 of 236
4102
2.2.8.1.1 Inputs
4103
Required:
4104
4105
4106
4107
Optional:
4108
4109
4110
4111
Default is FALSE
4112
4113
If FALSE, then the Repository MUST only return relationships whose Object-Type is
equivalent to the given objects cmis:objectTypeId property value.
4114
4115
4116
4117
4118
source: (default) The Repository MUST return only relationship objects where the specified
object is the source object.
4119
4120
target: The Repository MUST return only relationship objects where the specified object is
the target object.
4121
4122
either: The Repository MUST return relationship objects where the specified object is
either the source or the target object.
4123
4124
4125
ID typeId: If specified, then the Repository MUST return only relationships whose Object-Type is
of the type specified (and possibly its descendant-types see next parameter.)
o
If not specified, then the repository MUST return Relationship objects of all types.
4126
4127
4128
4129
4130
4131
4132
2.2.8.1.2 Outputs
<Array> Objects: A list of the relationship objects. Each object result MUST include the following
elements if they are requested:
4133
4134
4135
4136
Optional:
4137
4138
4139
4140
4141
4142
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 112 of 236
4143
4144
4145
The Policy Services (applyPolicy, removePolicy, getAppliedPolicies) are used to apply or remove a policy
object to a controllablePolicy object.
4146
2.2.9.1 applyPolicy
4147
4148
2.2.9.1.1 Inputs
4149
Required:
4150
4151
4152
4153
4154
4155
4156
constraint : The Repository MUST throw this exception if the specified objects Object-Type
definitions attribute for controllablePolicy is FALSE.
4157
2.2.9.2 removePolicy
4158
4159
2.2.9.2.1 Inputs
4160
Required:
4161
4162
4163
4164
4165
4166
4167
constraint: The Repository MUST throw this exception if the specified objects Object-Type
definitions attribute for controllablePolicy is FALSE.
4168
2.2.9.3 getAppliedPolicies
4169
Description: Gets the list of policies currently applied to the specified object.
4170
2.2.9.3.1 Inputs
4171
Required:
4172
4173
4174
Optional:
4175
4176
4177
String filter: See Error! Reference source not found.section 2.2.1.2.1 Properties.
2.2.9.3.2 Outputs
<Array> Objects: A list of Policy Objects.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 113 of 236
4178
4179
4180
4181
filterNotValid: The Repository MUST throw this exception if this property filter input
parameter is not valid.
4182
4183
2.2.10.1 getACL
4184
Description: Get the ACL currently applied to the specified document or folder object.
4185
2.2.10.1.1 Inputs
4186
Required:
4187
4188
4189
Optional:
4190
4191
Boolean onlyBasicPermissions: See section 2.8 Access Control. The repository SHOULD
make a best effort to fully express the native security applied to the object
4192
4193
TRUE: (default value if not provided) indicates that the client requests that the returned
ACL be expressed using only the CMIS Basic permissions.
4194
4195
FALSE: indicates that the server may respond using either solely CMIS Basic
permissions, or repository specific permissions or some combination of both.
4196
4197
4198
4199
4200
4201
4202
2.2.10.1.2 Outputs
<Array> AccessControlEntryType: The list of access control entries of the ACL for the object.
Optional:
Boolean exact: An indicator that the ACL returned fully describes the permission for this object
i.e. there are no other security constraints applied to this object. Not provided defaults to FALSE.
4203
2.2.10.1.4 Notes
4204
4205
4206
4207
How an ACL for the object is computed is up to the repository. A client MUST NOT assume that the ACEs
from the ACL as returned by this service can be applied via applyACL.
4208
2.2.10.2 applyACL
4209
Description: Adds or removes the given ACEs to or from the ACL of document or folder object.
4210
2.2.10.2.1 Inputs
4211
Required:
4212
4213
4214
Optional:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 114 of 236
4215
4216
4217
4218
objectonly: ACEs must be applied without changing the ACLs of other objects.
4219
propagate: ACEs must be applied by propagate the changes to all inheriting objects.
4220
4221
repositorydetermined: Default value. Indicates that the client leaves the behavior to
the repository.
4222
2.2.10.2.2 Outputs
4223
4224
4225
Optional:
4226
4227
Boolean exact: An indicator that the ACL returned fully describes the permission for this object
i.e. there are no other security constraints applied to this object. Not provided defaults to FALSE.
4228
4229
<Array> AccessControlEntryType: The list of access control entries of the resulting ACL for the
object
4230
4231
4232
constraint: The Repository MUST throw this exception if ANY of the following conditions are
met:
4233
4234
4235
The value for ACLPropagation does not match the values as returned via
getACLCapabilities.
4236
4237
4238
At least one of the specified values for permission in ANY of the ACEs does not match
ANY of the permissionNames as returned by getACLCapability and is not a CMIS Basic
permission
4239
2.2.10.2.4 Notes
4240
4241
4242
4243
4244
How ACEs are added or removed to or from the object is up to the repository with respect to the
ACLPropagation provided by the client. For shared ACEs (e.g. via inheritance), the repository MAY
merge the ACEs provided with the ACEs of the ACL already applied to the object (i.e. the ACEs provided
MAY not be completely added or removed from the effective ACL for the object).
4245
4246
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 115 of 236
4247
4248
3.1 Overview
4249
4250
This binding is based upon the Atom (RFC4287) and Atom Publishing Protocol (RFC5023).
Implementations of CMIS MUST be compliant with RFC4287 and RFC5023.
4251
4252
4253
4254
In this binding, the client interacts with the repository by acquiring the service document. The client will
request the service document by the URI provided by the vendor. The client will then choose a CMIS
collection, and then start accessing the repository by following the references in the returned documents.
4255
4256
4257
4258
4259
This binding consists of a service document specifying at least CMIS service collections, atom collections,
feeds and entry documents. CMIS extends the Atom and AtomPub documents utilizing the Atom and
AtomPub extension mechanism. CMIS also leverages link tags to specify additional resources related to
the requested resource.
4260
4261
4262
When requesting a resource, optional parameters may be specified to change default behavior via query
parameters.
4263
3.1.1 Namespaces
4264
4265
This specification uses the following namespaces and prefixes when referring to xml or xml schema
elements in the text or examples:
4266
4267
4268
4269
4270
4273
Prefix: cmisra
Atom : http://www.w3.org/2005/Atom
o
Prefix: cmis
CMIS-RestAtom: http://docs.oasis-open.org/ns/cmis/restatom/200908/
o
4271
4272
CMIS-Core: http://docs.oasis-open.org/ns/cmis/core/200908/
Prefix: atom
AtomPub: http://www.w3.org/2007/app
o
Prefix: app
4274
4275
3.1.2 Authentication
4276
4277
Authentication SHOULD be handled by the transport protocol. Please see AtomPub (RFC5023) section
14.
4278
4279
4280
4281
4282
4283
The client can specify, in HTTP the Accept header, which formats are acceptable to the client. With this
mechanism the client can chose which response format the CMIS implementation should respond with.
The CMIS compliant implementation MUST support the appropriate Media Types specified in this
document.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 116 of 236
4284
4285
4286
The binding supports adding optional parameters to CMIS resources to modify the default behavior.
CMIS implementations MUST support arguments being specified as HTTP query string parameters.
4287
4288
4289
Names and valid values for HTTP query string parameters are as described in the appropriate CMIS
Service descriptions [see CMIS Domain Model]. Valid values of enumeration types are also represented
in the CMIS Core XML Schema
4290
4291
4292
4293
Repositories SHOULD provide sufficient information in the body of the HTTP response for a user to
determine corrective action.
4294
4295
3.1.6 Renditions
4296
4297
Each Rendition included in a CMIS AtomPub response is represented as an Atom link with relationship
alternate.
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
The content stream for a document SHOULD be referenced by the content src attribute as well as the
edit-media link relation.
4310
4311
A CMIS Repository MAY use different URIs for both content src attribute and the edit-media link relation
for the same content stream.
4312
4313
4314
4315
4316
4317
For paging, please see the AtomPub RFC. CMIS leverages first, next, previous, and last link relations to
express paging.
4318
4319
If the repository can include the number of items (numItems in CMIS Domain Model) in a feed, then the
repository SHOULD include the cmisra:numItems extension element in the feed.
4320
4321
4322
4323
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 117 of 236
4324
4325
createDocumentFromSource: This is not exposed in this binding except as the client saving the
resource and resubmitting it without the cmis:objectId.
4326
4327
4328
4329
4330
4331
This is currently not possible with the REST binding. The Create or Checkin operation
must be performed first, then the dependent resource, ACL, must be retrieved and
updated.
4332
4333
setContentStream: This does not return the new object id and change token as specified by the
domain model. This is not possible without introducing a new HTTP header.
4334
4335
deleteContentStream: This does not return the new object id and change token as specified by
the domain model. This is not possible without introducing a new HTTP header.
4336
4337
checkOut: This does not return whether or not content was copied. This is not possible without
introducing a new HTTP header.
4338
3.1.9.1 removePolicy
4339
4340
This service is exposed from the domain model in the RESTful Atom Binding. However, it is not as
straightforward. To remove a policy from an object, one must do:
4341
4342
4343
Walk through the feed and find the policy object where cmis:objectId == policy id to remove.
4344
4345
4346
4347
4348
This is also the only case in the RESTful Atom Binding where an URI in a collection (policies) is specific
to that collection.
4349
3.2 HTTP
4350
4351
4352
4353
CMIS changeTokens are represented as Entity Tags and follow HTTPs use of Entity Tags. CMIS server
implementations SHOULD support Entity Tags. ChangeTokens are also provided as properties and
SHOULD be provided when the object is included inside an atom entry or feed.
4354
4355
4356
4357
4358
4359
The repository MAY support the HTTP OPTIONS method on all the resources defined in this
specification. If the repository supports OPTIONS, then the repository MUST at least return the HTTP
methods specified for that resource in the Allow header.
4360
4361
4362
4363
CommonPlease see the HTTP specification for more information on the HTTP status codes. These are
provided as guidance from the HTTP specification. If any conflict arises, the HTTP specification is
authoritative.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 118 of 236
4364
4365
4366
The following listing defines the HTTP status codes that repositories MUST return for the various common
exceptions defined in CMIS Domain Model.
4367
4368
invalidArgument
400
4369
objectNotFound
404
4370
permissionDenied
403
4371
operationNotSupportednotSupported
4372
updateConflict
409
4373
runtime
500
4374
405
4375
4376
constraint
409
4377
filterNotValid
400
4378
streamNotSupported
403
4379
storage
500
4380
contentAlreadyExists
409
4381
versioning
409
4382
updateConflict
409
4383
nameConstraintViolation
409
4384
4385
4386
4387
4388
4389
4390
4391
When a document is POSTed to a collection that does not support the media type of the
document, this status code MUST be returned
When a request has been POSTed but cannot be processed, this status code MUST be
returned
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
In addition to those media types specified by CMIS, CMIS also leverages these media types:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 119 of 236
4404
4405
4406
4407
4408
4409
Type Parameters:
4410
4411
type the semantics of the type parameter MUST be the same as the media type parameter for
atom documents.
4412
4413
4414
4415
This allows clients to differentiate between repositories that require atom media type with CMIS
extensions (application/cmisatom+xml) for creation and repositories that allow generic atom media type
without CMIS extensions (application/atom+xml).
4416
4417
4418
4419
This is only used for CMIS repositories to advertise what media types are accepted for adding to a
collection (e.g., creating resources in a collection). As such CMIS does not require specifying whether an
atom feed has CMIS markup. It is included to be consistent with the Atom media type.
4420
4421
4422
4423
All feeds and entries from a CMIS repository MUST utilize the atom media type for exposing Atom
resources. Please see the individual resources for more information on the media type. This provides
the interoperability with Atom clients.
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:entry xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:author>
<atom:name>Al Brown</atom:name>
</atom:author>
<atom:id>urn:uuid:5f716462-7b6b-4a0d-bd1d-34677d5514d7efe0542e-8933-4b3e93f2-4d1caa3fc2d9</atom:id>
<atom:title type="text">CMIS Example Document</atom:title>
<atom:updated>2009-10-19T10:09:59.296-072010-01-25T10:20:58.31808:00</atom:updated>
<atom:content type="text">some text</atom:content>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>invoice</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:name"
propertyDefinitionId="cmis:name">
<cmis:value>CMIS Example Document</cmis:value>
</cmis:propertyString>
</cmis:properties>
</cmisra:object>
</atom:entry>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 120 of 236
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cmis:query xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<cmis:statement>SELECT * FROM cmis:document</cmis:statement>
<cmis:searchAllVersions>true</cmis:searchAllVersions>
<cmis:includeAllowableActions>false</cmis:includeAllowableActions>
<cmis:includeRelationships>none</cmis:includeRelationships>
<cmis:renditionFilter>*</cmis:renditionFilter>
<cmis:maxItems>50</cmis:maxItems>
<cmis:skipCount>0</cmis:skipCount>
</cmis:query>
4477
4478
Please also see the example documents included with the schema.
4479
4480
4481
4482
4483
4484
4485
This document contains the representation of the allowable actions the user may perform on the
referenced object.
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cmis:allowableActions xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<cmis:canDeleteObject>true</cmis:canDeleteObject>
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
<cmis:canGetProperties>true</cmis:canGetProperties>
<cmis:canGetObjectRelationships>true</cmis:canGetObjectRelationships>
<cmis:canGetObjectParents>true</cmis:canGetObjectParents>
<cmis:canMoveObject>true</cmis:canMoveObject>
<cmis:canDeleteContentStream>true</cmis:canDeleteContentStream>
<cmis:canCheckOut>true</cmis:canCheckOut>
<cmis:canCancelCheckOut>true</cmis:canCancelCheckOut>
<cmis:canCheckIn>true</cmis:canCheckIn>
<cmis:canSetContentStream>true</cmis:canSetContentStream>
<cmis:canGetAllVersions>true</cmis:canGetAllVersions>
<cmis:canAddObjectToFolder>true</cmis:canAddObjectToFolder>
<cmis:canRemoveObjectFromFolder>true</cmis:canRemoveObjectFromFolder>
<cmis:canGetContentStream>true</cmis:canGetContentStream>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 121 of 236
4509
4510
4511
4512
4513
<cmis:canApplyPolicy>true</cmis:canApplyPolicy>
<cmis:canGetAppliedPolicies>true</cmis:canGetAppliedPolicies>
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
<cmis:canCreateDocument>true</cmis:canCreateDocument>
</cmis:allowableActions>
4514
4515
Please also see the example documents included with the schema.
4516
4517
4518
4519
4520
4521
This document is an atom feed (application/atom+xml;type=feed) with CMIS markup to nest a hierarchy.
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:title type="text">Feed for folder1</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:09:59.515-072010-01-25T10:20:58.53608:00</atom:updated>
<atom:id>urn:uuid:08d13325-cba1-4290-95e3-f485068b08e84a80905c-f774-4a9ea57d-bf0dae5a796e</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/4f942e30-895c-4c82-9b3158f639b6c2d7cf3c076e-36e9-4ace-8fed-41e0d92dfc71/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/4f942e30-895c-4c82-9b3158f639b6c2d7cf3c076e-36e9-4ace-8fed-41e0d92dfc71"/>
<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasisopen.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasisopen.org/rep1/4f942e30-895c-4c82-9b31-58f639b6c2d7cf3c076e-36e9-4ace-8fed41e0d92dfc71/foldertree"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/4f942e30-895c-4c82-9b3158f639b6c2d7cf3c076e-36e9-4ace-8fed-41e0d92dfc71/children"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/b8803070-0253-4160-9ad626ad7adbf561bb11830c-7d1e-4b0f-9ff2-af4857c49200"/>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 122 of 236
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/962b4fb8aefa-4d0c-8562-a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4"/>
<atom:id>urn:uuid:962b4fb8-aefa-4d0c-8562-a84e297e810763a9c18c-5e314590-8462-86d181e345a4</atom:id>
<atom:title type="text">CMIS Example Folder as Customer
type</atom:title>
<atom:updated>2009-10-19T10:09:59.515-072010-01-25T10:20:58.53608:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/962b4fb8-aefa-4d0c-8562-a84e297e810763a9c18c-5e31-4590-846286d181e345a4"/>
<atom:link rel="edit" href="http://cmisexample.oasisopen.org/rep1/962b4fb8-aefa-4d0c-8562-a84e297e810763a9c18c-5e31-4590-846286d181e345a4"/>
<atom:link type="application/cmis+xml;type=allowableActions"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/allowableactions"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/type"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:published>2009-10-19T10:09:59.515-072010-01-25T10:20:58.53608:00</atom:published>
<atom:summary type="html">HTML summary of Entry 962b4fb8-aefa-4d0c8562-a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4</atom:summary>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/up"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/children"/>
<atom:link type="application/cmistree+xml" rel="down"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/tree"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/foldertree"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/relationships"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/policies"/>
<atom:link type="application/cmisacl+xml" rel="http://docs.oasisopen.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasisopen.org/rep1/962b4fb8-aefa-4d0c-8562-a84e297e810763a9c18c-5e31-4590-846286d181e345a4/acl"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>962b4fb8-aefa-4d0c-8562-a84e297e810763a9c18c5e31-4590-8462-86d181e345a4</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
<cmisra:pathSegment>customer</cmisra:pathSegment>
<cmisra:children>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 123 of 236
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
<atom:feed>
<atom:title type="text">CMIS Example Folder as Customer
type</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:09:59.515-072010-0125T10:20:58.536-08:00</atom:updated>
<atom:id>urn:uuid:084edab9-418a-42b9-813fcf450418181d51b5c0cd-e473-4492-82b3-666fbf913cf0</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/foldertree"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/962b4fb8-aefa-4d0c-8562a84e297e810763a9c18c-5e31-4590-8462-86d181e345a4/children"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/4f942e30-895c-4c82-9b3158f639b6c2d7cf3c076e-36e9-4ace-8fed-41e0d92dfc71"/>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasisopen.org/rep1/fba295fd-c8ed-40d1-8ddc-93671a9c89a520cb7e68-0a7e-46ea-87e009fb8d85286e"/>
<atom:id>urn:uuid:fba295fd-c8ed-40d1-8ddc93671a9c89a520cb7e68-0a7e-46ea-87e0-09fb8d85286e</atom:id>
<atom:title type="text">CMIS Example Doc as Invoice
type</atom:title>
<atom:updated>2009-10-19T10:09:59.515-072010-0125T10:20:58.536-08:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/fba295fd-c8ed-40d1-8ddc-93671a9c89a520cb7e68-0a7e-46ea-87e009fb8d85286e"/>
<atom:link rel="edit" href="http://cmisexample.oasisopen.org/rep1/fba295fd-c8ed-40d1-8ddc-93671a9c89a520cb7e68-0a7e-46ea-87e009fb8d85286e"/>
<atom:link
type="application/cmis+xml;type=allowableActions" rel="http://docs.oasisopen.org/ns/cmis/link/200908/allowableactions" href="http://cmisexample.oasisopen.org/rep1/fba295fd-c8ed-40d1-8ddc-93671a9c89a520cb7e68-0a7e-46ea-87e009fb8d85286e/allowableactions"/>
<atom:link type="application/atom+xml;type=entry"
rel="describedby" href="http://cmisexample.oasis-open.org/rep1/fba295fd-c8ed40d1-8ddc-93671a9c89a520cb7e68-0a7e-46ea-87e0-09fb8d85286e/type"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:published>2009-10-19T10:09:59.515-072010-0125T10:20:58.536-08:00</atom:published>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 124 of 236
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 125 of 236
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
<atom:link type="application/cmis+xml;type=allowableActions"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions"
href="http://cmisexample.oasis-open.org/rep1/affc2158-6c8f-4245-a045688225f8c2ad1de1d476-11fb-47bf-b136-8a8d0b4b030a/allowableactions"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby"
href="http://cmisexample.oasis-open.org/rep1/affc2158-6c8f-4245-a045688225f8c2ad1de1d476-11fb-47bf-b136-8a8d0b4b030a/type"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:published>2009-10-19T10:09:59.531-072010-01-25T10:20:58.56808:00</atom:published>
<atom:summary type="html">HTML summary of Entry affc2158-6c8f-4245a045-688225f8c2ad1de1d476-11fb-47bf-b136-8a8d0b4b030a</atom:summary>
<atom:link rel="edit-media" href="http://cmisexample.oasisopen.org/rep1/affc2158-6c8f-4245-a045-688225f8c2ad1de1d476-11fb-47bf-b1368a8d0b4b030a/edit-media"/>
<atom:link rel="alternate" href="http://cmisexample.oasisopen.org/rep1/affc2158-6c8f-4245-a045-688225f8c2ad1de1d476-11fb-47bf-b1368a8d0b4b030a/alternate"/>
<atom:link type="application/atom+xml;type=feed" rel="up"
href="http://cmisexample.oasis-open.org/rep1/affc2158-6c8f-4245-a045688225f8c2ad1de1d476-11fb-47bf-b136-8a8d0b4b030a/parents"/>
<atom:link type="application/atom+xml;type=feed" rel="version-history"
href="http://cmisexample.oasis-open.org/rep1/affc2158-6c8f-4245-a045688225f8c2ad1de1d476-11fb-47bf-b136-8a8d0b4b030a/allversions"/>
<atom:link type="application/atom+xml;type=entry" rel="currentversion" href="http://cmisexample.oasis-open.org/rep1/affc2158-6c8f-4245-a045688225f8c2ad1de1d476-11fb-47bf-b136-8a8d0b4b030a/latest"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships"
href="http://cmisexample.oasis-open.org/rep1/affc2158-6c8f-4245-a045688225f8c2ad1de1d476-11fb-47bf-b136-8a8d0b4b030a/relationships"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies"
href="http://cmisexample.oasis-open.org/rep1/affc2158-6c8f-4245-a045688225f8c2ad1de1d476-11fb-47bf-b136-8a8d0b4b030a/policies"/>
<atom:link type="application/cmisacl+xml" rel="http://docs.oasisopen.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasisopen.org/rep1/affc2158-6c8f-4245-a045-688225f8c2ad1de1d476-11fb-47bf-b1368a8d0b4b030a/acl"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>affc2158-6c8f-4245-a045-688225f8c2ad1de1d47611fb-47bf-b136-8a8d0b4b030a</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
<cmisra:pathSegment>invoice3.pdf</cmisra:pathSegment>
</atom:entry>
</atom:feed>
4806
4807
4808
4809
Note: This media type is used on links with relation down (see section 3.2.3.2 Hierarchy Navigation
Internet Draft Link Relations). When the individual resources are returned by the CMIS repository they
will use the atom media type (application/atom+xml)
4810
4811
Please also see the example documents included with the schema.
4812
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 126 of 236
4813
4814
4815
4816
4817
This document specifies an Access Control List based on the schema in CMIS Domain Model.
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cmis:acl xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<cmis:permission>
<cmis:principal>
<cmis:principalId>Al Brown</cmis:principalId>
</cmis:principal>
<cmis:permission>cmis:read</cmis:permission>
<cmis:permission>cmis:write</cmis:permission>
<cmis:permission>cmis:all</cmis:permission>
<cmis:permission>publish</cmis:permission>
<cmis:direct>true</cmis:direct>
</cmis:permission>
</cmis:acl>
4837
4838
Please also see the example documents included with the schema.
4839
4840
4841
4842
4843
3.4.1.1.1 cmisra:collectionType
4844
This element is included inside the app:collection element. This specifies the cmis collection type.
4845
3.4.1.1.2 cmisra:repositoryInfo
4846
4847
This element is included inside the app:workspace element. This specifies information about the CMIS
repository.
4848
3.4.1.1.3 cmis:uritemplate
4849
4850
This element is included inside the app:workspace element. This specifies information about URI
templates
4851
4852
3.4.1.2.1 cmisra:numItems
4853
This element is included inside the atom:feed element. This specifies the number of items in the feed.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 127 of 236
4854
4855
3.4.1.3.1 cmisra:children
4856
4857
This element is included inside the atom:entry element. This includes the children of the atom entry. This
element MUST include an atom:feed element.
4858
4859
3.4.1.3.2 cmisra:object
4860
4861
This element is included inside the atom:entry element for CMIS Document, Folder, Relationship and
Policy objects. This specifies the CMIS object information for the atom entry.
4862
4863
3.4.1.3.3 cmisra:pathSegment
4864
4865
This element is included inside the atom:entry element for CMIS Type Definitions that are filable. This
specifies the pathSegment for this object in the folder representing the feed.
4866
4867
3.4.1.3.4 cmisra:relativePathSegment
4868
4869
This element is included inside the atom:entry element. This specifies the relative pathSegment for the
object in that particular folder. This MUST be used only inside an object parents feed.
4870
3.4.1.3.5 cmisra:type
4871
4872
This element is included inside the atom:entry element for CMIS Type Definitions. This specifies the type
definition the atom entry represents.
4873
3.4.1.3.6 cmisra:content
4874
4875
This element specifies the content of the atom:entry element. The content is base64 encoded. in the
base64 element. The elements of a cmisra:content element are:
4876
mediaType: This contains the media type of the content as described by RFC4288.
4877
4878
4879
This element MUST take precedence over atom:content on submission of an atom entry to a repository.
4880
4881
A repository MUST use the atom:content element to return back to the client the content of the document.
4882
4883
4884
Note: This is required when the client has an XML document stored that is might not be well formed and
thus would not be able to be included inside atom:content element.
4885
4886
3.4.2 Attributes
4887
4888
3.4.2.1 cmisra:id
4889
4890
This attribute is used on the atom:link element to specify the cmis id of the resource. This attribute
SHOULD be on all link relations that point to a CMIS object.
4891
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 128 of 236
4892
4893
This attribute MAY also be on cmisra:type. The value of the attribute on cmis:type MUST be the same as
the type definition id.
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:link xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/" type="application/atom+xml;type=feed"
rel="down" href="http://cmisexample.oasis-open.org/rep1//children/ba2cb7936d6d-48cd-b6c2-62dcddedc4b5e170da7d-d322-472d-b1eb-67bdb1ec18ca/1"
cmisra:id="ba2cb793-6d6d-48cd-b6c2-62dcddedc4b5e170da7d-d322-472d-b1eb67bdb1ec18ca"/>
4906
4907
Please also see the example documents included with the schema.
4908
4909
3.4.2.2 cmisra:renditionKind
4910
4911
This attribute is used on the atom:link element with relation alternate to specify the renditionKind of the
resource. This attribute SHOULD be on all link elements with relation alternate that are a CMIS rendition.
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:link xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/" type="text/html" rel="alternate"
href="http://cmisexample.oasis-open.org/rep1//rendition/ba2cb793-6d6d-48cdb6c2-62dcddedc4b5e170da7d-d322-472d-b1eb-67bdb1ec18ca/1"
cmisra:renditionKind="cmis:thumbnail"/>
4923
4924
Please also see the example documents included with the schema.
4925
4926
4927
4928
The listing below outlines the different link relation types in CMIS. This is in addition to the link relations
specified by Atom and Atom Publishing Protocol. The registry for link relations is located at
http://www.iana.org/assignments/link-relations/link-relations.xhtml.
4929
4930
4931
4932
4933
The link element with a specified relation MUST be included if client can perform the operation. The
repository SHOULD omit the link relation if the operation is not available. The operation may not be
available due to a variety of reasons such as access control, administrative policies, or other
mechanisms.
4934
4935
4936
4937
4938
Links may have the following attribute in addition to the ones specified by Atom and Atom Publishing
Protocol:
(CMIS) id: Specifies the CMIS ID of the resource referenced by the link. Repositories SHOULD
include this attribute for elements such as atom:link that point to CMIS resources that have an id.
4939
4940
11 January 2010
Page 129 of 236
4941
4942
4943
Existing link relations should be used where appropriate by the implementation. In addition, the following
link relations are leveraged for the CMIS specification:
4944
self
4945
This link relation provides the URI to retrieve this resource again.
4946
Service: The appropriate service that generated the atom entry or feed.
4947
4948
service
4949
4950
4951
The service link relation when provided on a CMIS resource MUST point to an AtomPub
service document with only one workspace element. This workspace element MUST
represent the repository containing that resource.
4952
4953
4954
describedby
4955
4956
When used on a CMIS resource, this link relation MUST point to an atom entry that
describes the type of that resource.
4957
4958
4959
4960
Resources: CMIS Document, CMIS Folder, CMIS Relationship, CMIS Policy objects and
CMIS Types
4962
4963
When used on an Atom Feed document, this link relation MUST point to the atom entry
representing the CMIS resource from whom this feed is derived.
4964
4965
4961
4966
via
edit-media
4967
4968
4969
When used on a CMIS document resource, this link relation MUST point to the URI for
content stream of the CMIS document. This URI MUST be used to set or delete the
content stream. This URI MAY be used to retrieve the content stream for the document.
4970
4971
4972
4974
4975
When used on a CMIS resource, this link relation MUST provide an URI that can be used
with the HTTP PUT method to modify the atom:entry for the CMIS resource
4973
edit
4976
4977
4978
Resources: CMIS Documents, CMIS Folders, CMIS Relationships and CMIS Policies
4979
alternate
4980
This is used to express Renditions on a CMIS resource. See section 3.2.7 Renditions.
4981
4982
4983
4984
first
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 130 of 236
4985
4986
4987
previous
4988
4989
4990
4991
next
4992
4993
4994
4996
4997
4998
4995
last
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
CMIS leverages the following link relations from the Internet Draft:
up
5009
5010
5011
5012
5013
Resources: CMIS Document, CMIS Folder, CMIS Type Definitions, CMIS Folder
Children, CMIS Folder Descendants, CMIS FolderTree, CMIS Type Children, CMIS Type
Descendants
5014
5015
5016
This link relation is not included on CMIS Base Type Definitions or the CMIS
Root Folder
down
5017
5018
Media Type:
5019
5020
5021
5022
5023
The descendants feed resource when retrieved from the CMIS repository
will use the Atom Feed Media Type (application/atom+xmll;type=feed)
5024
5025
5026
11 January 2010
Page 131 of 236
5027
5028
5029
CMIS leverages the following link relations from the Internet Draft:
version-history
5030
Service: getAllVersions
5031
5032
5033
current-version
5034
Service: getObjectForLatestVersion
5035
5036
5037
working-copy
5038
5039
5040
5041
5042
5043
5044
http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions
5045
5046
5047
Service: getAllowableActions
5048
5049
5050
5051
http://docs.oasis-open.org/ns/cmis/link/200908/relationships
5052
5053
This link relation MUST point to a resource containing an Atom Feed of CMIS
relationship resources for the CMIS resource containing this link relation.
5054
Service: getObjectRelationships
5055
5056
5057
http://docs.oasis-open.org/ns/cmis/link/200908/source
5058
5059
5060
When used on a CMIS Relationship resource, this link relation MUST point to an
atom entry document for the CMIS Resource specified by the cmis:sourceId
property on the relationship.
5061
5062
5063
5064
http://docs.oasis-open.org/ns/cmis/link/200908/target
5065
5066
5067
When used on a CMIS Relationship resource, this link relation MUST point to an
atom entry document for the CMIS Resource specified by the cmis:targetId
property on the relationship.
5068
5069
5070
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 132 of 236
5071
http://docs.oasis-open.org/ns/cmis/link/200908/policies
5072
5073
This link relation MUST point to a resource containing an Atom Feed of CMIS
Policy resources for the CMIS resource containing this link relation.
5074
Service: getAppliedPolicies
5075
5076
5077
http://docs.oasis-open.org/ns/cmis/link/200908/acl
5078
5079
This link relation MUST point to a resource containing a CMIS ACL document for
the CMIS resource containing this link relation.
5080
Service: getACL
5081
5082
5083
5084
http://docs.oasis-open.org/ns/cmis/link/200908/changes
5085
This link relation MUST point to an Atom Feed containing the set of changes
5086
Service: getContentChanges
5087
5088
5089
http://docs.oasis-open.org/ns/cmis/link/200908/foldertree
5090
5091
Used in AtomPub Service Document to identify the folder tree for a specified
folder
5092
Service: getFolderTree
5093
5094
Resources: CMIS Folder, also used in AtomPub Service Document for root folder
5095
http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants
5096
5097
Service: getTypeDescendants
5098
5099
5100
http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants
5101
5102
5103
5104
5105
5106
5107
For all Atom Resources used in this specification, the following MUST be followed:
5108
3.5.1 Feeds
5109
Any feed MUST be a valid Atom Feed document and conform to the guidelines below for cmis objects:
5110
5111
atom:updated SHOULD be the latest time the folder or its contents was updated. If unknown by
the underlying repository, it MUSTbe the current time.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 133 of 236
5112
5113
5114
5115
5116
The atom:link with relation self MUST be generated to return the URI of the feed. If paging or any
other mechanism is used to filter, sort, or change the representation of the feed, the URI MUST
point back a resource with the same representation.
5117
5118
A feed SHOULD contain the element app:collection, describing the appropriate media types
supported for creation of new entries in the feed
5119
5120
atom:id SHOULD be derived from cmis:objectId. This id MUST be compliant with atoms
specification and be a valid URI.
5121
5122
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.
5123
5124
Any feed MUST be a valid Atom Feed document and conform to the guidelines below for cmis types:
5125
5126
atom:updated SHOULD be the latest time type definition was updated. If unknown by the
underlying repository, it MUSTbe the current time.
5127
5128
5129
The atom:link with relation self MUST be generated to return the URI of the feed
5130
5131
atom:id SHOULD be derived from the id attribute of the CMIS Type Definition. This id MUST be
compliant with atoms specification and be a valid URI.
5132
5133
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.
5134
5135
5136
5137
5138
5139
5140
5141
5142
3.5.2 Entries
5143
5144
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 for a cmis object:
5145
5146
5147
5148
5149
5150
5151
All CMIS properties MUST be exposed in CMIS cmis:properties elements even if they are
duplicated in an atom element
5152
5153
atom:id SHOULD be derived from cmis:objectId. This id MUST be compliant with atoms
specification and be a valid URI.
5154
5155
5156
The repository SHOULD populate the atom:summary tag with text that best represents a
summary of the object. For example, an HTML table containing the properties and their values or
the description of the document if available.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 134 of 236
5157
5158
5159
5160
5161
5162
The repository SHOULD use the atom:content/src attribute to point to the content stream.
The client SHOULD use cmisra:content if the content is not well-formed or would have
trouble fitting inside an atom:content element. The repository MUST use the
cmisra:content element if provided by the client over the atom:content element.
5163
5164
5165
Other Objects (Folders, Relationships, and other Document Types that do not support Content
Streams, etc):
5166
5167
5168
5169
The repository MUST comply with the atom specification and have an atom:content
element. This is repository specific. Any value in the content field MUST be ignored if the
atom entry represents a non-document object by the CMIS repository when the atom
entry is POSTed to a collection or sent to the repository via a PUT.
5170
5171
5172
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.
5173
5174
5175
At any point where an Atom document of CMIS Type is sent or returned, it must be a valid Atom Entry
document and conform to the guidelines below for a cmis type definition:
5176
5177
5178
The repository SHOULD populate the atom:summary tag with text that best represents a
summary of the object. For example, the type description if available.
5179
5180
5181
5182
The repository MUST comply with the atom specification and have an atom:content element. This
is repository specific. Any value in the content field MUST be ignored if the atom entry represents
a non-document object by the CMIS repository when the atom entry is POSTed to a collection or
sent to the repository via a PUT.
5183
5184
5185
5186
5187
5188
The repository SHOULD NOT provide any links to hierarchical objects if those capabilities are not
supported with the exception of getTypeDescendants which is required
5189
5190
5191
5192
For atom entries that are hierarchical such as Folder Tree or Descendants, the repository MUST populate
a cmisra:children element in the atom:entry with the enclosing feed of its direct children. This pattern
continues until the depth is satisfied.
5193
5194
5195
The cmisra:children element that MUST be included ininclude an atom entry::feed element that contains
the children entries of this resource.
5196
5197
5198
5199
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.
5200
5201
5202
For Example, here is a minimal Atom Entry with CMIS Children Extension Element:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 135 of 236
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
<atom:entry xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:author>
<atom:name>Al Brown</atom:name>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/78a66015-ffd34233-85d3-39cad56fa091af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef"/>
<atom:id>urn:uuid:78a66015-ffd3-4233-85d3-39cad56fa091af1d8c7f-b554-4dfbbfe1-1f41e4b34fef</atom:id>
<atom:title type="text">CMIS Example Folder as Customer type</atom:title>
<atom:updated>2009-10-19T10:09:58.906-072010-01-25T10:20:57.81808:00</atom:updated>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>78a66015-ffd3-4233-85d3-39cad56fa091af1d8c7f-b5544dfb-bfe1-1f41e4b34fef</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
<cmisra:pathSegment>customer</cmisra:pathSegment>
<cmisra:children>
<atom:feed>
<atom:title type="text">CMIS Example Folder as Customer
type</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:09:58.906-072010-01-25T10:20:57.81808:00</atom:updated>
<atom:id>urn:uuid:d05a1c90-bb02-42e2-baba-f51366e701c1ce2d65afb246-454b-90ff-0986d9b05178</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/78a66015-ffd3-4233-85d339cad56fa091af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/78a66015-ffd3-4233-85d339cad56fa091af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree"
href="http://cmisexample.oasis-open.org/rep1/78a66015-ffd3-4233-85d339cad56fa091af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef/foldertree"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/78a66015-ffd3-4233-85d339cad56fa091af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef/children"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/c84ae842-15a2-4571-93fe65cca95faa242eb09309-58f7-4627-b735-4d5cf4ba6554"/>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
</atom:author>
<atom:content src="http://cmisexample.oasisopen.org/rep1/78a66015-ffd3-4233-85d3-39cad56fa091af1d8c7f-b554-4dfb-bfe11f41e4b34fef"/>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 136 of 236
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
<atom:id>urn:uuid:78a66015-ffd3-4233-85d339cad56fa091af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef</atom:id>
<atom:title type="text">CMIS Example Child of
Folder</atom:title>
<atom:updated>2009-10-19T10:09:58.906-072010-0125T10:20:57.818-08:00</atom:updated>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>78a66015-ffd3-4233-85d339cad56fa091af1d8c7f-b554-4dfb-bfe1-1f41e4b34fef</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
<cmisra:pathSegment>document</cmisra:pathSegment>
</atom:entry>
</atom:feed>
</cmisra:children>
</atom:entry>
5287
Please also see the example documents included with the schema.
5288
5289
5290
The AtomPub Service Document contains the set of repositories that are available. Each repository is
mapped to a app:workspace element in the AtomPub Service document.
5291
5292
5293
5294
5295
5296
5297
5298
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.
5299
5300
5301
5302
The service document will be available from Atom Entry and Atom Feed documents via a link relationship,
service. That AtomPub service document MUST contain only one workspace element which MUST be
the workspace representing the repository containing the Atom Entry or Atom Feed document.
5303
5304
5305
5306
5307
A workspace element for a CMIS repository MUST have a collection element for each of following
collections: Each collection MUST also contain a cmisra:collectionType attributeelement with the given
value:
5308
5309
cmisra:collectiontype=root
5310
Types Children Collection: Collection containing all the base types in the repository
5311
5312
cmisra:collectiontype=types
5313
5314
5315
The workspace element SHOULD contain these collections if the repository supports this functionality:
CheckedOut collection: collection containing all checked out documents user can see
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 137 of 236
5316
checkedout
5317
cmisra:collectiontype=checkedout
5318
5319
query
5320
cmisra:collectiontype=query
5321
Unfiled folder: Folder for posting documents to be unfiled; read can be disabled
5322
unfiled
5323
cmisra:collectiontype=unfiled
5324
5325
The repository MUST include the URI templates in the workspace elements.
5326
5327
5328
5329
5330
The workspace element MUST also contain the following link element with the relation:
5331
5332
5333
The workspace element MUST contain the following link elements of the following relations for those
services which are supported by the repository:
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
The workspace element may include app:collection element for the collections that represent folders in
the repository. However, an alternative approach, especially for a repository with many folders, is to not
enumerate those collections here, but include the app:collection element per RFC5023 in the Atom Feed
document.
5345
5346
5347
5348
objectbyid
5349
objectbypath
5350
query
5351
typebyid
5352
5353
5354
objectbyid
5355
objectbypath
5356
typebyid
5357
5358
Repositories MUST provide the URI Template query if the repository supports query.
5359
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 138 of 236
5360
5361
5362
Repositories MAY extend that set of templates. Those URI Template Types will be repository specific.
Repositories MAY have more than one entry per URI Template type if the entries have different media
types.
5363
5364
5365
5366
URI Templates are simple replacement of the template parameter with the specified value. If a client
does not want to specify a value for some of these variables, then the client MUST substitute an empty
string for the variable.
5367
5368
5369
For example, if the URI template that supports the variable {id} is
http://example.org/rep1/getbyid/{id}
5370
5371
5372
If the client wants to find the entry for an object with an id of obj_1 then the URI would be:
http://example.org/rep1/getbyid/obj_1
5373
5374
5375
Arguments that are substituted for URI template parameters MUST be percent escaped according to
RFC3986. Please see that RFC for more information.
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
Please also see the example documents included with the schema.
5408
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 139 of 236
5409
3.6.1.1 Object By Id
5410
5411
This URI template provides a method for creating an URI that directly accesses an atom entry
representing documents, folders, policies or relationship objects. See section 3.8 for more information.
5412
5413
Type: objectbyid
5414
5415
5416
Service: getObjectById
5417
5418
5419
{id}: Id of object
5420
5421
{includeAllowableActions}
5422
5423
5424
5425
5428
5429
5426
5427
{renditionFilter}
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cmisra:uritemplate xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<cmisra:template>http://cmisexample.oasisopen.org/rep1/objectbyid/{id}?filter={filter}&includeAllowableActions={inc
ludeAllowableActions}&includePolicyIds={includePolicyIds}&includeRelat
ionships={includeRelationships}&includeACL={includeACL}</cmisra:template>
<cmisra:type>objectbyid</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
5447
5448
Please also see the example documents included with the schema.
5449
5450
5451
This URI template provides a method for creating an URI that directly accesses an atom entry
representing documents, folders or policy objects. See section 3.8 for more information.
5452
5453
Type: objectbypath
5454
11 January 2010
Page 140 of 236
5455
5456
Service: getObjectByPath
5457
5458
5459
5460
5461
5462
5463
5464
5465
5468
5469
5466
5467
{renditionFilter}
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cmisra:uritemplate xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<cmisra:template>http://cmisexample.oasisopen.org/rep1/objectbypath?p={path}&filter={filter}&includeAllowableAc
tions={includeAllowableActions}&includePolicyIds={includePolicyIds}&in
cludeRelationships={includeRelationships}&includeACL={includeACL}</cmisra:
template>
<cmisra:type>objectbypath</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
5489
5490
Please also see the example documents included with the schema.
5491
5492
3.6.1.3 Query
5493
Type: query
5494
5495
5496
Service: query
5497
5498
5499
5500
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 141 of 236
5501
5502
5503
{includeAllowableActions}: Boolean
5504
{includeRelationships}: Boolean
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cmisra:uritemplate xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<cmisra:template>http://cmisexample.oasisopen.org/rep1/query?q={q}&searchAllVersions={searchAllVersions}&maxIte
ms={maxItems}&skipCount={skipCount}&includeAllowableActions={includeAl
lowableActions}=&includeRelationships={includeRelationships}</cmisra:templ
ate>
<cmisra:type>query</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=feed</cmisra:mediatype>
</cmisra:uritemplate>
5523
5524
Please also see the example documents included with the schema.
5525
5526
3.6.1.4 Type By Id
5527
Type: typebyid
5528
5529
5530
Service: getTypeDefinition
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cmisra:uritemplate xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<cmisra:template>http://cmisexample.oasisopen.org/rep1/type?id={id}</cmisra:template>
<cmisra:type>query</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
5548
5549
Please also see the example documents included with the schema.
5550
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 142 of 236
5551
5552
5553
3.6.2.1 GET
5554
5555
This retrieves the AtomPub Service document for a specified repository. This exposes the capabilities
defined in getRepositories and getRepositoryInfo in the Domain Model.
5556
5557
5558
repositoryId:
5559
5560
This query parameter allows a client to specify a different repository than the one that is
referenced by the URI.
5561
5562
If specified, the repository MUST return the AtomPub services document for the specified
repository if that repository exists.
5563
5564
If not specified, the repository MUST return the service document for the repository that is
referenced by URI.
5565
5566
5567
These are the collections that are included on an AtomPub Service document in the workspace element.
5568
5569
For any HTTP verb not specified on a resource,each implementation MAY chose to implement that HTTP
verb in a repository-specific manner.
5570
5571
This is a collection described in the service document. Please see Folder Children.
5572
5573
5574
5575
5576
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.
5577
5578
5579
POST: Query
5580
5581
5582
Accept:
5583
5584
5585
5586
5587
5588
5589
5590
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 143 of 236
5591
5592
5593
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
5594
5595
5596
The following CMIS Atom extension element MUST be included inside the atom entries:
5597
5598
3.7.2.1 POST
5599
5600
5601
5602
5603
5604
Upon submission (creation) of a query document, a response must be returned with a Location header
representing the feed for that query. If the query cannot be performed and an atom feed returned, the
repository MUST return the appropriate HTTP status code. In addition, the server SHOULD return the
feed directly. If the server does so, the server should also return the Content-Location header.
5605
5606
The feed returned MUST contain a set of atom entries representing the result set from the query.
5607
5608
5609
5610
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.
5611
5612
5613
If all the selected properties can be mapped to the same type reference, then the repository MAY include
additional information in the atom entry.
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
5629
5630
5631
5632
5633
5634
5635
5636
5637
11 January 2010
Page 144 of 236
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
<cmis:query xmlns:app="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<cmis:statement>SELECT cmis:objectId FROM cmis:document</cmis:statement>
<cmis:searchAllVersions>true</cmis:searchAllVersions>
<cmis:includeAllowableActions>false</cmis:includeAllowableActions>
<cmis:includeRelationships>none</cmis:includeRelationships>
<cmis:renditionFilter>*</cmis:renditionFilter>
<cmis:maxItems>50</cmis:maxItems>
<cmis:skipCount>0</cmis:skipCount>
</cmis:query>
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
11 January 2010
Page 145 of 236
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
Please also see the example documents included with the schema.
5712
5713
5714
5715
This is a collection described in the service document that contains allthe private working copies (PWCs)
of the checkedout documents in the repository.
5716
CMIS Services:
5717
GET: getCheckedOutDocs
5718
POST: checkOut
5719
5720
Accept:
5721
5722
application/atom+xml;type=entry or
5723
application/cmisatom+xml
5724
5725
5726
5727
5728
Link Relations:
5729
5730
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
5731
5732
5733
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
5734
5735
5736
The following CMIS Atom extension element MUST be included inside the atom entries:
5737
5738
3.7.3.1 GET
5739
The following arguments may be supplied. Please see the domain model for more information:
5740
filter
5741
folderId
5742
maxItems
5743
skipCount
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 146 of 236
5744
renditionFilter
5745
includeAllowableActions
5746
includeRelationships
5747
3.7.3.2 POST
5748
5749
When an atom entry is POSTed to this collection, the atom entry will be checked out. A ContentLocation header MUST be returned containing the location of the private working copy.
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 147 of 236
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
Content-Location: http://cmisexample.oasis-open.org/rep1/64f55634-f2de-443cbf6b-e9e30341581f6cce57fc-4e31-491c-8fab-4aa6e6797dbe
Location: http://cmisexample.oasis-open.org/rep1/64f55634-f2de-443c-bf6be9e30341581f6cce57fc-4e31-491c-8fab-4aa6e6797dbe
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 148 of 236
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
11 January 2010
Page 149 of 236
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="repcmis:isVersionSeriesCheckedOut"
propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
<cmis:value>true</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isMajorVersion"
propertyDefinitionId="cmis:isMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion"
propertyDefinitionId="cmis:isLatestMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isImmutable"
propertyDefinitionId="cmis:isImmutable">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyString localName="rep-cmis:checkinComment"
propertyDefinitionId="cmis:checkinComment">
<cmis:value>Checkin comment</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:versionLabel"
propertyDefinitionId="cmis:versionLabel">
<cmis:value>0.1</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:contentStreamMimeType"
propertyDefinitionId="cmis:contentStreamMimeType">
<cmis:value>text/plain</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:contentStreamFileName"
propertyDefinitionId="cmis:contentStreamFileName">
<cmis:value>text.txt</cmis:value>
</cmis:propertyString>
<cmis:propertyInteger localName="rep-cmis:contentStreamLength"
propertyDefinitionId="cmis:contentStreamLength">
<cmis:value>4234</cmis:value>
</cmis:propertyInteger>
<cmis:propertyString displayName="Keywords for Document"
localName="keywords" propertyDefinitionId="keywords">
<cmis:value>document</cmis:value>
<cmis:value>example</cmis:value>
<cmis:value>sample</cmis:value>
<cmis:value>cmis</cmis:value>
</cmis:propertyString>
<cmis:propertyId localName="rep-cmis:versionSeriesCheckedOutId"
propertyDefinitionId="cmis:versionSeriesCheckedOutId">
<cmis:value>64f55634-f2de-443c-bf6b-e9e30341581f6cce57fc-4e31491c-8fab-4aa6e6797dbe</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="repcmis:versionSeriesCheckedOutBy"
propertyDefinitionId="cmis:versionSeriesCheckedOutBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
</cmis:properties>
</cmisra:object>
</atom:entry>
5984
5985
Please also see the example documents included with the schema.
5986
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 150 of 236
5987
5988
5989
5990
This is a collection described in the service document that contains all the unfiled documents in the
repository. This collection MUST be available if unfilingun-filing or multi-filing is supported by the
repository.
5991
5992
A repository that supports un-filing MAY provide read access (GET). If read access is not provided, the
repository SHOULD respond to a read attempt with the HTTP status code 405 (notSupported).
5993
CMIS Services:
5994
GET: getUnfiled
5995
POST: removeObjectFromFolder
5996
5997
Accept:
5998
5999
application/atom+xml;type=entry or
6000
application/cmisatom+xml
6001
6002
6003
6004
6005
Link Relations:
6006
6007
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
6008
6009
6010
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
6011
6012
6013
The following CMIS Atom extension element MUST be included inside the atom entries:
6014
6015
3.7.4.1 GET
6016
The following arguments may be supplied. Please see the domain model for more information:
6017
filter
6018
folderId
6019
maxItems
6020
skipCount
6021
includeAllowableActions
6022
includeRelationships
6023
3.7.4.23.7.4.1 POST
6024
6025
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 only.
6026
6027
6028
If the Atom Entry POSTed, does not have the CMIS extensions with a valid cmis:objectId, the document
does not exist, or the document is not in that folder, the appropriate HTTP status code MUST be returned.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 151 of 236
6029
6030
6031
6032
6033
6034
6035
6036
6037
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.
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 152 of 236
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
11 January 2010
Page 153 of 236
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
11 January 2010
Page 154 of 236
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
</cmis:propertyString>
<cmis:propertyBoolean localName="rep-cmis:isLatestVersion"
propertyDefinitionId="cmis:isLatestVersion">
<cmis:value>true</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="repcmis:isVersionSeriesCheckedOut"
propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isMajorVersion"
propertyDefinitionId="cmis:isMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion"
propertyDefinitionId="cmis:isLatestMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isImmutable"
propertyDefinitionId="cmis:isImmutable">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyString localName="rep-cmis:checkinComment"
propertyDefinitionId="cmis:checkinComment">
<cmis:value>Checkin comment</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:versionLabel"
propertyDefinitionId="cmis:versionLabel">
<cmis:value>0.1</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:contentStreamMimeType"
propertyDefinitionId="cmis:contentStreamMimeType">
<cmis:value>text/plain</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:contentStreamFileName"
propertyDefinitionId="cmis:contentStreamFileName">
<cmis:value>text.txt</cmis:value>
</cmis:propertyString>
<cmis:propertyInteger localName="rep-cmis:contentStreamLength"
propertyDefinitionId="cmis:contentStreamLength">
<cmis:value>4234</cmis:value>
</cmis:propertyInteger>
<cmis:propertyString displayName="Keywords for Document"
localName="keywords" propertyDefinitionId="keywords">
<cmis:value>document</cmis:value>
<cmis:value>example</cmis:value>
<cmis:value>sample</cmis:value>
<cmis:value>cmis</cmis:value>
</cmis:propertyString>
</cmis:properties>
</cmisra:object>
</atom:entry>
6267
6268
Please also see the example documents included with the schema.
6269
6270
6271
6272
6273
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.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 155 of 236
6274
CMIS Services:
6275
GET: getTypeChildren
6276
6277
6278
6279
6280
Link Relations:
6281
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
6282
via: points to the type definition entry whose children represent this feed
6283
6284
down: points to the atom feed document representing the descendents collection for this same
type with media type of application/cmistree+xml
6285
6286
6287
If this is a children feed for a base object type, this link is not present.
6288
6289
This feed contains a set of atom entries for each child type definition.
6290
6291
6292
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
6293
6294
6295
The following CMIS Atom extension element MUST be included inside the atom entries:
6296
6297
6298
3.7.5.1 GET
6299
The following arguments may be supplied. Please see the domain model for more information:
6300
includePropertyDefinitions
6301
maxItems
6302
skipCount
6303
typeId
6304
3.8 Collections
6305
6306
For any HTTP verb not specified on a resource,each implementation MAY chose to implement that HTTP
verb in a repository-specific manner.
6307
6308
6309
6310
This is the set of relationships available (either source or target or both) from a specific item such as a
document, folder or policy.
6311
CMIS Services:
6312
GET: getObjectRelationships
6313
POST: createRelationship
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 156 of 236
6314
6315
Accept:
6316
6317
application/atom+xml;type=entry or
6318
application/cmisatom+xml
6319
6320
6321
6322
6323
Link Relations:
6324
6325
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
6326
6327
6328
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
6329
6330
6331
The following CMIS Atom extension element MUST be included inside the atom entries:
6332
6333
3.8.1.1 GET
6334
The following arguments may be supplied. Please see the domain model for more information:
6335
typeId
6336
includeSubRelationshipTypes
6337
relationshipDirection
6338
maxItems
6339
skipCount
6340
filter
6341
includeAllowableActions
6342
3.8.1.2 POST
6343
6344
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.
6345
6346
The server MUST return the appropriate HTTP status code if the source is different than the sourceId or
target different than the targetId for the source and targets specified in this collection.
6347
The server MUST return the appropriate status code if the cmis:objectTypeId is not specified.
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
11 January 2010
Page 157 of 236
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
<atom:entry xmlns:app="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:author>
<atom:name>Al Brown</atom:name>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/235d5fdc-61934ec0-8a78-c0da832a06d9dab97641-8c94-4a12-a604-7532980f05cb"/>
<atom:id>urn:uuid:235d5fdc-6193-4ec0-8a78-c0da832a06d9dab97641-8c94-4a12a604-7532980f05cb</atom:id>
<atom:title type="text">New Relationship</atom:title>
<atom:updated>2009-10-19T10:09:59.796-072010-01-25T10:20:58.86408:00</atom:updated>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>customerRelationships</cmis:value>
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:sourceId"
propertyDefinitionId="cmis:sourceId">
<cmis:value>76a5d5bc-cdfe-42ac-9fde-dd09ad384a71dbf0316c-47b547c9-a2fa-f005eb93f0a4</cmis:value>
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:targetId"
propertyDefinitionId="cmis:targetId">
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:targetId"
propertyDefinitionId="cmis:targetId">
<cmis:value>5f3afe79-1e78-4ff9-a3bf-782c5a492e11b9baac7d-7584445e-bcd1-29af9b25bf2f</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
</atom:entry>
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 158 of 236
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
<atom:entry xmlns:app="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/5f3287a5-74424e5c-8cd2-30900d7a73a6b3006a8f-345b-4c27-86df-3f4b157bb495"/>
<atom:id>urn:uuid:5f3287a5-7442-4e5c-8cd2-30900d7a73a6b3006a8f-345b-4c2786df-3f4b157bb495</atom:id>
<atom:title type="text">New Relationship</atom:title>
<atom:updated>2009-10-19T10:09:59.812-072010-01-25T10:20:58.88008:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/5f3287a5-7442-4e5c-8cd2-30900d7a73a6b3006a8f-345b-4c27-86df3f4b157bb495"/>
<atom:link rel="edit" href="http://cmisexample.oasisopen.org/rep1/5f3287a5-7442-4e5c-8cd2-30900d7a73a6b3006a8f-345b-4c27-86df3f4b157bb495"/>
<atom:link type="application/cmis+xml;type=allowableActions"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions"
href="http://cmisexample.oasis-open.org/rep1/5f3287a5-7442-4e5c-8cd230900d7a73a6b3006a8f-345b-4c27-86df-3f4b157bb495/allowableactions"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby"
href="http://cmisexample.oasis-open.org/rep1/5f3287a5-7442-4e5c-8cd230900d7a73a6b3006a8f-345b-4c27-86df-3f4b157bb495/type"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:published>2009-10-19T10:09:59.812-072010-01-25T10:20:58.88008:00</atom:published>
<atom:summary type="html">HTML summary of Entry 5f3287a5-7442-4e5c-8cd230900d7a73a6b3006a8f-345b-4c27-86df-3f4b157bb495</atom:summary>
<atom:link type="application/atom+xml;type=entry" rel="http://docs.oasisopen.org/ns/cmis/link/200908/source" href="http://cmisexample.oasisopen.org/rep1/5f3287a5-7442-4e5c-8cd2-30900d7a73a6b3006a8f-345b-4c27-86df3f4b157bb495/source"/>
<atom:link type="application/atom+xml;type=entry" rel="http://docs.oasisopen.org/ns/cmis/link/200908/target" href="http://cmisexample.oasisopen.org/rep1/5f3287a5-7442-4e5c-8cd2-30900d7a73a6b3006a8f-345b-4c27-86df3f4b157bb495/target"/>
<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasisopen.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasisopen.org/rep1/5f3287a5-7442-4e5c-8cd2-30900d7a73a6b3006a8f-345b-4c27-86df3f4b157bb495/policies"/>
<atom:link type="application/cmisacl+xml" rel="http://docs.oasisopen.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasisopen.org/rep1/5f3287a5-7442-4e5c-8cd2-30900d7a73a6b3006a8f-345b-4c27-86df3f4b157bb495/acl"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>5f3287a5-7442-4e5c-8cd2-30900d7a73a6b3006a8f-345b4c27-86df-3f4b157bb495</cmis:value>
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>customerRelationships</cmis:value>
</cmis:propertyId>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 159 of 236
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
<cmis:propertyString localName="rep-cmis:name"
propertyDefinitionId="cmis:name">
<cmis:value>New Relationship</cmis:value>
</cmis:propertyString>
<cmis:propertyDateTime localName="rep-cmis:creationDate"
propertyDefinitionId="cmis:creationDate">
<cmis:value>2009-10-19T10:09:59.812-072010-01-25T10:20:58.88008:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyDateTime localName="rep-cmis:lastModificationDate"
propertyDefinitionId="cmis:lastModificationDate">
<cmis:value>2009-10-19T10:09:59.812-072010-01-25T10:20:58.88008:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyId localName="rep-cmis:baseTypeId"
propertyDefinitionId="cmis:baseTypeId">
<cmis:value>cmis:relationship</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:lastModifiedBy"
propertyDefinitionId="cmis:lastModifiedBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:createdBy"
propertyDefinitionId="cmis:createdBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyId localName="rep-cmis:sourceId"
propertyDefinitionId="cmis:sourceId">
<cmis:value>36f25b8d-c920-4d1f-86ab-3fb8d7ea5f97d4551c6d-30bd4fc2-9c84-a55f11559e89</cmis:value>
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:targetId"
propertyDefinitionId="cmis:targetId">
<cmis:value>3f4b0e37-a49d-4bf0-b71d-f8ed0c865029fe7e056f-c4bf42f1-a03e-3ababcf2491d</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
</atom:entry>
6520
6521
Please also see the example documents included with the schema.
6522
6523
6524
This is a collection comprised of all the direct children of a particular folder represented as a feed.
6525
CMIS Services:
6526
GET: getChildren
6527
POST:
6528
createDocument
6529
or createFolder
6530
or createPolicy
6531
or moveObject
6532
or addObjectToFolder
6533
6534
11 January 2010
Page 160 of 236
6535
6536
Accept:
6537
6538
6539
6540
6541
6542
Link Relations:
6543
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
6544
via: points to the atom entry of the folder generating this collection
6545
up: points to the atom entry document for this folders parent
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
down: points to the atom feed document representing the descendents feed with a media type of
application/cmistree+xml
If a repository does not support capabilityGetDescendants, then this link SHOULD NOT
be included.
6556
6557
6558
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
6559
6560
The following CMIS Atom extension element MUST be included inside the atom entries:
6561
6562
6563
6564
3.8.2.1 GET
6565
HTTP Code:
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
200 OK (Success)
The following arguments may be supplied. Please see the domain model for more information:
maxItems
skipCount
filter
includeAllowableActions
includeRelationships
renditionFilter
o If specified, renditions will be returned as links with relation alternate.
orderBy
includePathSegment
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 161 of 236
6578
3.8.2.2 POST
6579
6580
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.
6581
6582
6583
6584
6585
6586
sourceFolderId: This parameter indicates the folder from which the object shall be moved from to
the current specified folder. This parameter is not allowed for create operations.
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
If the atom entry has a cmis property cmis:objectId that is valid for the repository, the object will
be added to the folder.
6597
6598
6599
6600
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.
6601
6602
If the optional argument sourceFolderId is specified, then the object will be removed from the
folder specified.
6603
6604
6605
If atom:content is missing from the request, the repository MUST treat the missing atom:content
element as an empty atom:content element.
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 162 of 236
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
<atom:content src="http://cmisexample.oasisopen.org/rep1//content/8a7761eb-2a0c-4400-b515-964308d6cb5e1cd0d82f-d579-48979b0a-ad0917595445"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>8a7761eb-2a0c-4400-b515-964308d6cb5e1cd0d82f-d5794897-9b0a-ad0917595445</cmis:value>
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>invoice</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
</atom:entry>
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
11 January 2010
Page 163 of 236
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/69553581-23114aa4-826b-3aa0a8eb8b15"/>
<atom:id>urn:uuid:69553581-2311-4aa4-826b-3aa0a8eb8b15b4423b8a-e46e-49fb8141-4aed91d28b5b</atom:id>
<atom:title type="text">Document - To Be Moved</atom:title>
<atom:updated>2009-10-19T10:09:59.671-072010-01-25T10:20:58.78608:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/69553581-2311-4aa4-826b-3aa0a8eb8b15b4423b8a-e46e-49fb-81414aed91d28b5b"/>
<atom:link rel="edit" href="http://cmisexample.oasisopen.org/rep1/69553581-2311-4aa4-826b-3aa0a8eb8b15b4423b8a-e46e-49fb-81414aed91d28b5b"/>
<atom:link type="application/cmis+xml;type=allowableActions"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions"
href="http://cmisexample.oasis-open.org/rep1/69553581-2311-4aa4-826b3aa0a8eb8b15b4423b8a-e46e-49fb-8141-4aed91d28b5b/allowableactions"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby"
href="http://cmisexample.oasis-open.org/rep1/69553581-2311-4aa4-826b3aa0a8eb8b15b4423b8a-e46e-49fb-8141-4aed91d28b5b/type"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:published>2009-10-19T10:09:59.687-072010-01-25T10:20:58.78608:00</atom:published>
<atom:summary type="html">HTML summary of Entry 69553581-2311-4aa4-826b3aa0a8eb8b15b4423b8a-e46e-49fb-8141-4aed91d28b5b</atom:summary>
<atom:link rel="edit-media" href="http://cmisexample.oasisopen.org/rep1/69553581-2311-4aa4-826b-3aa0a8eb8b15b4423b8a-e46e-49fb-81414aed91d28b5b/edit-media"/>
<atom:link rel="alternate" href="http://cmisexample.oasisopen.org/rep1/69553581-2311-4aa4-826b-3aa0a8eb8b15b4423b8a-e46e-49fb-81414aed91d28b5b/alternate"/>
<atom:link type="application/atom+xml;type=feed" rel="up"
href="http://cmisexample.oasis-open.org/rep1/69553581-2311-4aa4-826b3aa0a8eb8b15b4423b8a-e46e-49fb-8141-4aed91d28b5b/parents"/>
<atom:link type="application/atom+xml;type=feed" rel="version-history"
href="http://cmisexample.oasis-open.org/rep1/69553581-2311-4aa4-826b3aa0a8eb8b15b4423b8a-e46e-49fb-8141-4aed91d28b5b/allversions"/>
<atom:link type="application/atom+xml;type=entry" rel="current-version"
href="http://cmisexample.oasis-open.org/rep1/69553581-2311-4aa4-826b3aa0a8eb8b15b4423b8a-e46e-49fb-8141-4aed91d28b5b/latest"/>
<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasisopen.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasisopen.org/rep1/69553581-2311-4aa4-826b-3aa0a8eb8b15b4423b8a-e46e-49fb-81414aed91d28b5b/relationships"/>
<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasisopen.org/ns/cmis/link/200908/policies" href="http://cmisexample.oasisopen.org/rep1/69553581-2311-4aa4-826b-3aa0a8eb8b15b4423b8a-e46e-49fb-81414aed91d28b5b/policies"/>
<atom:link type="application/cmisacl+xml" rel="http://docs.oasisopen.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasisopen.org/rep1/69553581-2311-4aa4-826b-3aa0a8eb8b15b4423b8a-e46e-49fb-81414aed91d28b5b/acl"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>69553581-2311-4aa4-826b-3aa0a8eb8b15b4423b8a-e46e49fb-8141-4aed91d28b5b</cmis:value>
</cmis:propertyId>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 164 of 236
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>invoice</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:name"
propertyDefinitionId="cmis:name">
<cmis:value>Document - To Be Moved</cmis:value>
</cmis:propertyString>
<cmis:propertyDateTime localName="rep-cmis:creationDate"
propertyDefinitionId="cmis:creationDate">
<cmis:value>2009-10-19T10:09:59.687-072010-01-25T10:20:58.78608:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyDateTime localName="rep-cmis:lastModificationDate"
propertyDefinitionId="cmis:lastModificationDate">
<cmis:value>2009-10-19T10:09:59.687-072010-01-25T10:20:58.78608:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyId localName="rep-cmis:baseTypeId"
propertyDefinitionId="cmis:baseTypeId">
<cmis:value>cmis:document</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:lastModifiedBy"
propertyDefinitionId="cmis:lastModifiedBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:createdBy"
propertyDefinitionId="cmis:createdBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyBoolean localName="rep-cmis:isLatestVersion"
propertyDefinitionId="cmis:isLatestVersion">
<cmis:value>true</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="repcmis:isVersionSeriesCheckedOut"
propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isMajorVersion"
propertyDefinitionId="cmis:isMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion"
propertyDefinitionId="cmis:isLatestMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isImmutable"
propertyDefinitionId="cmis:isImmutable">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyString localName="rep-cmis:checkinComment"
propertyDefinitionId="cmis:checkinComment">
<cmis:value>Checkin comment</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:versionLabel"
propertyDefinitionId="cmis:versionLabel">
<cmis:value>0.1</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:contentStreamMimeType"
propertyDefinitionId="cmis:contentStreamMimeType">
<cmis:value>text/plain</cmis:value>
</cmis:propertyString>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 165 of 236
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
<cmis:propertyString localName="rep-cmis:contentStreamFileName"
propertyDefinitionId="cmis:contentStreamFileName">
<cmis:value>text.txt</cmis:value>
</cmis:propertyString>
<cmis:propertyInteger localName="rep-cmis:contentStreamLength"
propertyDefinitionId="cmis:contentStreamLength">
<cmis:value>4234</cmis:value>
</cmis:propertyInteger>
<cmis:propertyString displayName="Keywords for Document"
localName="keywords" propertyDefinitionId="keywords">
<cmis:value>document</cmis:value>
<cmis:value>example</cmis:value>
<cmis:value>sample</cmis:value>
<cmis:value>cmis</cmis:value>
</cmis:propertyString>
</cmis:properties>
</cmisra:object>
</atom:entry>
6837
6838
Please also see the example documents included with the schema.
6839
6840
6841
6842
6843
6844
6845
6846
6847
For Documents:
If Content Stream is not provided and it is required by the type definition, the repository
MUST return the appropriate HTTP status code.
6848
6849
6850
As part of the atom entry via the src attribute on the content element (AtomPub)
6851
6852
6853
If the URI in the src attribute is not reachable, then an appropriate http
status code should be returned.
6854
6855
6856
6857
6858
6859
6862
6860
6861
As part of the atom entry inlining via the content element (AtomPub)
6863
6864
6865
The optional argument versioningState MAY specify additional versioning behavior such
as checkin.
6866
6867
11 January 2010
Page 166 of 236
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
11 January 2010
Page 167 of 236
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
Content-Location: http://cmisexample.oasis-open.org/rep1/8f714453-f9cf-40ae8d72-ea72987af21213475008-6a20-4454-ad0b-10ea94c4b93d
Location: http://cmisexample.oasis-open.org/rep1/8f714453-f9cf-40ae-8d72ea72987af21213475008-6a20-4454-ad0b-10ea94c4b93d
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 168 of 236
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 169 of 236
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
<cmis:propertyBoolean localName="repcmis:isVersionSeriesCheckedOut"
propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isMajorVersion"
propertyDefinitionId="cmis:isMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isLatestMajorVersion"
propertyDefinitionId="cmis:isLatestMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="rep-cmis:isImmutable"
propertyDefinitionId="cmis:isImmutable">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyString localName="rep-cmis:checkinComment"
propertyDefinitionId="cmis:checkinComment">
<cmis:value>Checkin comment</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:versionLabel"
propertyDefinitionId="cmis:versionLabel">
<cmis:value>0.1</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:contentStreamMimeType"
propertyDefinitionId="cmis:contentStreamMimeType">
<cmis:value>text/plain</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:contentStreamFileName"
propertyDefinitionId="cmis:contentStreamFileName">
<cmis:value>text.txt</cmis:value>
</cmis:propertyString>
<cmis:propertyInteger localName="rep-cmis:contentStreamLength"
propertyDefinitionId="cmis:contentStreamLength">
<cmis:value>4234</cmis:value>
</cmis:propertyInteger>
<cmis:propertyString displayName="Keywords for Document"
localName="keywords" propertyDefinitionId="keywords">
<cmis:value>document</cmis:value>
<cmis:value>example</cmis:value>
<cmis:value>sample</cmis:value>
<cmis:value>cmis</cmis:value>
</cmis:propertyString>
</cmis:properties>
</cmisra:object>
</atom:entry>
7102
7103
Please also see the example documents included with the schema.
7104
7105
7106
7107
The behavior is repository specific when a non Atom entry or an atom document without the
CMIS elements is posted to a folder collection.
7108
7109
For example, the repository MAY auto-create a document with a specific type (document) the
client could edit.
7110
7111
If the repository does not support this scenario or another exception occurs, then the repository
MUST return the appropriate HTTP status code.
7112
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 170 of 236
7113
Optional arguments:
7114
7115
7116
7117
7118
7119
7120
7121
This is an atom feed of all the policy objects currently applied to a specific object. This is the only
collection where the URIs of the objects in the collection MUST be specific to that collection. A DELETE
on the policy object in the collection is a removal of the policy from the object NOT a deletion of the policy
object itself.
7122
7123
CMIS Services:
7124
GET: getAppliedPolicies
7125
7126
DELETE: removePolicy
7127
7128
Accept:
7129
7130
application/atom+xml;type=entry or
7131
application/cmisatom+xml
7132
7133
7134
7135
7136
Link Relations:
7137
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
7138
via: points to the atom entry of the resource generating this collection
7139
7140
7141
7142
The policy entries displayed here are specific to the object generating this collection. A DELETE method
on those URIs will invoke removePolicy().
7143
7144
7145
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
7146
7147
7148
The following CMIS Atom extension element MUST be included inside the atom entries:
7149
7150
3.8.3.1 GET
7151
The following arguments may be supplied. Please see the domain model for more information:
7152
filter
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 171 of 236
7153
3.8.3.2 POST
7154
7155
When an Atom Entry representing a Policy is posted to this collection, the policy will be applied to the
object.
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 172 of 236
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
<atom:entry xmlns:app="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/<?xml
version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:entry xmlns:app="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasisopen.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasisopen.org/ns/cmis/messaging/200908/" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/1ee01165-98cf45bf-9bce-b6238caa5616"/>
55cca51b-6cfa-4354-bdfe-690761576116"/>
<atom:id>urn:uuid:1ee01165-98cf-45bf-9bce-b6238caa561655cca51b-6cfa-4354bdfe-690761576116</atom:id>
<atom:title type="text">Security Policy for Invoices</atom:title>
<atom:updated>2009-10-19T10:09:59.765-072010-01-25T10:20:58.84908:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/1ee01165-98cf-45bf-9bce-b6238caa561655cca51b-6cfa-4354-bdfe690761576116"/>
<atom:link rel="edit" href="http://cmisexample.oasisopen.org/rep1/1ee01165-98cf-45bf-9bce-b6238caa561655cca51b-6cfa-4354-bdfe690761576116"/>
<atom:link type="application/cmis+xml;type=allowableActions"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions"
href="http://cmisexample.oasis-open.org/rep1/1ee01165-98cf-45bf-9bceb6238caa561655cca51b-6cfa-4354-bdfe-690761576116/allowableactions"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby"
href="http://cmisexample.oasis-open.org/rep1/1ee01165-98cf-45bf-9bceb6238caa561655cca51b-6cfa-4354-bdfe-690761576116/type"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:published>2009-10-19T10:09:59.781-072010-01-25T10:20:58.84908:00</atom:published>
<atom:summary type="html">HTML summary of Entry 1ee01165-98cf-45bf-9bceb6238caa561655cca51b-6cfa-4354-bdfe-690761576116</atom:summary>
<atom:link type="application/atom+xml;type=feed" rel="up"
href="http://cmisexample.oasis-open.org/rep1/1ee01165-98cf-45bf-9bceb6238caa561655cca51b-6cfa-4354-bdfe-690761576116/parents"/>
<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasisopen.org/ns/cmis/link/200908/relationships" href="http://cmisexample.oasisopen.org/rep1/1ee01165-98cf-45bf-9bce-b6238caa561655cca51b-6cfa-4354-bdfe690761576116/relationships"/>
<atom:link type="application/cmisacl+xml" rel="http://docs.oasisopen.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasisopen.org/rep1/1ee01165-98cf-45bf-9bce-b6238caa561655cca51b-6cfa-4354-bdfe690761576116/acl"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 173 of 236
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>1ee01165-98cf-45bf-9bce-b6238caa561655cca51b-6cfa4354-bdfe-690761576116</cmis:value>
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>generalSecurityPolicy</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:name"
propertyDefinitionId="cmis:name">
<cmis:value>Security Policy for Invoices</cmis:value>
</cmis:propertyString>
<cmis:propertyDateTime localName="rep-cmis:creationDate"
propertyDefinitionId="cmis:creationDate">
<cmis:value>2009-10-19T10:09:59.781-072010-01-25T10:20:58.84908:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyDateTime localName="rep-cmis:lastModificationDate"
propertyDefinitionId="cmis:lastModificationDate">
<cmis:value>2009-10-19T10:09:59.781-072010-01-25T10:20:58.86408:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyId localName="rep-cmis:baseTypeId"
propertyDefinitionId="cmis:baseTypeId">
<cmis:value>cmis:policy</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:lastModifiedBy"
propertyDefinitionId="cmis:lastModifiedBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:createdBy"
propertyDefinitionId="cmis:createdBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
</cmis:properties>
</cmisra:object>
</atom:entry>
7314
7315
Please also see the example documents included with the schema.
7316
3.8.3.3 DELETE
7317
7318
7319
This is the only collection where the URIs of the objects in the collection MUST be specific to that
collection. A DELETE on the policy object in the collection is a removal of the policy from the object NOT
a deletion of the policy object itself.
7320
7321
3.9 Feeds
7322
7323
For any HTTP verb not specified on a resource,each implementation MAY chose to implement that HTTP
verb in a repository-specific manner.
7324
7325
7326
CMIS Services:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 174 of 236
7327
7328
GET: getObjectParents
Media Type: application/atom+xml;type=feed
7329
7330
7331
7332
Link Relations:
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
7333
7334
via: points to the atom entry of object whos parents are represented by this collection
7335
7336
This feed contains a set of atom entries for each parent of the object that MUST contain:
7337
7338
cmisra:relativePathSegment inside atom:entry for the name of the object inside the folder
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:title type="text">Parent Feed for 1b43e592-a780-4feb-a0dcd25de6bf7ab4268d30b5-91a0-47f0-b985-6765e178f0bb</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:10:00.562-072010-01-25T10:20:59.81808:00</atom:updated>
<atom:id>urn:uuid:a8fc16cb-d385-4172-b994-da119636d9546f541940-4abf-471b99f0-8e6f66d53789</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/1b43e592-a780-4feb-a0dcd25de6bf7ab4268d30b5-91a0-47f0-b985-6765e178f0bb/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/1b43e592-a780-4feb-a0dcd25de6bf7ab4268d30b5-91a0-47f0-b985-6765e178f0bb"/>
<atom:link type="application/atom+xml;type=feed" rel="first"
href="http://cmisexample.oasis-open.org/rep1/1b43e592-a780-4feb-a0dcd25de6bf7ab4268d30b5-91a0-47f0-b985-6765e178f0bb/first"/>
<atom:link type="application/atom+xml;type=feed" rel="next"
href="http://cmisexample.oasis-open.org/rep1/1b43e592-a780-4feb-a0dcd25de6bf7ab4268d30b5-91a0-47f0-b985-6765e178f0bb/4"/>
<atom:link type="application/atom+xml;type=feed" rel="previous"
href="http://cmisexample.oasis-open.org/rep1/1b43e592-a780-4feb-a0dcd25de6bf7ab4268d30b5-91a0-47f0-b985-6765e178f0bb/2"/>
<atom:link type="application/atom+xml;type=feed" rel="last"
href="http://cmisexample.oasis-open.org/rep1/1b43e592-a780-4feb-a0dcd25de6bf7ab4268d30b5-91a0-47f0-b985-6765e178f0bb/last"/>
<cmisra:numItems>1</cmisra:numItems>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 175 of 236
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/adb70b59db45-4da2-81c0-11062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e"/>
<atom:id>urn:uuid:adb70b59-db45-4da2-81c0-11062fb063bd661d6945-8f754dea-8799-7ba07b0e510e</atom:id>
<atom:title type="text">Customer Folder</atom:title>
<atom:updated>2009-10-19T10:10:00.562-072010-01-25T10:20:59.83308:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/adb70b59-db45-4da2-81c0-11062fb063bd661d6945-8f75-4dea-87997ba07b0e510e"/>
<atom:link rel="edit" href="http://cmisexample.oasisopen.org/rep1/adb70b59-db45-4da2-81c0-11062fb063bd661d6945-8f75-4dea-87997ba07b0e510e"/>
<atom:link type="application/cmis+xml;type=allowableActions"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions"
href="http://cmisexample.oasis-open.org/rep1/adb70b59-db45-4da2-81c011062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e/allowableactions"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby"
href="http://cmisexample.oasis-open.org/rep1/adb70b59-db45-4da2-81c011062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e/type"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:published>2009-10-19T10:10:00.562-072010-01-25T10:20:59.83308:00</atom:published>
<atom:summary type="html">HTML summary of Entry adb70b59-db45-4da281c0-11062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e</atom:summary>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/adb70b59-db45-4da2-81c011062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e/up"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/adb70b59-db45-4da2-81c011062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e/children"/>
<atom:link type="application/cmistree+xml" rel="down"
href="http://cmisexample.oasis-open.org/rep1/adb70b59-db45-4da2-81c011062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e/tree"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree"
href="http://cmisexample.oasis-open.org/rep1/adb70b59-db45-4da2-81c011062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e/foldertree"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships"
href="http://cmisexample.oasis-open.org/rep1/adb70b59-db45-4da2-81c011062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e/relationships"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies"
href="http://cmisexample.oasis-open.org/rep1/adb70b59-db45-4da2-81c011062fb063bd661d6945-8f75-4dea-8799-7ba07b0e510e/policies"/>
<atom:link type="application/cmisacl+xml" rel="http://docs.oasisopen.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasisopen.org/rep1/adb70b59-db45-4da2-81c0-11062fb063bd661d6945-8f75-4dea-87997ba07b0e510e/acl"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>adb70b59-db45-4da2-81c0-11062fb063bd661d69458f75-4dea-8799-7ba07b0e510e</cmis:value>
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>customer</cmis:value>
</cmis:propertyId>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 176 of 236
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
<cmis:propertyString localName="rep-cmis:name"
propertyDefinitionId="cmis:name">
<cmis:value>Customer Folder</cmis:value>
</cmis:propertyString>
<cmis:propertyDateTime localName="rep-cmis:creationDate"
propertyDefinitionId="cmis:creationDate">
<cmis:value>2009-10-19T10:10:00.562-072010-0125T10:20:59.833-08:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyDateTime localName="repcmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
<cmis:value>2009-10-19T10:10:00.562-072010-0125T10:20:59.833-08:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyId localName="rep-cmis:baseTypeId"
propertyDefinitionId="cmis:baseTypeId">
<cmis:value>cmis:folder</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:lastModifiedBy"
propertyDefinitionId="cmis:lastModifiedBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:createdBy"
propertyDefinitionId="cmis:createdBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyId localName="rep-cmis:parentId"
propertyDefinitionId="cmis:parentId">
<cmis:value>adb70b59-db45-4da2-81c011062fb063bdup661d6945-8f75-4dea-8799-7ba07b0e510eup</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
<cmisra:relativePathSegment>customer1</cmisra:relativePathSegment>
</atom:entry>
</atom:feed>
7483
7484
Please also see the example documents included with the schema.
7485
3.9.1.1 GET
7486
The following arguments may be supplied. Please see the domain model for more information:
7487
filter
7488
includeAllowableActions
7489
includeRelationships
7490
renditionFilter
7491
includeRelativePathSegment
7492
7493
7494
3.9.2 Changes
7495
7496
7497
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/200908/changes.
7498
7499
7500
The ChangeLog Token is specified in the URI specified by the paging link notations. Through this binding
it is not possible to retrieve the ChangeLog Token from the URIs.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 177 of 236
7501
7502
CMIS Services:
7503
GET: getContentChanges()
7504
7505
Link Relations:
7506
7507
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
7508
7509
7510
ChangeLogToken is incorporated into the URI specified by the next link relation
7511
7512
7513
7514
7515
7516
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.
7517
7518
7519
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
7520
7521
7522
The following CMIS Atom extension element MUST be included inside the atom entries:
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:title type="text">changelog feed</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:092010-01-25T10:20:59.953-0725508:00</atom:updated>
<atom:id>urn:uuid:04393e94-6888-404e-b9de-765cf769b5de0bfc5306-fc76-4cd8a0c0-7653dd43c0ff</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/oId/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=feed" rel="first"
href="http://cmisexample.oasis-open.org/rep1/oId/first"/>
<atom:link type="application/atom+xml;type=feed" rel="next"
href="http://cmisexample.oasis-open.org/rep1/oId/4"/>
<atom:link type="application/atom+xml;type=feed" rel="previous"
href="http://cmisexample.oasis-open.org/rep1/oId/2"/>
<atom:link type="application/atom+xml;type=feed" rel="last"
href="http://cmisexample.oasis-open.org/rep1/oId/last"/>
<cmisra:numItems>2</cmisra:numItems>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 178 of 236
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/2ff371430d0d-4c1a-948d-bd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd"/>
<atom:id>urn:uuid:2ff37143-0d0d-4c1a-948d-bd8311261c1f3f724c1d-12c843f2-919f-674df52b6ebd</atom:id>
<atom:title type="text">CMIS Example Folder as Customer Policy
type</atom:title>
<atom:updated>2009-10-19T10:092010-01-25T10:20:59.953-0725508:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/2ff37143-0d0d-4c1a-948d-bd8311261c1f3f724c1d-12c8-43f2-919f674df52b6ebd"/>
<atom:link rel="edit" href="http://cmisexample.oasisopen.org/rep1/2ff37143-0d0d-4c1a-948d-bd8311261c1f3f724c1d-12c8-43f2-919f674df52b6ebd"/>
<atom:link type="application/cmis+xml;type=allowableActions"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions"
href="http://cmisexample.oasis-open.org/rep1/2ff37143-0d0d-4c1a-948dbd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd/allowableactions"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby"
href="http://cmisexample.oasis-open.org/rep1/2ff37143-0d0d-4c1a-948dbd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd/type"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:published>2009-10-19T10:092010-01-25T10:20:59.953-0725508:00</atom:published>
<atom:summary type="html">HTML summary of Entry 2ff37143-0d0d-4c1a948d-bd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd</atom:summary>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/2ff37143-0d0d-4c1a-948dbd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd/up"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/2ff37143-0d0d-4c1a-948dbd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd/children"/>
<atom:link type="application/cmistree+xml" rel="down"
href="http://cmisexample.oasis-open.org/rep1/2ff37143-0d0d-4c1a-948dbd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd/tree"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree"
href="http://cmisexample.oasis-open.org/rep1/2ff37143-0d0d-4c1a-948dbd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd/foldertree"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships"
href="http://cmisexample.oasis-open.org/rep1/2ff37143-0d0d-4c1a-948dbd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd/relationships"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies"
href="http://cmisexample.oasis-open.org/rep1/2ff37143-0d0d-4c1a-948dbd8311261c1f3f724c1d-12c8-43f2-919f-674df52b6ebd/policies"/>
<atom:link type="application/cmisacl+xml" rel="http://docs.oasisopen.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasisopen.org/rep1/2ff37143-0d0d-4c1a-948d-bd8311261c1f3f724c1d-12c8-43f2-919f674df52b6ebd/acl"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>2ff37143-0d0d-4c1a-948d-bd8311261c1f3f724c1d12c8-43f2-919f-674df52b6ebd</cmis:value>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 179 of 236
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>customerpolicy</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:name"
propertyDefinitionId="cmis:name">
<cmis:value>CMIS Example Folder as Customer Policy
type</cmis:value>
</cmis:propertyString>
<cmis:propertyDateTime localName="rep-cmis:creationDate"
propertyDefinitionId="cmis:creationDate">
<cmis:value>2009-10-19T10:092010-01-25T10:20:59.953-0725508:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyDateTime localName="repcmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
<cmis:value>2009-10-19T10:092010-01-25T10:20:59.953-0725508:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyId localName="rep-cmis:baseTypeId"
propertyDefinitionId="cmis:baseTypeId">
<cmis:value>cmis:folder</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:lastModifiedBy"
propertyDefinitionId="cmis:lastModifiedBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:createdBy"
propertyDefinitionId="cmis:createdBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyId localName="rep-cmis:parentId"
propertyDefinitionId="cmis:parentId">
<cmis:value>2ff37143-0d0d-4c1a-948dbd8311261c1fup3f724c1d-12c8-43f2-919f-674df52b6ebdup</cmis:value>
</cmis:propertyId>
</cmis:properties>
<cmis:changeEventInfo>
<cmis:changeType>updated</cmis:changeType>
<cmis:changeTime>2009-10-19T10:092010-01-25T10:20:59.95307255-08:00</cmis:changeTime>
</cmis:changeEventInfo>
</cmisra:object>
<cmisra:pathSegment>policy</cmisra:pathSegment>
</atom:entry>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/95715cc85f9c-45ce-8c54-4c2d8d7c44fc6e27bada-b5a2-4a39-be2c-269806eb0d42"/>
<atom:id>urn:uuid:95715cc8-5f9c-45ce-8c54-4c2d8d7c44fc6e27bada-b5a24a39-be2c-269806eb0d42</atom:id>
<atom:title type="text">CMIS Example Document</atom:title>
<atom:updated>2009-10-19T10:092010-01-25T10:20:59.968-0725508:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/95715cc8-5f9c-45ce-8c54-4c2d8d7c44fc6e27bada-b5a2-4a39-be2c269806eb0d42"/>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 180 of 236
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 181 of 236
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
11 January 2010
Page 182 of 236
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
</cmis:propertyString>
</cmis:properties>
<cmis:changeEventInfo>
<cmis:changeType>updated</cmis:changeType>
<cmis:changeTime>2009-10-19T10:092010-01-25T10:20:59.96807271-08:00</cmis:changeTime>
</cmis:changeEventInfo>
</cmisra:object>
<cmisra:pathSegment>invoice.pdf</cmisra:pathSegment>
</atom:entry>
</atom:feed>
7818
7819
Please also see the example documents included with the schema.
7820
3.9.2.1 GET
7821
7822
filter
7823
maxItems
7824
includeACL
7825
includePolicyIds
7826
includeProperties
7827
filter
7828
7829
7830
changeLogToken: If this parameter is specified, start the changes from the specified token. The
changeLogToken is embedded in the paging link relations for normal iteration through the change
list.
7831
7832
7833
7834
This is a hierarchical feed comprising items under a specified folder to a specified depth. This is available
via the link relation down with the application/cmistree+xml media type. Please see the Hierarchical Atom
Entries for more information on format.
7835
7836
7837
If a repository does not support capabilityGetDescendants, then these resources SHOULD NOT be
exposed.
7838
7839
CMIS Services:
7840
GET: getDescendants
7841
7842
DELETE: deleteTree
Media Type: application/atom+xml;type=feed
7843
7844
7845
7846
Link Relations:
7847
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
7848
via: points to the atom entry of the folder generating this collection
7849
up: points to the atom entry document for this folders parent
7850
7851
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 183 of 236
7852
down:
7853
7854
points to the atom feed document representing the children feed for this same folder with
media type of application/atom+xml;type=entry
7855
Since this is the descendants, the descendants link SHOULD NOT be included
7856
paging link relations MAY be included as appropriate: first, next, previous, last
7857
7858
7859
7860
7861
7862
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
7863
7864
The following CMIS Atom extension element MUST be included inside the atom entries:
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:title type="text">Feed for folder1</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:10:00.203-072010-01-25T10:20:59.36408:00</atom:updated>
<atom:id>urn:uuid:83638fc5-90e7-4d03-bd04-1a4cc5c5c98ecb0a47d4-8d09-46f99b09-584acad684af</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/80dfb434-883b-4850-871d6524c1ec2a64f083dd6f-1465-4516-97ce-040ec0c7c05a/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/80dfb434-883b-4850-871d6524c1ec2a64f083dd6f-1465-4516-97ce-040ec0c7c05a"/>
<atom:link type="application/atom+xml;type=feed" rel="http://docs.oasisopen.org/ns/cmis/link/200908/foldertree" href="http://cmisexample.oasisopen.org/rep1/80dfb434-883b-4850-871d-6524c1ec2a64f083dd6f-1465-4516-97ce040ec0c7c05a/foldertree"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/80dfb434-883b-4850-871d6524c1ec2a64f083dd6f-1465-4516-97ce-040ec0c7c05a/children"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/ba8910f0-0e99-4cda-a1f6befce0fa20e703dcf5b8-5f82-45a1-b276-44d88069eec3"/>
<cmisra:numItems>1</cmisra:numItems>
<atom:entry>
<atom:author>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 184 of 236
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/c2e574a02d30-4834-b8a3-6333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f"/>
<atom:id>urn:uuid:c2e574a0-2d30-4834-b8a3-6333b33181c38e5a512c-8f2d4387-a283-f3f30bbc312f</atom:id>
<atom:title type="text">CMIS Example Folder as Customer
type</atom:title>
<atom:updated>2009-10-19T10:10:00.203-072010-01-25T10:20:59.36408:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/c2e574a0-2d30-4834-b8a3-6333b33181c38e5a512c-8f2d-4387-a283f3f30bbc312f"/>
<atom:link rel="edit" href="http://cmisexample.oasisopen.org/rep1/c2e574a0-2d30-4834-b8a3-6333b33181c38e5a512c-8f2d-4387-a283f3f30bbc312f"/>
<atom:link type="application/cmis+xml;type=allowableActions"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/allowableactions"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/type"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:published>2009-10-19T10:10:00.203-072010-01-25T10:20:59.38008:00</atom:published>
<atom:summary type="html">HTML summary of Entry c2e574a0-2d30-4834b8a3-6333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f</atom:summary>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/up"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/children"/>
<atom:link type="application/cmistree+xml" rel="down"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/tree"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/foldertree"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/relationships"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/policies"/>
<atom:link type="application/cmisacl+xml" rel="http://docs.oasisopen.org/ns/cmis/link/200908/acl" href="http://cmisexample.oasisopen.org/rep1/c2e574a0-2d30-4834-b8a3-6333b33181c38e5a512c-8f2d-4387-a283f3f30bbc312f/acl"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>c2e574a0-2d30-4834-b8a3-6333b33181c38e5a512c8f2d-4387-a283-f3f30bbc312f</cmis:value>
</cmis:propertyId>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 185 of 236
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>customer</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:name"
propertyDefinitionId="cmis:name">
<cmis:value>CMIS Example Folder as Customer
type</cmis:value>
</cmis:propertyString>
<cmis:propertyDateTime localName="rep-cmis:creationDate"
propertyDefinitionId="cmis:creationDate">
<cmis:value>2009-10-19T10:10:00.203-072010-0125T10:20:59.380-08:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyDateTime localName="repcmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
<cmis:value>2009-10-19T10:10:00.203-072010-0125T10:20:59.380-08:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyId localName="rep-cmis:baseTypeId"
propertyDefinitionId="cmis:baseTypeId">
<cmis:value>cmis:folder</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:lastModifiedBy"
propertyDefinitionId="cmis:lastModifiedBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:createdBy"
propertyDefinitionId="cmis:createdBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyId localName="rep-cmis:parentId"
propertyDefinitionId="cmis:parentId">
<cmis:value>c2e574a0-2d30-4834-b8a36333b33181c3up8e5a512c-8f2d-4387-a283-f3f30bbc312fup</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
<cmisra:pathSegment>customer</cmisra:pathSegment>
<cmisra:children>
<atom:feed>
<atom:title type="text">CMIS Example Folder as Customer
type</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:10:00.203-072010-0125T10:20:59.380-08:00</atom:updated>
<atom:id>urn:uuid:9550c57d-64cd-4f00-9ab45b44903717e867ee5e9f-d2e3-457d-9dec-be718e780452</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f"/>
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree"
href="http://cmisexample.oasis-open.org/rep1/c2e574a0-2d30-4834-b8a36333b33181c38e5a512c-8f2d-4387-a283-f3f30bbc312f/foldertree"/>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 186 of 236
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 187 of 236
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
<atom:link type="application/atom+xml;type=feed"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/policies"
href="http://cmisexample.oasis-open.org/rep1/d4bc9b02-f732-49ce-979ada31175a4d508c2dbba5-ea33-469f-a052-9f01e636c72a/policies"/>
<atom:link type="application/cmisacl+xml"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl"
href="http://cmisexample.oasis-open.org/rep1/d4bc9b02-f732-49ce-979ada31175a4d508c2dbba5-ea33-469f-a052-9f01e636c72a/acl"/>
<cmisra:object>
<cmis:properties>
<cmis:propertyId localName="rep-cmis:objectId"
propertyDefinitionId="cmis:objectId">
<cmis:value>d4bc9b02-f732-49ce-979ada31175a4d508c2dbba5-ea33-469f-a052-9f01e636c72a</cmis:value>
</cmis:propertyId>
<cmis:propertyId localName="rep-cmis:objectTypeId"
propertyDefinitionId="cmis:objectTypeId">
<cmis:value>invoice</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:name"
propertyDefinitionId="cmis:name">
<cmis:value>CMIS Example Doc as Invoice
type</cmis:value>
</cmis:propertyString>
<cmis:propertyDateTime localName="repcmis:creationDate" propertyDefinitionId="cmis:creationDate">
<cmis:value>2009-10-19T10:10:00.218-072010-0125T10:20:59.380-08:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyDateTime localName="repcmis:lastModificationDate" propertyDefinitionId="cmis:lastModificationDate">
<cmis:value>2009-10-19T10:10:00.218-072010-0125T10:20:59.380-08:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyId localName="rep-cmis:baseTypeId"
propertyDefinitionId="cmis:baseTypeId">
<cmis:value>cmis:document</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="repcmis:lastModifiedBy" propertyDefinitionId="cmis:lastModifiedBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="repcmis:createdBy" propertyDefinitionId="cmis:createdBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyBoolean localName="repcmis:isLatestVersion" propertyDefinitionId="cmis:isLatestVersion">
<cmis:value>true</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="repcmis:isVersionSeriesCheckedOut"
propertyDefinitionId="cmis:isVersionSeriesCheckedOut">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="repcmis:isMajorVersion" propertyDefinitionId="cmis:isMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
<cmis:propertyBoolean localName="repcmis:isLatestMajorVersion" propertyDefinitionId="cmis:isLatestMajorVersion">
<cmis:value>false</cmis:value>
</cmis:propertyBoolean>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 188 of 236
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
Please also see the example documents included with the schema.
8199
3.9.3.1 GET
8200
The following arguments may be supplied. Please see the domain model for more information:
8201
filter
8202
depth
8203
includeAllowableActions
8204
includeRelationships
8205
renditionFilter
8206
includePathSegment
8207
3.9.3.2 DELETE
8208
8209
This deletes the folder and all sub-folders. The following arguments may be supplied. Please see the
domain model for more information:
8210
continueOnFailure
8211
unfileObjects
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 189 of 236
8212
8213
Status Code:
8214
8215
8216
8217
8218
8219
500 Internal Server Error. The body SHOULD contain an entity describing the status
8220
8221
8222
If the delete method does not delete all items, invoking GET with infinite depth on this URI will return the
items not deleted. Subsequent DELETE methods can be invoked on this URI.
8223
8224
Note: If the repository does not implement get on this resource, or the canGetDescendants is false, there
is no mechanism to identify the resources that were not removed.
8225
8226
8227
8228
This is a hierarchical feed comprising all the folders under a specified folder. This is available via the link
relation foldertree with media type application/atom+xml;type=feed. Please see the Hierarchical Atom
Entries for more information on format.
8229
8230
CMIS Services:
8231
GET: getFolderTree
8232
DELETE: deleteTree
8233
8234
8235
8236
8237
Link Relations:
8238
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
o
8239
via: points to the atom entry of the folder generating this collection
8240
8241
8242
8243
down:
8244
8245
application/atom+xml : Points to the atom feed document representing the children feed
for this same folder
8246
8247
8248
8249
8250
8251
paging link relations MAY be included as appropriate: first, next, previous, last
o
8252
8253
This feed contains a set of atom entries for each sub-folder in the folder.
8254
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 190 of 236
8255
8256
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
8257
8258
The following CMIS Atom extension element MUST be included inside the atom entries:
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:title type="text">FolderTree Feed of Folder1</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:10:00.312-072010-01-25T10:20:59.52108:00</atom:updated>
<atom:id>urn:uuid:e8627e01-9b28-4e5b-b7b4-d88c05bae4e9f87e5678-dd24-42149e71-635f060beb7d</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/3bcbead0-ad9f-4e0c-a2e849d025e062c56e327a3c-a246-4cee-8176-b65edc3e1854/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/3bcbead0-ad9f-4e0c-a2e849d025e062c56e327a3c-a246-4cee-8176-b65edc3e1854"/>
<atom:link type="application/cmistree+xml" rel="down"
href="http://cmisexample.oasis-open.org/rep1/3bcbead0-ad9f-4e0c-a2e849d025e062c56e327a3c-a246-4cee-8176-b65edc3e1854/tree"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/3bcbead0-ad9f-4e0c-a2e849d025e062c56e327a3c-a246-4cee-8176-b65edc3e1854/children"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/cdaf0998-582a-445f-9179113a12470b043056c4d7-4e16-49cb-a750-ad7a3844a1aa"/>
<cmisra:numItems>1</cmisra:numItems>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/7d9c26a2ad1e-43e5-b176-247b64e4f4bcc7b5a83e-37b6-4f5a-b646-50892252a180"/>
<atom:id>urn:uuid:7d9c26a2-ad1e-43e5-b176-247b64e4f4bcc7b5a83e-37b64f5a-b646-50892252a180</atom:id>
<atom:title type="text">Customer Folder</atom:title>
<atom:updated>2009-10-19T10:10:00.312-072010-01-25T10:20:59.52108:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/7d9c26a2-ad1e-43e5-b176-247b64e4f4bcc7b5a83e-37b6-4f5a-b64650892252a180"/>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 191 of 236
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 192 of 236
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
<cmis:value>2009-10-19T10:10:00.328-072010-0125T10:20:59.521-08:00</cmis:value>
</cmis:propertyDateTime>
<cmis:propertyId localName="rep-cmis:baseTypeId"
propertyDefinitionId="cmis:baseTypeId">
<cmis:value>cmis:folder</cmis:value>
</cmis:propertyId>
<cmis:propertyString localName="rep-cmis:lastModifiedBy"
propertyDefinitionId="cmis:lastModifiedBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyString localName="rep-cmis:createdBy"
propertyDefinitionId="cmis:createdBy">
<cmis:value>Al Brown</cmis:value>
</cmis:propertyString>
<cmis:propertyId localName="rep-cmis:parentId"
propertyDefinitionId="cmis:parentId">
<cmis:value>7d9c26a2-ad1e-43e5-b176247b64e4f4bcupc7b5a83e-37b6-4f5a-b646-50892252a180up</cmis:value>
</cmis:propertyId>
</cmis:properties>
</cmisra:object>
<cmisra:pathSegment>customer</cmisra:pathSegment>
</atom:entry>
</atom:feed>
8402
8403
Please also see the example documents included with the schema.
8404
3.9.4.1 GET
8405
The following arguments may be supplied. Please see the domain model for more information:
8406
filter
8407
depth
8408
includeAllowableActions
8409
includeRelationships
8410
renditionFilter
8411
3.9.4.2 DELETE
8412
This is the same as DELETE on Folder Descendants. Please see that section.
8413
8414
8415
CMIS Services:
8416
GET: getAllVersions
8417
DELETE: deleteAllVersions
8418
8419
8420
The feed SHOULD contain the newest versions at the beginning of the feed.
8421
8422
8423
8424
Link Relations:
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 193 of 236
8425
8426
via: points to the atom entry of the resource generating this collection
8427
8428
8429
This feed contains a set of atom entries for each version in the version series
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:title type="text">AllVersions for Document c3141e18-fb48-4742-a6f8adef86dea79ae8abd7cd-b9ec-4dba-9eaa-1bce2ae9977f</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:09:59.828-072010-01-25T10:20:58.89608:00</atom:updated>
<atom:id>urn:uuid:309c322f-1e10-4306-85ba-98f1870c58825dc3d1c1-3e85-4720acf8-cf98c96a5830</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/c3141e18-fb48-4742-a6f8adef86dea79ae8abd7cd-b9ec-4dba-9eaa-1bce2ae9977f/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/c3141e18-fb48-4742-a6f8adef86dea79ae8abd7cd-b9ec-4dba-9eaa-1bce2ae9977f"/>
<cmisra:numItems>1</cmisra:numItems>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content src="http://cmisexample.oasis-open.org/rep1/9c7860a7be25-439e-b473-8da032402a6d197033f2-ac11-4911-b5a3-60781fa5c281"/>
<atom:id>urn:uuid:9c7860a7-be25-439e-b473-8da032402a6d197033f2-ac114911-b5a3-60781fa5c281</atom:id>
<atom:title type="text">Invoice (Version1)</atom:title>
<atom:updated>2009-10-19T10:09:59.828-072010-01-25T10:20:58.89608:00</atom:updated>
<atom:link rel="self" href="http://cmisexample.oasisopen.org/rep1/9c7860a7-be25-439e-b473-8da032402a6d197033f2-ac11-4911-b5a360781fa5c281"/>
<atom:link rel="edit" href="http://cmisexample.oasisopen.org/rep1/9c7860a7-be25-439e-b473-8da032402a6d197033f2-ac11-4911-b5a360781fa5c281"/>
<atom:link type="application/cmis+xml;type=allowableActions"
rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions"
href="http://cmisexample.oasis-open.org/rep1/9c7860a7-be25-439e-b4738da032402a6d197033f2-ac11-4911-b5a3-60781fa5c281/allowableactions"/>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 194 of 236
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
Please also see the example documents included with the schema.
8532
3.9.5.1 GET
8533
The following arguments may be supplied. Please see the domain model for more information:
8534
filter
8535
includeAllowableActions
8536
3.9.5.2 DELETE
8537
8538
8539
11 January 2010
Page 195 of 236
8540
8541
8542
8543
8544
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 and their descendants
are returned in the feed which is equivalent to all types in the repository if depth is infinite. The link
relation is http://docs.oasis-open.org/ns/cmis/link/200908/typesdescendantstypedescendants.
8545
8546
8547
Types are nested using the CMIS hierarchy extension. Please see section 3.2.3.2 Hierarchy Navigation
Internet Draft Link Relations.
8548
8549
CMIS Services:
8550
GET: getTypeDescendants
8551
8552
8553
8554
8555
8556
Link Relations:
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
8557
8558
8559
via: points to the type definition whose descendents represent this feed. This link is not present if
no parent type is specified.
8560
8561
8562
If this is a descendants feed for a base object type, this link is not present.
8563
8564
8565
The following CMIS Atom extension element MAY be included inside the atom feed:
cmisra:numItems
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atom:feed xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasisopen.org/ns/cmis/restatom/200908/">
<atom:title type="text">Base Types</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:10:00.656-072010-01-25T10:20:59.91108:00</atom:updated>
<atom:id>urn:uuid:e1981abc-a130-4cf0-89f2-0fa26f2801fec5d3d357-33ec-47c18436-563e0d94d2e5</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1//3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/"/>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 196 of 236
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
11 January 2010
Page 197 of 236
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
</atom:author>
<atom:updated>2009-10-19T10:10:00.671-072010-0125T10:20:59.927-08:00</atom:updated>
<atom:id>urn:uuid:5657c90b-b07f-4225-832d28a5302f84246f1cdc44-bd89-41c0-8fad-89f3ad0f8f30</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/cmis:document/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/cmis:document"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/cmis:document/children"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/document"/>
<cmisra:numItems>1</cmisra:numItems>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content>Type Definition for invoicedocument</atom:content>
<atom:id>http://cmisexample.oasisopen.org/rep1/type/invoice-document</atom:id>
<atom:link type="application/atom+xml;type=entry"
rel="self" href="http://cmisexample.oasis-open.org/rep1/type/invoicedocument"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1/type/invoice-document"/>
<atom:link type="application/atom+xml;type=entry"
rel="describedby" href="http://cmisexample.oasisopen.org/rep1/type/cmis:document"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/type/invoice-document/parent"/>
<atom:link type="application/atom+xml;type=feed"
rel="down" href="http://cmisexample.oasis-open.org/rep1/type/invoicedocument/children/flat"/>
<atom:link type="application/cmistree+xml" rel="down"
href="http://cmisexample.oasis-open.org/rep1/type/invoicedocument/children/tree"/>
<atom:published>2009-10-19T10:10:00.671-072010-0125T10:20:59.927-08:00</atom:published>
<atom:summary type="html">HTML summary of Type Definition
invoice-document</atom:summary>
<atom:title type="text">Type Definition - invoicedocument</atom:title>
<atom:updated>2009-10-19T10:10:00.671-072010-0125T10:20:59.927-08:00</atom:updated>
<app:edited>2009-10-19T10:10:00.671-072010-0125T10:20:59.927-08:00</app:edited>
<cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:type="cmis:cmisTypeDocumentDefinitionType" cmisra:id="invoicedocument">
<cmis:id>dtinvoice-document</cmis:id>
<cmis:localName>myrepname-invoicedocument</cmis:localName>
<cmis:localNamespace xsi:nil="true"/>
<cmis:displayName>invoice-document</cmis:displayName>
<cmis:queryName>invoice-document</cmis:queryName>
<cmis:description>Description for type definition
invoice-document</cmis:description>
<cmis:baseId>cmis:document</cmis:baseId>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 198 of 236
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
<cmis:parentId>parent</cmis:parentId>
<cmis:creatable>true</cmis:creatable>
<cmis:fileable>true</cmis:fileable>
<cmis:queryable>false</cmis:queryable>
<cmis:fulltextIndexed>false</cmis:fulltextIndexed>
<cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery>
<cmis:controllablePolicy>true</cmis:controllablePolicy>
<cmis:controllableACL>true</cmis:controllableACL>
<cmis:versionable>true</cmis:versionable>
<cmis:contentStreamAllowed>allowed</cmis:contentStreamAllowed>
</cmisra:type>
</atom:entry>
</atom:feed>
</cmisra:children>
</atom:entry>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content>Type Definition for cmis:folder</atom:content>
<atom:id>http://cmisexample.oasisopen.org/rep1/type/cmis:folder</atom:id>
<atom:link type="application/atom+xml;type=entry" rel="self"
href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder"/>
<atom:link type="application/atom+xml;type=entry" rel="describedby"
href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder/parent"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder/children/flat"/>
<atom:link type="application/cmistree+xml" rel="down"
href="http://cmisexample.oasis-open.org/rep1/type/cmis:folder/children/tree"/>
<atom:published>2009-10-19T10:10:00.671-072010-01-25T10:20:59.92708:00</atom:published>
<atom:summary type="html">HTML summary of Type Definition
cmis:folder</atom:summary>
<atom:title type="text">Type Definition - cmis:folder</atom:title>
<atom:updated>2009-10-19T10:10:00.671-072010-01-25T10:20:59.92708:00</atom:updated>
<app:edited>2009-10-19T10:10:00.671-072010-01-25T10:20:59.92708:00</app:edited>
<cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="cmis:cmisTypeFolderDefinitionType" cmisra:id="cmis:folder">
<cmis:id>dtcmis:folder</cmis:id>
<cmis:localName>myrepname-cmis:folder</cmis:localName>
<cmis:localNamespace xsi:nil="true"/>
<cmis:displayName>cmis:folder</cmis:displayName>
<cmis:queryName>cmis:folder</cmis:queryName>
<cmis:description>Description for type definition
cmis:folder</cmis:description>
<cmis:baseId>cmis:folder</cmis:baseId>
<cmis:parentId>parent</cmis:parentId>
<cmis:creatable>true</cmis:creatable>
<cmis:fileable>true</cmis:fileable>
<cmis:queryable>false</cmis:queryable>
<cmis:fulltextIndexed>false</cmis:fulltextIndexed>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 199 of 236
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
<cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery>
<cmis:controllablePolicy>true</cmis:controllablePolicy>
<cmis:controllableACL>true</cmis:controllableACL>
</cmisra:type>
<cmisra:children>
<atom:feed>
<atom:title type="text">Children for Folder</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:10:00.671-072010-0125T10:20:59.927-08:00</atom:updated>
<atom:id>urn:uuid:7b556496-2a09-40ca-b2a53e4e5596fb89361a3ac1-f7f7-47cb-b941-ae1200213fe0</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/cmis:folder/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/cmis:folder"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/cmis:folder/children"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/cmis:folder"/>
<cmisra:numItems>1</cmisra:numItems>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content>Type Definition for customerfolder</atom:content>
<atom:id>http://cmisexample.oasisopen.org/rep1/type/customer-folder</atom:id>
<atom:link type="application/atom+xml;type=entry"
rel="self" href="http://cmisexample.oasis-open.org/rep1/type/customerfolder"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1/type/customer-folder"/>
<atom:link type="application/atom+xml;type=entry"
rel="describedby" href="http://cmisexample.oasisopen.org/rep1/type/cmis:folder"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/type/customer-folder/parent"/>
<atom:link type="application/atom+xml;type=feed"
rel="down" href="http://cmisexample.oasis-open.org/rep1/type/customerfolder/children/flat"/>
<atom:link type="application/cmistree+xml" rel="down"
href="http://cmisexample.oasis-open.org/rep1/type/customerfolder/children/tree"/>
<atom:published>2009-10-19T10:10:00.671-072010-0125T10:20:59.927-08:00</atom:published>
<atom:summary type="html">HTML summary of Type Definition
customer-folder</atom:summary>
<atom:title type="text">Type Definition - customerfolder</atom:title>
<atom:updated>2009-10-19T10:10:00.671-072010-0125T10:20:59.927-08:00</atom:updated>
<app:edited>2009-10-19T10:10:00.671-072010-0125T10:20:59.927-08:00</app:edited>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 200 of 236
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
11 January 2010
Page 201 of 236
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
<cmis:localName>myrepname-cmis:relationship</cmis:localName>
<cmis:localNamespace xsi:nil="true"/>
<cmis:displayName>cmis:relationship</cmis:displayName>
<cmis:queryName>cmis:relationship</cmis:queryName>
<cmis:description>Description for type definition
cmis:relationship</cmis:description>
<cmis:baseId>cmis:relationship</cmis:baseId>
<cmis:parentId>parent</cmis:parentId>
<cmis:creatable>true</cmis:creatable>
<cmis:fileable>false</cmis:fileable>
<cmis:queryable>false</cmis:queryable>
<cmis:fulltextIndexed>false</cmis:fulltextIndexed>
<cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery>
<cmis:controllablePolicy>true</cmis:controllablePolicy>
<cmis:controllableACL>true</cmis:controllableACL>
<cmis:allowedSourceTypes>invoice</cmis:allowedSourceTypes>
<cmis:allowedSourceTypes>capitalinvoice</cmis:allowedSourceTypes>
<cmis:allowedTargetTypes>customer</cmis:allowedTargetTypes>
</cmisra:type>
<cmisra:children>
<atom:feed>
<atom:title type="text">Children for Relationship</atom:title>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:updated>2009-10-19T10:10:00.687-072010-0125T10:20:59.943-08:00</atom:updated>
<atom:id>urn:uuid:1bc33a0d-27ac-4976-9cab58ea28e3ff6c9394ff3d-87c4-48c9-a951-ba725560faac</atom:id>
<atom:link type="application/atom+xml;type=feed" rel="self"
href="http://cmisexample.oasis-open.org/rep1/cmis:relationship/3"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1//service"/>
<atom:link type="application/atom+xml;type=entry" rel="via"
href="http://cmisexample.oasis-open.org/rep1/cmis:relationship"/>
<atom:link type="application/atom+xml;type=feed" rel="down"
href="http://cmisexample.oasis-open.org/rep1/cmis:relationship/children"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/cmis:folder"/>
<cmisra:numItems>1</cmisra:numItems>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content>Type Definition for customerrelationship</atom:content>
<atom:id>http://cmisexample.oasisopen.org/rep1/type/customer-relationship</atom:id>
<atom:link type="application/atom+xml;type=entry"
rel="self" href="http://cmisexample.oasis-open.org/rep1/type/customerrelationship"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1/type/customer-relationship"/>
<atom:link type="application/atom+xml;type=entry"
rel="describedby" href="http://cmisexample.oasisopen.org/rep1/type/cmis:relationship"/>
<atom:link type="application/atom+xml;type=entry" rel="up"
href="http://cmisexample.oasis-open.org/rep1/type/customerrelationship/parent"/>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 202 of 236
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
<atom:link type="application/atom+xml;type=feed"
rel="down" href="http://cmisexample.oasis-open.org/rep1/type/customerrelationship/children/flat"/>
<atom:link type="application/cmistree+xml" rel="down"
href="http://cmisexample.oasis-open.org/rep1/type/customerrelationship/children/tree"/>
<atom:published>2009-10-19T10:10:00.687-072010-0125T10:20:59.943-08:00</atom:published>
<atom:summary type="html">HTML summary of Type Definition
customer-relationship</atom:summary>
<atom:title type="text">Type Definition - customerrelationship</atom:title>
<atom:updated>2009-10-19T10:10:00.687-072010-0125T10:20:59.943-08:00</atom:updated>
<app:edited>2009-10-19T10:10:00.687-072010-0125T10:20:59.943-08:00</app:edited>
<cmisra:type xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:type="cmis:cmisTypeRelationshipDefinitionType"
cmisra:id="customer-relationship">
<cmis:id>dtcustomer-relationship</cmis:id>
<cmis:localName>myrepname-customerrelationship</cmis:localName>
<cmis:localNamespace xsi:nil="true"/>
<cmis:displayName>customerrelationship</cmis:displayName>
<cmis:queryName>customer-relationship</cmis:queryName>
<cmis:description>Description for type definition
customer-relationship</cmis:description>
<cmis:baseId>cmis:relationship</cmis:baseId>
<cmis:parentId>parent</cmis:parentId>
<cmis:creatable>true</cmis:creatable>
<cmis:fileable>false</cmis:fileable>
<cmis:queryable>false</cmis:queryable>
<cmis:fulltextIndexed>false</cmis:fulltextIndexed>
<cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery>
<cmis:controllablePolicy>true</cmis:controllablePolicy>
<cmis:controllableACL>true</cmis:controllableACL>
<cmis:allowedSourceTypes>invoice</cmis:allowedSourceTypes>
<cmis:allowedSourceTypes>capitalinvoice</cmis:allowedSourceTypes>
<cmis:allowedTargetTypes>customer</cmis:allowedTargetTypes>
</cmisra:type>
</atom:entry>
</atom:feed>
</cmisra:children>
</atom:entry>
<atom:entry>
<atom:author>
<atom:name>Al Brown</atom:name>
<atom:uri>http://www.ibm.com/</atom:uri>
<atom:email>albertcbrown@us.ibm.com</atom:email>
</atom:author>
<atom:content>Type Definition for cmis:policy</atom:content>
<atom:id>http://cmisexample.oasisopen.org/rep1/type/cmis:policy</atom:id>
<atom:link type="application/atom+xml;type=entry" rel="self"
href="http://cmisexample.oasis-open.org/rep1/type/cmis:policy"/>
<atom:link type="application/atomsvc+xml" rel="service"
href="http://cmisexample.oasis-open.org/rep1/type/cmis:policy"/>
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 203 of 236
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
Please also see the example documents included with the schema.
9077
3.9.6.1 GET
9078
The following arguments may be supplied. Please see the domain model for more information:
9079
includePropertyDefinitions
9080
depth
9081
3.10 Resources
9082
9083
For any HTTP verb not specified on a resource,each implementation MAY chose to implement that HTTP
verb in a repository-specific manner.
9084
9085
This represents a type definition in the repository. This is enclosed as an atom entry
9086
9087
9088
CMIS Services:
GET: getTypeDefinition
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 204 of 236
9089
9090
9091
9092
9093
Link Relations:
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
9094
9095
9096
9097
9098
9099
9100
9101
describedby: Points to the type definition atom entry of the base type of this type definition.
9102
9103
9104
The following CMIS Atom extension element MUST be included inside the atom entry:
cmisra:type
9105
3.10.1.1 GET
9106
9107
9108
9109
9110
9111
9112
Request:
GET /obj/0010d88d-d006-4d50-aad0-c8f61f80f2735070f89a-6f00-4acf-84e9d8836a6c7d23 HTTP/1.1
Host: example.org
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
Response:
HTTP/1.1 200 Ok
Date: Mon, 19 Oct 200925 Jan 2010 10:10:01 -070021:00 -0800
Content-Length: 2995
Content-Type: application/atom+xml;type=entry
Location: http://cmisexample.oasis-open.org/rep1/cmis:document
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 205 of 236
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
Please also see the example documents included with the schema.
9185
9186
9187
9188
9189
CMIS Services:
9190
9191
PUT: updateProperties
9192
DELETE: deleteObject
9193
9194
9195
Link Relations:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 206 of 236
9196
9197
self: Points to an URI that returns the atom entry for this document. Please see Atom for more
information.
9198
edit: Points to an URI that accepts PUT of atom entry. Please see AtomPub for more information.
9199
9200
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
9201
9202
9203
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.
9204
9205
9206
If the document is not versionable, this link relation may not be on the resource
9207
9208
If this version is the current-version, this link relation may not be on the resource
9209
edit-media:
9210
9211
9212
9213
describedby: Points to the type definition as an atom entry for the type of this document entry.
9214
9215
alternate: this is used to identify the renditions available for the specified object. Please see the
Renditions section.
9216
9217
9218
9219
9220
9221
9222
9223
9224
The following CMIS Atom extension element MUST be included inside the atom entry:
cmisra:object
9225
9226
3.10.2.1 GET
9227
The following arguments may be supplied. Please see the domain model for more information:
9228
returnVersion
9229
9230
9231
9232
includeAllowableActions
9233
includeRelationships
9234
includePolicyIds
9235
includeACL
9236
filter
9237
renditionFilter
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 207 of 236
9238
9239
9240
9241
9242
9243
9244
9245
Request:
GET /obj/8a7b8f30-3e9f-49b9-acf7-94851ff7ad087c088887-5991-4b3a-9ad316379127e647?filter=cmis:objectId HTTP/1.1
Host: example.org
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
Response:
HTTP/1.1 200 Ok
Date: Mon, 19 Oct 200925 Jan 2010 10:1021:00 -07000800
Content-Length: 3403
Content-Type: application/atom+xml;type=entry
Location: /obj/8a7b8f30-3e9f-49b9-acf7-94851ff7ad087c088887-5991-4b3a-9ad316379127e647?filter=cmis:objectId
11 January 2010
Page 208 of 236
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
Please also see the example documents included with the schema.
9333
9334
3.10.2.2 PUT
9335
9336
This does a replacement of the atom entry with the atom entry document specified. If readwrite
properties are not included, the repository SHOULD NOT modify them.
9337
9338
9339
9340
9341
9342
3.10.2.3 DELETE
9343
9344
9345
9346
This is the private working copy of the document (checkedout version of document)
9347
CMIS Services:
9348
GET: getObject
9349
11 January 2010
Page 209 of 236
9350
9351
DELETE: cancelCheckOut
Media Type: application/atom+xml;type=entry
9352
9353
Link relations:
9354
self: Points to the URI to retrieve this atom entry. Please see Atom for more information
9355
9356
edit: Points to the URI to update this atom entry via POST. Please see AtomPub for more
information.
9357
9358
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
9359
9360
9361
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.
9362
version-history
9363
9364
Points to an URI that returns the feed associated with the version history
edit-media
9365
9366
9367
9368
describedby: Points to the type definition as an atom entry for the type of this PWC entry.
9369
9370
alternate: this is used to identify the renditions available for the specified object. Please see the
Renditions section.
9371
9372
9373
9374
9375
9376
9377
9378
9379
cmisra:object
9380
9381
3.10.3.1 GET
9382
The following arguments may be supplied. Please see the domain model for more information:
9383
filter
9384
includeAllowableActions
9385
includeRelationships
9386
renditionFilter
9387
9388
9389
9390
9391
9392
9393
Request:
GET /obj/3ca7d7d0-1c98-4c38-9141-604d287fb8813240a476-6de6-4ab2-978d85ca2f4f3206?filter=cmis:objectId HTTP/1.1
Host: example.org
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 210 of 236
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
Response:
HTTP/1.1 200 Ok
Date: Mon, 19 Oct 200925 Jan 2010 10:1021:00 -07000800
Content-Length: 3564
Content-Type: application/atom+xml;type=entry
Location: /obj/3ca7d7d0-1c98-4c38-9141-604d287fb8813240a476-6de6-4ab2-978d85ca2f4f3206?filter=cmis:objectId
11 January 2010
Page 211 of 236
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
Please also see the example documents included with the schema.
9497
9498
3.10.3.2 PUT
9499
9500
This does a replacement of the atom entry with the atom entry document specified. If modifiable
properties (whencheckedout or readwrite) are not included, the repository SHOULD NOT modify them.
9501
9502
The following arguments may be supplied. Please see the domain model for more information:
9503
checkinComment
9504
major
9505
checkin
9506
9507
9508
9509
If this argument is specified as TRUE, then the body to PUT MAY be omitted if there are
no modifications to be made during checkin
9510
9511
11 January 2010
Page 212 of 236
9512
9513
9514
9515
3.10.3.3 DELETE
9516
This removes the document entry, in this case, cancels the check out. The PWC will be removed.
9517
9518
9519
9520
This is a CMIS Folder instance. The properties of a folder map onto the feed tag.
9521
CMIS Services:
9522
GET: getObject
9523
PUT: updateProperties
9524
DELETE: deleteObject (this is deletion of the folder only and not any contained objects)
9525
9526
9527
Link Relations:
9528
self: Points to the URI to retrieve this atom entry. Please see Atom for more information
9529
9530
editinformationedit: Points to the URI to update this atom entry via POST. Please see AtomPub
for more information.
9531
9532
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
9533
9534
describedby: Points to the type definition as an atom entry for the type of this folder entry.
9535
9536
9537
application/atom+xml : Points to the atom feed document representing the children feed
for this same folder
9538
9539
9540
9541
9542
alternate: this is used to identify the renditions available for the specified object. Please see the
Renditions section.
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
The following CMIS Atom extension element MUST be included inside the atom entry:
cmisra:object
9553
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 213 of 236
9554
3.10.4.1 GET
9555
The following arguments may be supplied. Please see the domain model for more information:
9556
filter
9557
includeAllowableActions
9558
includeRelationships
9559
renditionFilter
9560
9561
9562
9563
9564
9565
9566
Request:
GET /obj/24cbe125-1ffc-4459-8089-0e6f0a500150cfc03a28-8240-471d-b4ba6d8756cd5093?filter=cmis:objectId HTTP/1.1
Host: example.org
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
Response:
HTTP/1.1 200 Ok
Date: Mon, 19 Oct 200925 Jan 2010 10:1021:00 -07000800
Content-Length: 3332
Content-Type: application/atom+xml;type=entry
Location: /obj/24cbe125-1ffc-4459-8089-0e6f0a500150cfc03a28-8240-471d-b4ba6d8756cd5093?filter=cmis:objectId
11 January 2010
Page 214 of 236
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
Please also see the example documents included with the schema.
9665
9666
3.10.4.2 PUT
9667
9668
This does a replacement of the atom entry with the atom entry document specified. If readwrite
properties are not included, the repository SHOULD NOT modify them.
9669
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 215 of 236
9670
9671
9672
9673
9674
3.10.4.3 DELETE
9675
9676
9677
9678
This is a CMIS relationship instance. These objects are exposed via relationships link type.
9679
CMIS Services:
9680
GET: getObject
9681
PUT: updateProperties
9682
DELETE: deleteObject
9683
9684
9685
Link Relations:
9686
self: Points to the URI to retrieve this atom entry. Please see Atom for more information
9687
9688
edit: Points to the URI to update this atom entry via POST. Please see AtomPub for more
information.
9689
9690
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
9691
9692
describedby: Points to the type definition as an atom entry for the type of this relationship entry.
9693
http://docs.oasis-open.org/ns/cmis/link/200908/target
9694
http://docs.oasis-open.org/ns/cmis/link/200908/source
9695
9696
9697
9698
9699
9700
9701
cmisra:object
9702
9703
3.10.5.1 GET
9704
The following arguments may be supplied. Please see the domain model for more information:
9705
filter
9706
includeAllowableActions
9707
9708
9709
9710
Request:
GET /obj/38af30f5-020d-4274-b25c-0821b6db899bad443afd-aa1a-4071-97351a49aac4e439?filter=cmis:objectId HTTP/1.1
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 216 of 236
9711
9712
Host: example.org
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
Response:
HTTP/1.1 200 Ok
Date: Mon, 19 Oct 200925 Jan 2010 10:10:01 -070021:00 -0800
Content-Length: 2861
Content-Type: application/atom+xml;type=entry
Location: /obj/38af30f5-020d-4274-b25c-0821b6db899bad443afd-aa1a-4071-97351a49aac4e439?filter=cmis:objectId
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 217 of 236
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
Please also see the example documents included with the schema.
9789
9790
3.10.5.2 PUT
9791
9792
This does a replacement of the atom entry with the atom entry document specified. If readwrite
properties are not included, the repository SHOULD NOT modify them.
9793
9794
9795
9796
9797
9798
3.10.5.3 DELETE
9799
9800
9801
9802
9803
CMIS Services:
9804
GET: getObject
9805
PUT: updateProperties
9806
9807
9808
9809
Link Relations:
9810
self
9811
edit
9812
9813
service: Points to service document containing the CMIS repository. The service document
MUST contain only one workspace element.
9814
9815
describedby: Points to the type definition as an atom entry for the type of this policy entry.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 218 of 236
9816
9817
alternate: this is used to identify the renditions available for the specified object. Please see the
Renditions section.
9818
9819
9820
9821
9822
9823
9824
cmisra:object
9825
9826
3.10.6.1 GET
9827
The following arguments may be supplied. Please see the domain model for more information:
9828
filter
9829
includeAllowableActions
9830
includeRelationships
9831
renditionFilter
9832
9833
9834
9835
9836
9837
9838
Request:
GET /obj/408fb453-4a18-4103-b495-e84a2a2761a0a09ed524-5f1b-4940-b2f04e4cd4631bf0?filter=cmis:objectId HTTP/1.1
Host: example.org
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
Response:
HTTP/1.1 200 Ok
Date: Mon, 19 Oct 200925 Jan 2010 10:1021:00 -07000800
Content-Length: 2608
Content-Type: application/atom+xml;type=entry
Location: /obj/408fb453-4a18-4103-b495-e84a2a2761a0a09ed524-5f1b-4940-b2f04e4cd4631bf0?filter=cmis:objectId
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 219 of 236
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
Please also see the example documents included with the schema.
9910
9911
3.10.6.2 PUT
9912
9913
This does a replacement of the atom entry with the atom entry document specified. If read/write
properties are not included, the repository SHOULD NOT modify them.
9914
9915
9916
9917
9918
9919
3.10.6.3 DELETE
9920
9921
This removes the policy entry. If this policy entry was discovered through a policy collection on an object,
then removePolicy() is performed rather than deleteObject() on the policy itself.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 220 of 236
9922
9923
9924
9925
9926
CMIS Services:
9927
GET: getContentStream
9928
PUT: setContentStream
9929
DELETE: deleteContentStream
9930
9931
3.10.7.1 GET
9932
9933
9934
9935
It is RECOMMENDED that HTTP Range requests are supported on this resource. It is RECOMMENDED
that HTTP compression is also supported.
9936
9937
9938
3.10.7.2 PUT
9939
9940
9941
9942
The following optional arguments may be supplied. Please see the domain model for more information:
9943
9944
overwriteFlag.
o
If not specified, this defaults to true in this binding and behaves consistent with
AtomPub.
9945
9946
9947
9948
9949
Success HTTP code: 200 (with content), 204 (without content) or 201 if a new resource is created.
Please see the HTTP specification for more information.
9950
9951
Returns headers:
9952
9953
9954
3.10.7.3 DELETE
9955
9956
9957
CMIS Services:
9958
GET: getACL
9959
PUT: applyACL
9960
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 221 of 236
9961
9962
9963
3.10.8.1 GET
9964
9965
This returns the CMIS ACL for a specified object. The client will follow the link on the atom entry to get
the CMIS ACL for that object.
9966
9967
9968
9969
9970
9971
Request:
GET /objacl/59fe373b-0348-493e-baaf-21089b596f0afd79b7bd-2579-4ad1-aea2eda89527fbef HTTP/1.1
Host: example.org
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
Response:
HTTP/1.1 200 Ok
Date: Mon, 19 Oct 200925 Jan 2010 10:1021:00 -07000800
Content-Length: 758
Content-Type: application/cmisacl+xml
Location: /objacl/59fe373b-0348-493e-baaf-21089b596f0afd79b7bd-2579-4ad1-aea2eda89527fbef
10000
10001
Please also see the example documents included with the schema.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 222 of 236
10002
10003
4.1 Overview
10004
All services and operations defined in the Domain Model are presented in the Web Services binding.
10005
10006
10007
10008
10009
The WSDL for these services reference two XSD documents. One defines elements for the primary data
types of documents, folders, relationships and policies as well as collections of these types of objects.
The second XSD defines the message formats for each of the CMIS services; the messages often refer
to the data types defined in the first XSD schema. The WSDL presents exactly the abstract services
defined in the Services section.
10010
10011
The normative CMIS Web Services binding is defined by the WSDL and XSD as well as the details given
here in this part of the CMIS specification except the examples.
10012
4.1.1 WS-I
10013
A CMIS Web Services binding MUST comply with WS-I Basic Profile 1.1 and Basic Security Profile 1.0.
10014
4.1.2 Authentication
10015
10016
10017
A CMIS Web Services binding SHOULD support WS-Security 1.1 for Username Token Profile 1.1 and
MAY also support other authentication mechanisms. A CMIS repository MAY grant access to all or a
subset of the CMIS services to unauthenticated clients.
10018
10019
10020
A CMISAll endpoints of the Web Services binding SHOULD supportMUST be MTOM content transfers. It
MUST accept content that is base64 encoded.
10021
10022
10023
10024
Services MUST report errors via SOAP faults. The CMIS-Messaging.xsd defines a basic fault structure
that includes an error code and an error message and the WSDL for each service defines specific
messages that have the basic fault format.
10025
10026
10027
10028
10029
10030
The Domain Model defines all services, operations, parameters and objects of CMIS. The Web Services
binding is an exact one-to-one mapping of this definition with small exceptions that are explained in the
next section. Operations and parameters are named exactly after their counterparts in the Services
section. All rules and exceptions defined there apply to the Web Services binding. Optional parameters
and optional return values are not set if they are missing or their value is NULL.
10031
10032
10033
10034
10035
This binding supports partial properties updates. All properties passed to updateProperties or checkIn will
be updated to their new values. Properties that are passed without a value will be set to their default
value or un-set if no default value is defined. All others property values remain untouched.
10036
10037
10038
This binding supports the retrieval of content ranges. The operation getContentStream accepts two
optional parameters:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 223 of 236
10039
Integer offset: The first byte of the content to retrieve. Default value is 0.
10040
10041
Integer length: The length of the range in bytes. Default value is the size of the content minus
the offset.
10042
10043
10044
If the offset value is greater than the size of the content the repository SHOULD throw a constraint
exception.
10045
10046
If offset + length is greater than the size of the content the repository should deliver the content from the
offset to the end of the content.
10047
10048
4.3.3 Extensions
10049
10050
On all input messages and some output messages exists an element called extension. This element is
used to provide vendor or repository-specific information between client and server.
10051
10052
All of the types referenced by the schema also support xs:any for vendor or repository-specific
information.
10053
10054
This binding requires specific structures that are not part of the general CMIS schema.
10055
Please also see the example request and response documents included with the schema.
10056
10057
10058
cmisFaultType and cmisFault SHOULD be used to generate SOAP faults. See 4.1.4 Reporting
Errors.
10059
4.3.4.2 cmisRepositoryEntryType
10060
10061
cmisRepositoryEntryType is the return structure of getRepositories. It contains the id and the name
of a repository.
10062
4.3.4.3 cmisTypeContainer
10063
10064
4.3.4.4 cmisTypeDefinitionListType
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
11 January 2010
Page 224 of 236
10078
4.3.4.7 cmisContentStreamType
10079
cmisContentStreamType wraps a content stream and additional information about the stream.
length
Client to Repository
Repository to Client
SHOULD be set
SHOULD be set
SHOULD be set
MUST be set
SHOULD be set
SHOULD be set
MUST be set
MUST be set
filename
stream
10080
10081
4.3.4.8 cmisACLType
10082
10083
10084
cmisACLType is the return structure of getACL and applyACL. It contains the current Access Control List
(ACL) of the object and the exact flag that indeciates if the ACL fully describes the permission of this
object.
10085
4.3.4.9 cmisExtensionType
10086
10087
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 225 of 236
10088
5 IANA Considerations
10089
10090
10091
A CMIS Query Document, when serialized as XML 1.0, can be identified with the following media type:
10092
10093
10094
10095
10096
Optional parameters:
10097
10098
10099
10100
10101
10102
10103
10104
10105
"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.
10106
10107
10108
10109
Additional information:
10110
Magic number(s):
10111
10112
10113
Fragment identifiers:
10114
10115
10116
10117
10118
10119
10120
Al Brown <albertcbrown@us.ibm.com>
OASIS CMIS TC <cmis@lists.oasis-open.org>
10121
10122
10123
10124
10125
A CMIS Allowable Actions Document, when serialized as XML 1.0, can be identified with the following
media type:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 226 of 236
10126
10127
10128
10129
10130
Optional parameters:
10131
10132
10133
10134
10135
10136
10137
10138
10139
"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.
10140
10141
10142
10143
Additional information:
10144
Magic number(s):
10145
10146
10147
Fragment identifiers:
10148
10149
10150
10151
10152
10153
10154
Al Brown <albertcbrown@us.ibm.com>
OASIS CMIS TC <cmis@lists.oasis-open.org>
10155
10156
10157
10158
10159
A CMIS Tree Document, when serialized as XML 1.0, can be identified with the following media type:
10160
10161
10162
10163
10164
Optional parameters:
10165
10166
10167
"charset": This parameter has semantics identical to the charset parameter of the "application/xml" media
type as specified in [RFC3023].
Encoding considerations:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 227 of 236
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
Fragment identifiers:
10182
10183
10184
10185
10186
10187
Al Brown <albertcbrown@us.ibm.com>
10188
10189
10190
10191
10192
10193
A CMIS Atom Document, when serialized as XML 1.0, can be identified with the following media type:
10194
10195
10196
10197
10198
Optional parameters:
10199
10200
"charset": This parameter has semantics identical to the charset parameter of the "application/xml" media
type as specified in [RFC3023].
10201
10202
type: This parameter has semantics identical to the type parameter of the application/atom+xml as
specified in [RFC4287]
10203
10204
10205
10206
10207
10208
10209
10210
Encoding considerations:
Identical to those of "application/xml" as described in [RFC3023], Section 3.2.
Security considerations: As defined in this specification.
In addition, as this media type uses the "+xml" convention, it shares the same security considerations as
described in [RFC3023], Section 10.
Interoperability considerations:
There are no known interoperability issues.
Published specification: This specification.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 228 of 236
10211
10212
10213
Additional information:
10214
Magic number(s):
10215
10216
10217
Fragment identifiers:
10218
10219
10220
10221
10222
10223
Al Brown <albertcbrown@us.ibm.com>
10224
10225
10226
10227
10228
Please see section 3.1.1 on why this media type is needed above the Atom Media Type.
10229
10230
A CMIS ACL Document, when serialized as XML 1.0, can be identified with the following media type:
10231
10232
10233
10234
10235
Optional parameters:
10236
10237
10238
10239
10240
10241
10242
10243
10244
"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.
10245
10246
10247
10248
Additional information:
10249
Magic number(s):
10250
10251
10252
Fragment identifiers:
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 229 of 236
10253
10254
10255
10256
10257
10258
Al Brown <albertcbrown@us.ibm.com>
10259
10260
10261
10262
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 230 of 236
10263
6 Conformance
10264
10265
An implementation conforms to this specification if it satisfies all of the MUST or REQUIRED level
requirements defined within this specification.
10266
Specification:
10267
10268
10269
10270
10271
10272
This specification references a number of other specifications (see the table above). In order to
comply with this specification, an implementation MUST implement the portions of referenced
specifications necessary to comply with the required provisions of this specification. Additionally,
the implementation of the portions of the referenced specifications that are specifically cited in
this specification MUST comply with the rules for those portions as established in the referenced
specification.
10273
10274
10275
An implementation conforms to this specification if it satisfies all of the MUST or REQUIRED level
requirements defined within this specification.
10276
10277
10278
Domain Model:
10279
Normative text within this specification takes precedence over the CMIS Core XML Schema.
10280
10281
10282
That is, the normative text in this specification further constrains the schemas and/or WSDL that
are part of this specification; and this specification contains further constraints on the elements
defined in referenced schemas.
10283
10284
Clients:
10285
10286
Client implementations MAY implement either Restful AtomPub Binding or the Web
Services Binding.
10287
10288
Repositories:
10289
10290
10291
10292
10293
Rest Binding:
10294
10295
10296
10297
10298
10299
This specification references a number of other specifications. In order to comply with this
specification, an implementation MUST implement the portions of referenced specifications
necessary to comply with the required provisions of this specification. Additionally, the
implementation of the portions of the referenced specifications that are specifically cited in this
specification MUST comply with the rules for those portions as established in the referenced
specification.
10300
10301
10302
10303
Additionally normative text within this specification takes precedence over the CMIS RestAtom
XML Schema. That is, the normative text in this specification further constrains the schemas
and/or WSDL that are part of this specification; and this specification contains further constraints
on the elements defined in referenced schemas.
10304
10305
The CMIS RestAtom XML takes precedence over any examples or non-normative outlines
included either in this document or as standalone examples.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 231 of 236
10306
10307
10308
10309
10310
10311
Normative text within this specification takes precedence over the CMIS Messaging XML and
CMIS WSDL. That is, the normative text in this specification further constrains the schemas and
WSDL that are part of this specification; and this specification contains further constraints on the
elements defined in referenced schemas.
10312
10313
The CMIS Messaging XML and CMIS WSDL takes precedence over any examples or nonnormative outlines included either in this document or as standalone examples.
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 232 of 236
10314
A. Acknowledgements
10315
10316
The following individuals have participated in the creation of this specification and are gratefully
acknowledged:
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
Participants:
Philippe Allart, Adullact
Florian Bartels, fme AG
Fred Boiscuvier, Exalead, Inc.
Al Brown, IBM
Jay Brown, IBM
Mark Carlson, Sun Microsystems
Derek Carr, IBM
David Caruana, Alfresco Software
Eric Chan, Oracle Corporation
Sameer Charles, Magnolia International AG
David Choy, EMC Corporation
Scott Conroy, Individual
Cornelia Davis, EMC Corporation
Kevin Dorr, Flatirons Solutions Corporation
Jason Dubreuil, Fidelity Investments
Betsy Fanning, AIIM
Steffen Frederiksen, Content Technologies ApS
Stephan Friedl, Quark
Dustin Friesenhahn, Microsoft Corporation
Gary Gershon, Individual
Paul Goetz, SAP AG
Gregory Grefenstette, Exalead, Inc.
Florent Guillaume, Nuxeo
Ethan Gur-esh, Microsoft Corporation
Martin Hermes, SAP AG
Jens Huebel, Open Text Corporation
David Izatt, Structured Software Systems Limited (3SL)
Gershon Janssen, Individual
Volker John, Saperion AG
Shane Johnson, Citytech, Inc.
Christophe Kijewska, Adullact
Ijonas Kisselbach, Vamosa
Mark Klamerus, Individual
Stephan Klevenz, SAP AG
Boris Kraft, Magnolia International AG
Alison Macmillan, Oracle Corporation
Michael Marth, Day Software
Mary McRae, OASIS
Ryan McVeigh, Oracle Corporation
Juerg Meier, fme AG
Gregory Melahn, IBM
Pat Miller, Microsoft Corporation
Florian MuellerMller, Open Text Corporation
Thomas Mueller, Day Software
John Newton, Alfresco Software
David Nuescheler, Day Software
Conleth O'Connell, Vignette Corporation
Dominique Pfister, Day Software
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 233 of 236
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 234 of 236
10406
B. Non-Normative Text
10407
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 235 of 236
10408
C. Revision History
10409
Revision
Date
Editor
Changes Made
1.0
01/11/2010
Al
Brown
First specification
10410
cmis-spec-v1.0
Copyright OASIS 2010. All Rights Reserved.
11 January 2010
Page 236 of 236