Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Page Properties
hiddentrue
idREFACTURE

Product Version
Report Notepresentable, review (move stuff into tutorials)
Assignee

Resources & Remarks

  • There is already good text available in the tutorial section - it needs to be split into concept article and tutorial.
  • The app schemata article, originally located in the Tutorials section, has been moved into this article. The REST endpoint overview around the application schemata topic should probably be moved back into the tutorials and linked here.
  • v2.2 - Inga: "floating" secondary object type infos added
  • Antje: add Content Stream Properties as a new section in the hidden part.
  • Antje: move Content Stream Properties to the public section "System Properties"
  • Antje: contentStreamAllowed attribute added for SOTs

Modification History

NameDateProduct VersionAction
Antje08 FEB 20212020 WinterNew page properties macro.
Agnieszka02 JUNE 20212021 SummerrLANG (partial)


...

An exception are column names in Table Property Definitions, where prefixes are prohibited as of version 2020 Winter.

...

AttributeTypeRequiredDescription
id
StringyesThe type ID of the property. It uniquely identifies the property in the schema.
localNamespace
URInoBy using namespaces, it is possible to form groups of properties and object types.
description
StringnoDescribes the property.
propertyType

Anchor
OverallAttributes_cardinality
OverallAttributes_cardinality

EnumyesSpecifies the type of this property. The following types are supported:
  • boolean
  • integer
  • datetime
  • decimal
  • string
  • table
  • id
cardinality
Anchor
OverallAttributes_required
OverallAttributes_required
Enumyes

Defines whether the property can have a maximum of one or an arbitrary number of values. Possible values are single and multi.

required
Booleanyes

If true, the object must have at least one value of this property. If a property is required and has no defaultValue, the application must provide a value during the create operation.

This attribute can be overwritten in the property references of object type definitions. Hence, the same property can be required in one object type and not required in another object type.
Following the concept of secondary object types, the same property can be referenced by multiple object type definitions. If these object type definitions have different required values for the same property, the value true always dominates over false.
Check out the tutorial "Overwriting the 'required' Property Attribute" for further examples.

queryable
Anchor
OverallAttributes_defaultValue
OverallAttributes_defaultValue
BooleannoSpecifies whether or not the property may appear in the WHERE clause of a query statement. Default is true. false is only allowed for table properties.
classificationStringno

Declares the classifications this property belongs to. There is no validation or use in the system itself. For example, string properties can be classified as 'email' or 'url' and a client can use this classification to present the property's content in an appropriate manner. This tag can be used several times and the corresponding values are delivered in an array.

Note: Make sure to validate the strings you set for the classification tags, so that your application will not fail if the string does not match the expected syntax.

defaultValue
depending on the
propertyType
no

The value that the system sets for the property if no value is provided during object creation. If the cardinality is multi, there can be more than one default value and a list of all default values is provided.

...

There are different groups of object type definitions:


Info

In a schema, all object type definitions must appear in this order. First all document object type definitions, then all folder object type definitions and so on.

...

AttributTypeRequiredDescription
contentStreamAllowed
Enumyes

Specifies whether objects of this type must, must not, or may have content.

Possible values are:

  • required
  • notallowed
  • allowed (default)

Note: The attribute is also available for secondary object type definitions. If a secondary object type with a specified contentStreamAllowed attribute is referenced in the document object type definition, it might influence the final value of contentStreamAllowed or even lead to contradictions. Conflict situations can occur and lead to an invalid schema or invalid documents. The schema is invalid if the conflict occurs between secondary object type definitions and document object type definitions. Conflict situations between referenced secondary object types are not detected in the schema validation process, but can also lead to invalid documents. Find more details in the section on secondary object type definitions.

secondaryObjectTypeId
Stringno

References to secondary object types (if there are several secondary object types, they are listed one below the other). Determines which secondary object types an instance of this object type receives upon creation (static="true") or can be added at runtime (static="false").
>> Secondary Object Type Definition

Info
In contrast to the CMIS specification (Content Management Interoperability Services), in which the secondary object types can be determined freely for each object instance, the schema specifies which secondary object types an object instance must have.


...

AttributeTypeRequiredDescription
secondaryObjectTypeId
Stringno

References to secondary object types (if there are several secondary object types, they are listed one below the other). Determines which secondary object types an instance of this object type receives upon creation (static="true") or can be added at runtime (static="false").
>> Secondary Object Type Definition

Info
In contrast to the CMIS specification (Content Management Interoperability Services), in which the secondary object types can be determined freely for each object instance, the schema specifies which secondary object types an object instance must have.


...

Attribute

TypeRequiredDescription

contentStreamAllowed
(As of product version 2020 Autumn)

