Proposal: Secondary Object Types

Proposal: Secondary Object Types

<p>Proposal: Secondary Object Types</p><p>A CMIS 1.0 object has one (primary) object type that defines the properties of this object and cannot be changed. However, many repositories support secondary object types (mix-ins/aspects/categories/…) that can be attached to and removed from an object during its lifetime. </p><p>There are three main use cases for secondary types:</p><p>- Additional metadata has to be attached after the document has been created. Adding a new set of properties is necessary for some business cases. Also, some technical metadata derived from the content can only be added after the repository has analyzed the content.</p><p>- Some common and crosscutting concepts such as tags, comments and ratings can be implemented with secondary types.</p><p>- Properties of secondary types can also reveal (and control?) the status of an object. Examples are legal holds, workflows, storage/archiving information, publishing information, etc.</p><p>See also http://wiki.oasis-open.org/cmis/Mixin_Proposal .</p><p>This proposal describes how secondary types can be introduced in CMIS 1.1.</p><p>Additions to CMIS 1.0</p><p>- Add a new base type “Mixin”. By default, this type has no properties and its sole propose is to be the root type of all secondary object types. This type and types derived from it cannot be used as primary object type. The Mixin base type is optional.</p><p>- All other base types get an additional property cmis:secondaryObjectTypeIds (property type: id, cardinality: multi-value, updatablility: <repository specific>). Similar to cmis:objectTypeId it holds the type ids of the secondary object types. If a repository does not support secondary types for a base type, the property definition is not exposed in the type definition. Therefore, CMIS 1.1 clients see CMIS 1.0 repositories as repositories without secondary type support.</p><p>- Secondary types can be applied as part of the object creation and by updating the cmis:secondaryObjectTypeIds property. A repository must return an error if the secondary type(s) cannot be applied. </p><p>- Secondary types can be removed by removing its id from the cmis:secondaryObjectTypeIds property list. All associated properties disappear as well. A repository must return an error if the secondary type(s) cannot be removed. </p><p>- Properties get a new attribute “typeDefinitionId”. It holds the type id that defines the property. If this attribute is missing, the primary type of the object is assumed.</p><p>- Properties of secondary types are delivered by default. In property filters the syntax <secondaryTypeQueryName>.<propertyQueryName> must be used.</p><p>- In queries secondary type properties are addressed in this way: [<primaryTypeQueryName_OR_alias>.]<secondaryTypeQueryName>.<propertyQ ueryName></p><p>Examples:</p><p>SELECT cmis:name, pic:exif.xResolution, pic:exif.yResolution, FROM cmis:document WHERE pic:exif.exposureTime < 0.002</p><p> where pic:exif is a secondary type.</p><p>SELECT cmis:objectId, cmis:name, tagging.tags FROM cmis:document WHERE ANY tagging.tags IN ("dog", "cat")</p><p> where tagging is a secondary type.</p><p>SELECT y.claim_mun, x.property_addrss, y.damage_estimates, x.risk.level FROM policy as x JOIN claims as y ON (x.policy_num = y.policy_num) WHERE (100000 = ANY y.damge_estimates) AND x.risk.level > 3</p><p> where risk is a secondary type.</p><p>- If secondary type properties are used in a SELECT or a WHERE clause and an object does not have this secondary type applied to it, all secondary type property values are assumed as not-set.</p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    2 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us