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)
Antje12 JUL 20222022 Autumnadd fulltextIndexed attribute for String Properties
Agnieszka06 SEP 20222022 AutumnrLANG (partial)
Antje14 OCT 2022all versionstable columns can have cardinality "multi"


...

In every property definition and every object type definition the id attribute is required. It is used to identify the object type or property. An ID is a string with a maximum of 63 characters and it must match the regular expression
([a...zA...-zA-Z][a...zA...Z0...-zA-Z0-9]*:)?[a...zA...-zA-Z][a...zA...Z0...-zA-Z0-9]*.

Type IDs are also used as the name of the type, e.g., in query operations. Hence, it is recommended to choose meaningful values for type IDs.

...

As of 2021 Winter, it is possible to use the - character as an additional separator within prefixes for tenant-specific IDs if matching the following regular expression:
(([a...zA...-zA-Z][a...zA...Z0...9]*-)?([a...zA...Z][a...zA...Z0...9-zA-Z0-9-]*:))?[a...zA...-zA-Z][a...zA...Z0...-zA-Z0-9]*

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.

...

As of version 2020 Winter, the column names specified via <id>examplecolumn</id> must not contain a prefix. They have to follow the convention [a...zA...-zA-Z][a...zA...Z0...-zA-Z0-9]*. Otherwise, the schema containing the corresponding property definition will not pass the validation.

...

As of version 2021 Summer, yuuvis® Momentum offers a property type for the storage of structured data in JSON format. Thus, it is possible to store interleaved data structures in a queryable way without defining each single sub-property in the schema. An example definition is shown in the code block below. The schema validation checks if the ID follows the convention. Only the value single is allowed as cardinality .

...

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.

...

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




...