Enumno

Can substantiate the contentStreamAllowed attribute of document type definitions. Possible values are analogous to document object type definitions: required, notallowedallowed.

For the final document, content will be allowed if only allowed values occur in the document type definition and included secondary object type definitions for this attribute.

For the final document, content will be required (notallowed) if the value is required (notallowed) in at least one object type definition  either document type definition or included secondary object type definition.

Conflict situation leading to invalid documents: any combination of at least once required and at least once notallowed in included secondary object type definitions or the document object type definition itself.

  • If the conflict occurs between the document object type definition and a secondary object type definition, the whole schema is invalid.
  • If the conflict occurs between secondary object type definitions with at least one of them referenced as static, the schema is valid but the document validation will fail (instantiated documents will be invalid).
  • If the conflict occurs exclusively between secondary object type definitions referenced as floating, a document cannot have conflicting secondary object types at the same time. If a secondary object type with the value required (notallowed) is added to the document, all secondary object types with the value notallowed (required) must be removed by means of the keyword "remove":.

If contentStreamAllowed is specified in a secondary object type definition, this secondary object type cannot be referenced in folder object type definitions. The schema would be invalid.

...

PropertyTypeDescriptionSet by
system:objectIdstringIdentifies the object in the database.system
system:baseTypeIdstringIdentifies the object type the object instantiates. Secondary object types are not allowed.system
system:objectTypeId

string

Required during an import and cannot be changed lateron.

Identifies the object's type.

user

system:secondaryObjectTypeIds

JSON list of stringsContains the secondaryObjectTypeId for each secondary object type associated with the document object type in the schema.user
system:createdBystringuserId of the user that has initially created the object.system
system:creationDatestringDate of the object's creation in format yyyy-MM-ddTHH:mm:ss.fffZ.system
system:lastModifiedBystringuserId of the user that sent the last successful POST request on the object.system
system:lastModificationDatestringDate of the last successful POST request on the object as a string in format yyyy-MM-ddTHH:mm:ss.fffZ.system

system:parentId

string

system:objectId of the parent folder. Available for documents and as of version 2020 Winter, also for folders.

During an import or update operation, the object can be assigned to an existing folder by referencing its system:objectId in the system:parentId of the target document or folder object. The existence of the parent folder is validated by means of the specified system:parentId. Furthermore, circles in the folder hierarchy are forbidden and do not pass the validation.

user
system:parentObjectTypeId

string

Identifies the folder object type of the parent folder that is specified by system:parentId.

Available for document object types and as of version 2020 Winter, also for folder object types.

system
system:versionNumberintegerInteger object version number. Corresponds to the number of POST requests on the object starting with the initial creation.system
system:tenantstringIdentifies the tenant the object belongs to.system
system:traceIdstringThe traceid of the import operation or last update operation.

Unique process number of any operation. If not specified in the request, a random string value will be set.

system

system:tags

JSON table of strings and integers

Contains the properties of the tags assigned to the object.

>> Tagging

user

system:rmExpirationDate

string

Only available for documents. Secondary object type system:rmDestructionRetention is required.

The binary content of the object cannot be changed or deleted before this date, but metadata updates are allowed. In an update request, the system:rmExpirationDate cannot be replaced by an earlier date.

>> Document Retention

user

system:rmStartOfRetention

string

Only available for documents. Secondary object type system:rmDestructionRetention and a non-null value for system:rmDestructionRetention is required.

This date defines the start of the retention time. It has to be earlier in time than the system:rmExpirationDate.

user

system:rmDestructionDate

string

Only available for documents. Secondary object type system:rmDestructionRetention and a non-null value for system:rmDestructionRetention is required.

If system:rmDestructionRetention is set, it must either be equal to or later in time than system:rmExpirationDate.

user

Anchor
ContentStreams
ContentStreams

Content Stream Properties

...

The app schema endpoints are:

When uploading an app schema, all properties that do not specify a prefix will have that prefix generated as app<app name> where <app name> is equal to the path parameter {app}.

...

Each object type ID and property type ID has the prefix ten + <tenant name>. Thus, the same object type name can occur in multiple tenant schemata.

...

Info
iconfalse

Read on

Section


Column
width25%

Managing the Schema 

Insert excerpt
Managing the Schema
Managing the Schema
nopaneltrue
 Keep reading


Column
width25%

Importing Documents 

Insert excerpt
Importing Documents via Core API
Importing Documents via Core API
nopaneltrue
 Keep reading


Column
width25%

Changing Schema Structures

Insert excerpt
Changing Schema Structures ("Schema Flow")
Changing Schema Structures ("Schema Flow")
nopaneltrue
 Keep reading




...