Data Objects
Introduction
Whereas for flat data objects, the record is both the original and preview itself, for data objects it is split into 3 records
A “container” record storing no file itself (aka a metadata-only object)
An original representation storing the original file
An access representation storing the preview file
Record Tree
The data objects are organized into the https://mediahaven.atlassian.net/wiki/spaces/CS/pages/2291466251by having the data record as the parent, followed by the original representation as the direct child and the access representation as the child of the original representation and hence the grandchild of the data record.
Comparison with flat data objects
By making sure for data objects that the life cycle, export and preview URIs behave similarly to the flat data objects, the transition will be minimal.
Here we provide a comparison between flat data and data objects.
Concept | Flat Data | Data |
---|---|---|
Records | Single record |
|
Original | The original is the single record itself | The original is the original representation record |
Preview | The preview is the single record itself | The preview is the access representation record |
Technical metadata | The technical metadata is that of the original file itself. The technical metadata of the preview is only limitedly available in the metadata field | The data record has no technical metadata itself but the original representation record and the access representation records each have their own technical metadata. The API returns for the data object the technical metadata of the original representation to make behave similarly to flat data objects. |
Previews URIs
| The preview URIs refer to the single record itself. | The data record and original representation automatically refer to the preview URIs of the primary access representation. |
Export | When exporting with
| From version
|
Object Lifecycle
Lifecycle Step | Flat Data | Data |
---|---|---|
Create | The single record is created. During ingest the preview is stored as file on the record itself. | When uploading a data record in the MediaHaven REST API
|
Update | The single record is updated | By using Metadata Inheritancethe updated metadata is inherited from data object to the representations if configured for the metadata field. |
Publish | The single record is published | By using Publish Cascade the representations are automatically published when the data object is published. |
Delete | The single record is deleted | By using (Un)delete Cascade the representations are automatically deleted when the data object is deleted. |
API
Action |
|
---|---|
Finding the original representation |
|
Finding the access representation |
|
Get the technical metadata |
|
Omit representations from search results | If you do not want the representations in the search results you can filter them out by searching only with |
Export |
|
Advantages
Because data objects are more rich than flat objects, it allows for additional features
Having multiple previews represented as multiple access representations
Separating the technical metadata between originals and previews
Possible future features
Changing the original by uploading a new original representation (wishlist item under review)
Deferring the creation of the original representation by downloading the original from an External Source URLasynchronously (wishlist item under review)