Versions Compared

Key

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

...

Page Properties
hiddentrue

Status

Status
colourYellow
titleprogress

Priority
Note
AssigneeAntje

Resources

Remarks

  • Antje: page created as a copy of the schema tutorial
  • Inga - Review
    • Überschriften für Tutorials sind aktiv formuliert - was mache ich ... Using property definitions several times | Overwriting property attribute "required"
    • Einsortieren würde ich erst einmal vor dem Tagging in der Navigation 
    • "property type" (e.g. integer / date / string)  vs. "property definition"
    • "object type" vs "object type definitions" - siehe z.B. im excerpt
    • defined properties are "referenced" in an object type definition vs. "selected"
    • Heading "Overwriting by a Secondary Object Type Definition" - An alternative possibility is the usage of a secondary object type on which the object type definition can be based. => verstehe den Satz nicht - was meint hier "based" - "enhanced" und nicht die OTdefinition, sondern die Instanz selbst ...
    • "non-static" vs. "floating" - wenn dies dann zur Laufzeit oder direkt beim Import hinzugefügt wird ... fehlt mir noch als Info in dem Absatz
    • Ich fände es gut, wie property definition mit in jedem Beispiel aufzuführen - damit der Initalwert sichtbarer ist - sind zwar 6 Zeilen aber wäre mir leichter gefallen zu lesen
    • Heading "Handling of Multiple Property References"
      • specifying ... es wird nur das Attribut genannt - wäre es nicht sinnvoll dies mit propertyreference zu erwähnen
      • CODE - zweiter SOT ist ohne attribute - ist das richtig so? / initial ist es ebenfalls auf false gesetzt - wird dann überschrieben?

...

Excerpt

This tutorial shows how to use the same property type in different object types, in some of them as a required property type and in others as a non-required property type.


Section
bordertrue


Column

Table of Contents

Table of Contents
maxLevel3
exclude(Table of Contents|Read on|Another Tutorial|Another Concept Article|Another interesting Tutorial|Managing the Schema|Schema - Defining Object Types|DMS Endpoints)


Introduction

The metadata structure of object types has to be defined in the schema. In this definition, properties are selected that should be connected to the object type. Each property is in turn defined in the schema by the specification of its attributes. The properties can be selected or not selected in object type definitions, but their attributes are fixed and can not be modified. There required attribute is the only exception as it can be overwritten by a propertyReference in object type definitions. This makes it possible to decide for each property individually whether it is required in every single object type or not. Since schema structures can even be changed at runtime, yuuvis® Momentum offers a high flexibility in terms of document lifecycle management.

Requirements

To work through this tutorial, the following is required:

Overwriting the required Attribute of Properties

All property definitions in the schema need the specification of the required attribute. Its boolean value decides if the corresponding property is mandatory (true) or optional (false) for an object.  However, the value of the required attribute can be overwritten by a propertyReference in object type definitions or secondary object type definitions.

Property Definition

In an import management system, documents might be imported with less properties than they will have lateron in their lifecycle. A freshly imported object for example does not necessarily have an editor. Later in the document lifecycle, this information may be required. By overwriting the required attribute of the property editor, it is possible to use the same property throughout the entire lifecycle.

...

Code Block
languageyml
titleProperty definition
linenumberstrue
<propertyStringDefinition>
    <id>editor</id>
    <propertyType>string</propertyType>
    <cardinality>single</cardinality>
    <required>true</required>
</propertyStringDefinition>

Overwriting Using an Object Type Definition

In an object type definition, a propertyReference can be used to set a value for the required attribute of a property. This value can be different from the value specified in the property definition. In this case, the required attribute will have the value soecified in the object type definition.

...

Code Block
languageyml
titleOverwriting of the required attribute by object type definition
linenumberstrue
<typeDocumentDefinition>
    <id>imported1</id>
    <baseId>system:document</baseId>
    <propertyReference required="false">editor</propertyReference>
    <contentStreamAllowed>allowed</contentStreamAllowed>
</typeDocumentDefinition>

Overwriting Using a Secondary Object Type Definition

An alternative possibility is using a secondary object type on which the object type definition can be based. Also, a propertyReference can be used to set a value for the required attribute for a property in the definition of the secondary object type. The required attribute value specified in the original property definition is again overwritten.

...

Code Block
languageyml
titleOverwriting of the required attribute by secondary object type definition
linenumberstrue
<typeDocumentDefinition>
    <id>imported2</id>
    <baseId>system:document</baseId>
    <contentStreamAllowed>allowed</contentStreamAllowed>
    <secondaryObjectTypeId static="false">noeditor</secondaryObjectTypeId>
</typeDocumentDefinition>
 
<typeSecondaryDefinition>
    <id>noeditor</id>
    <baseId>system:secondary</baseId>
    <propertyReference required="false">editor</propertyReference>
</typeSecondaryDefinition>

Handling Multiple Property References

In an object type definition, it is possible to set a value for the required attribute, and additionally include multiple secondary object types specifying the required attribute as well. If at least one definition implies required=true, this attribute will be true for every object of the corresponding type. The value true dominates over false regardless of the location of the propertyReference.

...

If an object of type imported3 has none of the two secondary object types, the editor property is optional.
If an object of type imported3 has the secondary object type noeditor, nothing changes. The editor property is still optional.
But if an object of type imported3 has the secondary object type witheditor, the property editor is mandatory in this object.

Summary

This tutorial gave an introduction into the possibilities provided by the option of overwriting the required attribute of properties. Since this topic plays a role in the handling of the schema, also the following pages might be interesting for you.

Info
iconfalse

Read on

Section


Column
width25%

Managing the Schema

Insert excerpt
Managing the Schema
Managing the Schema
nopaneltrue
 Keep reading


Column
width25%

Schema - Defining Object Types

Insert excerpt
Schema - Defining Object Types
Schema - Defining Object Types
nopaneltrue
 Keep reading


Column
width25%

DMS Endpoints

To update the instance of an object type with the property group of a floating secondary object type as well as specific values use one of the two endpoints for updating metadata. Keep reading



...