...
Page Properties |
---|
| Status | status |
colour | Yellow |
---|
title | progress |
---|
Priority | Product Version |
|
---|
Report Note |
|
---|
Assignee | Antje |
---|
Resources & Remarks 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?
Modification History Name | Date | Product Version | Action |
---|
Antje | 08 FEB 2021 | 2.4 | New page properties macro. |
|
Excerpt |
---|
This tutorial shows how to reference the same property definition in different object type definitions, in some of them as a required property and in others as a non-required property. |
...
Overwriting the required
Attribute of Properties
...
In the example code below, the editor
property is defined. The required
attribute of the editor
property is set to true
. If not overwritten by a propertyReference
, the editor
property will be mandatory for any object of a type containing the editor
property in its definition.
Code Block |
---|
language | ymlxml |
---|
title | Property definition |
---|
linenumbers | true |
---|
|
<propertyStringDefinition>
<id>editor</id>
<propertyType>string</propertyType>
<cardinality>single</cardinality>
<required>true</required>
</propertyStringDefinition> |
...
Since the editor
property should be optional for an imported1
document, the required
attribute is set to false
by means of a propertyReference
.
Code Block |
---|
language | ymlxml |
---|
title | Overwriting of the required attribute by document type definition |
---|
linenumbers | true |
---|
|
<propertyStringDefinition>
<id>editor</id>
<propertyType>string</propertyType>
<cardinality>single</cardinality>
<required>true</required>
</propertyStringDefinition>
<typeDocumentDefinition>
<id>imported1</id>
<baseId>system:document</baseId>
<propertyReference required="false">editor</propertyReference>
<contentStreamAllowed>allowed</contentStreamAllowed>
</typeDocumentDefinition> |
...
In the example code below, the editor
property is not included directly in the imported2
document type definition. But it is based on the non-static (floating) secondary object type noeditor
. The definition of noeditor
uses the editor
property and sets its required
attribute to false
by means of a propertyReference
. Thus, for documents of the type imported2
, the editor
property will be available and optional.
Code Block |
---|
language | ymlxml |
---|
title | Overwriting of the required attribute by secondary object type definition |
---|
linenumbers | true |
---|
|
<propertyStringDefinition>
<id>editor</id>
<propertyType>string</propertyType>
<cardinality>single</cardinality>
<required>true</required>
</propertyStringDefinition>
<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> |
...
In the example code below, a document type imported3
is defined. The editor
property is included, but the required
attribute is overwritten to false
which makes the editor
property optional. However, the two secondary object types noeditor
and witheditor
may have different values specified for the required
attribute of the editor
property.
Code Block |
---|
language | ymlxml |
---|
title | Document type definition and secondary object type definitions |
---|
linenumbers | true |
---|
|
<propertyStringDefinition>
<id>editor</id>
<propertyType>string</propertyType>
<cardinality>single</cardinality>
<required>true</required>
</propertyStringDefinition>
<typeDocumentDefinition>
<id>imported3</id>
<baseId>system:document</baseId>
<propertyReference required="false">editor</propertyReference>
<contentStreamAllowed>allowed</contentStreamAllowed>
<secondaryObjectTypeId static="false">noeditor</secondaryObjectTypeId>
<secondaryObjectTypeId static="false">witheditor</secondaryObjectTypeId>
</typeDocumentDefinition>
<typeSecondaryDefinition>
<id>noeditor</id>
<baseId>system:secondary</baseId>
<propertyReference required="false">editor</propertyReference>
</typeSecondaryDefinition>
<typeSecondaryDefinition>
<id>witheditor</id>
<baseId>system:secondary</baseId>
<propertyReference>editor</propertyReference>
</typeSecondaryDefinition> |
...
Info |
---|
|
Read on
Section |
---|
Column |
---|
| Insert excerpt |
---|
| Managing the Schema |
---|
| Managing the Schema |
---|
nopanel | true |
---|
| Keep reading
|
Column |
---|
| Insert excerpt |
---|
| Schema - Defining Object Types |
---|
| Schema - Defining Object Types |
---|
nopanel | true |
---|
| Keep reading |
Column |
---|
| 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 |
|
|
...