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)


...

Code Block
languagexml
titleA valid example schemacollapsetrue
<schema xmlns="http://optimal-systems.org/ns/dmscloud/schema/v5.0/" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://optimal-systems.org/ns/dmscloud/schema/v5.0/ dmsCloud-schema.xsd">
        <propertyStringDefinition>
            <id>from</id>
            <propertyType>string</propertyType>
            <cardinality>single</cardinality>
            <required>true</required>
        </propertyStringDefinition>
        <propertyStringDefinition>
            <id>to</id>
            <propertyType>string</propertyType>
            <cardinality>multi</cardinality>
            <required>true</required>
        </propertyStringDefinition>
		<propertyStringDefinition>
            <id>subject</id>
            <propertyType>string</propertyType>
            <cardinality>single</cardinality>
            <required>true</required>
        	<defaultValue>hello</defaultValue>
        	<maxLength>20</maxLength>
	        <minLength>4</minLength>
		</propertyStringDefinition>
		<propertyDateTimeDefinition>
            <id>received</id>
            <propertyType>datetime</propertyType>
            <cardinality>single</cardinality>
            <required>true</required>
        </propertyDateTimeDefinition>
		<typeDocumentDefinition>
            <id>email</id>
            <baseId>system:document</baseId>
            <propertyReference>from</propertyReference>
            <propertyReference>to</propertyReference>
            <propertyReference>received</propertyReference>
			<contentStreamAllowed>required</contentStreamAllowed>
        </typeDocumentDefinition>
</schema>

...

Code Block
languagexml
titleAn example schema with a table propertycollapsetrue
<schema xmlns="http://optimal-systems.org/ns/dmscloud/schema/v5.0/" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://optimal-systems.org/ns/dmscloud/schema/v5.0/ dmsCloud-schema.xsd">
        <propertyTableDefinition>
            <id>aTableProperty</id>
            <propertyType>table</propertyType>
            <cardinality>single</cardinality>
            <required>false</required>
            <propertyStringDefinition>
                <id>col0</id>
                <propertyType>string</propertyType>
                <cardinality>single</cardinality>
                <required>false</required>
            </propertyStringDefinition>
            <propertyIntegerDefinition>
                <id>col1</id>
                <propertyType>integer</propertyType>
                <cardinality>single</cardinality>
                <required>false</required>
            </propertyIntegerDefinition>
            <propertyDateTimeDefinition>
                <id>col2</id>
                <propertyType>datetime</propertyType>
                <cardinality>single</cardinality>
                <required>false</required>
            </propertyDateTimeDefinition>
            <propertyDecimalDefinition>
                <id>col3</id>
                <propertyType>decimal</propertyType>
                <cardinality>single</cardinality>
                <required>false</required>
            </propertyDecimalDefinition>
		</propertyTableDefinition>
</schema>

...

Code Block
languagexml
titleSchema containing a folder object typecollapsetrue
<schema xmlns="http://optimal-systems.org/ns/dmscloud/schema/v5.0/" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://optimal-systems.org/ns/dmscloud/schema/v5.0/ dmsCloud-schema.xsd">

        <propertyStringDefinition>
            <id>str1</id>
            <propertyType>string</propertyType>
            <cardinality>single</cardinality>
            <required>true</required>
        </propertyStringDefinition>
      
        <typeDocumentDefinition>
            <id>documentType1</id>
            <baseId>system:document</baseId>
            <propertyReference>str1</propertyReference>
            <contentStreamAllowed>required</contentStreamAllowed>
            <secondaryObjectTypeId>secondaryA</secondaryObjectTypeId>
        </typeDocumentDefinition>
       
		<typeFolderDefinition>
        	<id>dossier</id>
       		<baseId>system:folder</baseId>
        	<propertyReference>title</propertyReference>
        	<propertyReference>type</propertyReference>
        	<propertyReference>description</propertyReference>
    	</typeFolderDefinition>
</schema>

...

Code Block
languagetext
titleMetadata for a folder object according to schema above
collapsetrue
{
	"objects": [
	{
		"properties": {
			"system:objectTypeId": {
				"value": "dossier"
			},
			"title": {
				"value": "My E-mail Folder #1"
			},
			"type": {
				"value": "E-mails"
			},
			"description": {
				"value": "This folder holds all the e-mails authored by me"
			}
		}
	}
	]
}

...

Code Block
languagetext
titleMetadata of a document destined for the folder
collapsetrue
{
	"objects": [
	{
		"properties": {
			"system:objectTypeId": {
				"value": "documentType1"
			},
			"system:parentId": {
				"value": "<the Folder object ID from the import response"
			},
			"str1": {
				"value": "Some important business documents"
			},
			"description": {
				"value": "This folder holds all the e-mails authored by me"
			}
		}
	}
	]
}

...

Code Block
languagexml
titleSchema containing secondary object typescollapsetrue
<schema xmlns="http://optimal-systems.org/ns/dmscloud/schema/v5.0/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://optimal-systems.org/ns/dmscloud/schema/v5.0/ dmsCloud-schema.xsd">
 
        <propertyStringDefinition>
            <id>appSot:dateOfReceipt</id>
            <propertyType>date</propertyType>
            <cardinality>single</cardinality>
            <required>true</required>
        </propertyStringDefinition>
        <propertyStringDefinition>
            <id>appSot:comment</id>
            <propertyType>date</propertyType>
            <cardinality>single</cardinality>
            <required>true</required>
        </propertyStringDefinition>
        <propertyStringDefinition>
            <id>appSot:invoiceNo</id>
            <propertyType>string</propertyType>
            <cardinality>single</cardinality>
            <required>true</required>
        </propertyStringDefinition>
        <propertyStringDefinition>
            <id>appSot:paymentTerm</id>
            <propertyType>string</propertyType>
            <cardinality>single</cardinality>
            <required>true</required>
        </propertyStringDefinition>
         
        <typeDocumentDefinition>
            <id>appSot:document</id>
            <baseId>system:document</baseId>
            <propertyReference>appSot:dateOfReceipt</propertyReference>
            <contentStreamAllowed>required</contentStreamAllowed>
            <secondaryObjectTypeId>appSot:basicInfo</secondaryObjectTypeId>
        </typeDocumentDefinition>
         
        <typeSecondaryDefinition>
            <id>appSot:basicInfo</id>
            <baseId>system:secondary</baseId>
            <propertyReference>appSot:comment</propertyReference>
        </typeSecondaryDefinition>
        <typeSecondaryDefinition>
            <id>appSot:invoice</id>
            <baseId>system:secondary</baseId>
            <propertyReference>appSot:invoiceNo</propertyReference>
            <propertyReference>appSot:paymentTerm</propertyReference>
        </typeSecondaryDefinition>
</schema>

...

Code Block
languagetext
titleMetadata of appSot:documentcollapsetrue
{
    "objects": [
        {
            "properties": {
                "system:objectId": {
                    "value": "7bce6618-2b0e-4abf-af26-e4137e6b0461"
                },
                "system:baseTypeId": {
                    "value": "system:document"
                },
                "system:objectTypeId": {
                    "value": "appSot:document"
                },
                "system:secondaryObjectTypeIds": {
                    "value": [
                        " appSot:basicInfo"
                    ]
                },
                <...>
                " appSot:dateOfReceipt": {
                    "value": "2020-02-20T02:02:20.220Z"
                },
                "appSot:comment": {
                    "value": "Yearly invoice - payment 1 out of 12 monthly payments."
                }
            },
            "contentStreams": [
                <...>
            ]
        }
    ]
}

...

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




...