...
For DigiHaven we have introduced a record tree with metadata inheritance, where metadata is inherited from the top of the tree , to the children below.
For MediaHaven 2.0 will be gradually moving from the flat structure to full tree structure as for DigiHaven as shown in the tree below
Tree
...
Glossary
...
Term
...
Explanation
...
Intellectual Object
...
An object in upper half of the tree that offers structure without corresponding to a file or representation below it, i.e. a classification, collection, dossier.
...
Data Object
...
An object that has a number of representations objects as direct children.
Business Logic
A record can have
no parent
top record such as a Series or Classification
orphaned record which can later be adopted.
exactly one parent
No loops are allowed within the tree
A record cannot be parent or child of itself
A record cannot be adopted by one of its (grand)children or (grand)parents
Inheritance
Metadata field definitions can be marked as inheriting.
When a record is created or adopted under a parent record, the inheriting metadata fields will be copied from the parent to the child record
When the metadata changes of a parent record then the changes made to inheriting metadata fields will propagate to its children asynchronously
Structural Metadata (from 21.1)
The structural metadata for record tree is encoded using metadata fields ReferenceCodes
and ParentRecordId
From child to parent
The metadata field ParentRecordId
provides the RecordId
of its parent.
From child to grandparents
The field ReferenceCodes
contains the full line of ancestors. The sub fields are in the exact order of the grandparents from top to bottom with as key the RecordType
of the (grand)parent as value the RecordId
of the (grand)parent.
Code Block |
---|
{
"Structural": {
"ReferenceCodes": {
"Series": ["3e3b17c058b14ed79095c7fc9c4af88848bd7afbc5294c19a214625a5a5d3d7d"],
"Dossier": ["6b83485cfe1f48729ab493f912b2c7cc6336afdc597843e7bcaf664abd209043"],
"Document":["120b5fe7f7a346bca277e13988ed96224f40330432584955b6e33b524321dff5"]
}
}
} |
From parent to direct children
Make a search request on the field
ParentRecordId
Form
+Structural.ParentRecordId:<my RecordId>
Example
+Structural.ParentRecordId:3e3b17...
From parent to all (grand)children
...
Make a search request using the matching sub field of ReferenceCodes
...
Form +Structural.ReferenceCodes.<my RecordType>:<my RecordId>
...
Over time our MediaHaven application has adopted the record tree and as of version 24.1,
it will have fully completed the transition by switching to the Data Objects for new customers.
Overview
Record Trees provides a high-level description of the different trees used in our applications. The organisation of records into record trees is achieved by defining properties on theirRecord Types. In Record Tree Glossary we provide an overview of several technical terms used to describe the record trees.
Metadata
The organisation of records into record trees is visible in their metadata through the Structural Metadata. Metadata can flow through the record tree from top to bottom using Metadata Inheritance.