Property Definitions
The name of a property definition is replaced by id and no longer restricted to SQL-92 syntax, but can be an arbitrary string. The type should be changed from propertyString to propertyId. The id has no restrictions on allowed characters or length.
A repository SHOULD expose its native property name as it appears in its native user interface.
Example: id="Business Object Id"
groupId (formerly namespace prefix) type: URI
The groupId identifies a logical group of properties. Ids within the same group (identified by the same groupId) are unique. The combination of groupId plus Id is globally unique.
The groupId MUST be a URI.
Example: groupId="http://example.com/myApp/"
A globally unique identifier can be composed by concatenating the group identifier plus the property name in an ISO 9075 escaped form.
All CMIS defined properties use a fixed group identifier like:
http://docs.oasis-open.org/ns/cmis/core/200901/
The queryName is a flat unstructured string restricted to SQL 92 syntax. The queryName is unique within a type.
Example: BUSINESS_OBJECT_ID
Sample Property Definition:
<n0:propertyIdDefinition xmlns:n0="http://docs.oasis-open.org/ns/cmis/core/200901">
<n0:id>Business Object Id</n0:id>
<n0:groupid>http://example.com/myApp/</n0:groupid>
<n0:queryname>BUSINESS_OBJECT_ID</n0:queryname>
...
</n0:propertyIdDefinition>
All methods containing properties (getObject(), updateProperties()) get an additional mandatory attribute group identifier
<ns1:object>
<ns1:properties>
<ns1:propertyDateTime ns1:id="LastModificationDate" ns1:groupId="http://docs.oasis-open.org/ns/cmis/core/200901/">
<ns1:value>2009-04-17T13:50:58.671-07:00</ns1:value>
</ns1:propertyDateTime>
</ns1:properties>
</ns1:object>
Type Definition
has id, group identifier, query name with the same rules as for property definitions.