Resource datamodel:system-model

Overview

The datamodel:system-model resource represents the data model of a single system on the Media Central Platform.

Properties

The datamodel:system-model resource has the following properties:

base

The system that this model refers to.

  • systemType: the system type

  • systemID: the system ID

attributes

The information about the attributes used by the system. attributes contains two sub properties:

  • common: description of the common attributes

  • custom: description of additional, custom attributes

Both sub properties contain an array of attribute descriptions.

asset-types

New in MC | Cloud UX 2020.4

Information about all asset types, which where used to form the aggregated data model. This property contains an array of asset type descriptions. See datamodel:aggregated-model for details.

time-based

New in MC | Cloud UX 2022.3

Only when requested with insist=time-based. Some systems might not support this property.

Information about all time based layers, which where used to form the aggregated data model. This property contains an array of layer descriptions. See datamodel:asset-model for details.

The datamodel:system-model resource has no link relations.

Description

The datamodel:system-model resource represents the data model of a single system on the Media Central Platform.

This includes information about the attributes that are available for assets and location items.

Example

{
  "base": {
    "systemType": "interplay-mam",
    "systemID": "1234"
  },
  "attributes": {
    "common": [
      // description of common attributes
    ],
    "custom": [
      // description of custom attributes
    ]
  }
}

Attribute Description

Description of an attribute. Example:

      {
        "id": "name",
        "appliesTo": [
          "aa:asset",
          "loc:item"
        ],
        "description": "display name",
        "labels": {
          "en": "Name",
          "de": "Name"
        },
        "tooltips": {
          "en": "Name",
          "de": "Name"
        },
        "type": {
          "baseType": "string",
          "maxLength": 256,
          "multiValue": false
        },
        "flags": [
          "indexed"
        ]
      }

id

Identifier of the attribute. For common attributes, it is the same as the property name used in the common representation, e.g. "startTC", "name", or "description".

appliesTo

An array of resource names (link rels) that use the attribute. Currently, the following link rels are supported:

  • aa:asset: the attribute is used for assets

  • loc:item: the attribute is used for location items

type

Defines the type of the attribute. See type description for details.

flags

(Optional) An array of flags for the attribute. Currently, the following flags have a defined meaning:

  • readonly: attribute should be displayed as read-only attribute

  • indexed: attribute is searchable.

Other flags may be added in the future.

description

(Optional) A description of the attribute. This is only used for human users of the API.

labels

(Optional) Contains a map setting a label for a number of culture codes. Example:

        "labels": {
          "en-US": "Aluminum",
          "en-UK": "Aluminium",
          "en": "Aluminium",
          "de": "Aluminium"
        }

A client should use a language fallback mechanism to find the correct label. For example, for the culture "fr-CA" (Canadian French) the client should try "fr-CA", then "fr", then typically the default fallback language "en". If there’s still no label, the client should use the ID of the attribute as label.

tooltips

(Optional) Defines localized tool tips for the attribute. The structure is similar to the one for labels.

Type Description

Example:

        ...
        "type": {
          "baseType": "string",
          "maxLength": 256,
          "multiValue": false
        }

baseType

Defines the base type. Currently, the following base types are supported:

  • string: String attribute. The maximum length can be defined by the property maxLength.

  • int: Integer attribute. The maximum number of digits can be defined by the property digits. If that property is not given, the client should allow entering 64-bit signed integers.

  • float: Floating point attribute. The value uses a "." as decimal separator and no thousands separator. The maximum number of digits left and right of the decimal separator can be defined by the properties preDecimalPlaces and decimalPlaces. If the properties are not given, the client should not restrict the input.

  • date: Date attribute. The value is expected in the format YYYY-MM-DD.

  • time: Time attribute. The value is expected in the format HH:MM:SS.

  • datetime: Date/time attribute. The value is expected in ISO-8601 format (see https://en.wikipedia.org/wiki/ISO_8601). Example: 2017-06-12T17:29:43+02:00.

  • boolean: Boolean attribute.

  • timecode: SMPTE timecode. The value is expected in the format HH:MM:SS:FF (for non-drop-frame formats), HH:MM:SS.FF (for drop-frame formats), and HH:MM:SS.FFF (for unknown frame rates; with FFF as milliseconds).

  • duration: Duration. The value is expected in the format HH:MM:SS:FF (for non-drop-frame formats), HH:MM:SS.FF (for drop-frame formats), and HH:MM:SS.FFF (for unknown frame rates; with FFF as milliseconds).

  • list: List attribute. The value is an identifier of an element in the list defined with the property list.

  • thesaurus: Thesaurus attribute. The value is an identifier of an element in the thesaurus defined with the property thesaurus.

multiValue

(Optional) Defines if the attribute is a multi-value or single-value attribute. If the property is missing, the attribute is a single-value attribute.

digits

(Optional, and only for baseType=int) The maximum number of digits.

preDecimalPlaces

(Optional, and only for baseType=float) The maximum number of digits left of the decimal separator.

decimalPlaces

(Optional, and only for baseType=float) The maximum number of digits right of the decimal separator.

maxLength

(Optional, and only for baseType=string) The maximum number of characters supported by the attribute. If missing, the length is unlimited.

list

(Only for baseType=list) The ID of the list used for the attribute.

thesaurus

(Only for baseType=thesaurus) The ID of the thesaurus used for the attribute.

More Complete Examples

Example for an MC | AM system
 
{
  "base": {
    "systemID": "1234",
    "systemType": "interplay-mam"
  },
  "attributes": {
    "common": [
      {
        "id": "name",
        "appliesTo": [
          "aa:asset",
          "loc:item"
        ],
        "description": "display name",
        "labels": {
          "en": "Name",
          "de": "Name"
        },
        "tooltips": {
          "en": "Name",
          "de": "Name"
        },
        "type": {
          "baseType": "string",
          "maxLength": 256,
          "multiValue": false
        },
        "flags": [
          "indexed"
        ]
      }
    ],
    "custom": [
      {
        "id": "COMMENT",
        "description": "comment field",
        "appliesTo": [
          "aa:asset"
        ],
        "labels": {
          "en": "Comment",
          "de": "Kommentar"
        },
        "tooltips": {
          "en": "Comment",
          "de": "Kommentar"
        },
        "type": {
          "baseType": "string",
          "maxLength": 256,
          "multiValue": false
        },
        "flags": [
          "readonly",
          "indexed"
        ]
      },
      {
        "id": "CULTURE",
        "description": "ISO culture code",
        "appliesTo": [
          "aa:asset"
        ],
        "labels": {
          "en": "Culture",
          "de": "Kultur"
        },
        "tooltips": {
          "en": "ISO culture code",
          "de": "ISO-Kulturkennung"
        },
        "type": {
          "baseType": "list",
          "listType": "ISO_CULTURES",
          "multiValue": false
        },
        "flags": [
          "indexed"
        ]
      }
    ]
  }
}
 

Example for a MC | PM system
 
{
   "base":{
      "systemID":"BEEF",
      "systemType":"interplay-pam"
   },
   "attributes":{
      "common":[{
            "id":"creator",
            "appliesTo":[
               "aa:asset",
               "loc:item"
            ],
            "description":"Created By",
            "labels":{
               "en":"Creator"
            },
            "tooltips":{
               "en":"Created By"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"durationTC",
            "appliesTo":[
               "aa:asset"
            ],
            "description":"Duration",
            "labels":{
               "en":"DurationTC"
            },
            "tooltips":{
               "en":"Duration"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"created",
            "appliesTo":[
               "aa:asset",
               "loc:item"
            ],
            "description":"Creation Date",
            "labels":{
               "en":"Created"
            },
            "tooltips":{
               "en":"Creation Date"
            },
            "type":{
               "baseType":"datetime"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"modifier",
            "appliesTo":[
               "aa:asset",
               "loc:item"
            ],
            "description":"Changed By",
            "labels":{
               "en":"Modifier"
            },
            "tooltips":{
               "en":"Changed By"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"endTC",
            "appliesTo":[
               "aa:asset"
            ],
            "description":"End",
            "labels":{
               "en":"EndTC"
            },
            "tooltips":{
               "en":"End"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"description",
            "appliesTo":[
               "aa:asset",
               "loc:item"
            ],
            "description":"Comments",
            "labels":{
               "en":"Description"
            },
            "tooltips":{
               "en":"Comments"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"assetTypeLabel",
            "appliesTo":[
               "aa:asset"
            ],
            "description":"Asset type",
            "labels":{
               "en":"Asset type"
            },
            "tooltips":{
               "en":"Asset type"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"assetType",
            "appliesTo":[
               "aa:asset"
            ],
            "description":"Asset type (ID)",
            "labels":{
               "en":"Asset type (ID)"
            },
            "tooltips":{
               "en":"Asset type (ID)"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"duration",
            "appliesTo":[
               "aa:asset"
            ],
            "description":"Duration (frames)",
            "labels":{
               "en":"Duration"
            },
            "tooltips":{
               "en":"Duration (frames)"
            },
            "type":{
               "baseType":"int"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"path",
            "appliesTo":[
               "loc:item"
            ],
            "description":"Path",
            "labels":{
               "en":"Path"
            },
            "tooltips":{
               "en":"Path"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"editRate",
            "appliesTo":[
               "aa:asset"
            ],
            "description":"FPS",
            "labels":{
               "en":"EditRate"
            },
            "tooltips":{
               "en":"FPS"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"name",
            "appliesTo":[
               "aa:asset",
               "loc:item"
            ],
            "description":"Name",
            "labels":{
               "en":"Name"
            },
            "tooltips":{
               "en":"Name"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "mandatory"
            ]
         }, {
            "id":"modified",
            "appliesTo":[
               "aa:asset",
               "loc:item"
            ],
            "description":"Modified Date",
            "labels":{
               "en":"Modified"
            },
            "tooltips":{
               "en":"Modified Date"
            },
            "type":{
               "baseType":"datetime"
            },
            "flags":[
               "readonly"
            ]
         }, {
            "id":"startTC",
            "appliesTo":[
               "aa:asset"
            ],
            "description":"Start",
            "labels":{
               "en":"StartTC"
            },
            "tooltips":{
               "en":"Start"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }
      ],
      "custom":[{
            "id":"com.avid.workgroup.Property.User.clip attribute name",
            "appliesTo":[
               "aa:asset"
            ],
            "description":"clip attribute name",
            "labels":{
               "en":"clip attribute name"
            },
            "tooltips":{
               "en":"clip attribute name"
            },
            "type":{
               "baseType":"string"
            }
         }, {
            "id":"NXN_Display_Name",
            "appliesTo":[
               "aa:asset",
               "loc:item"
            ],
            "description":"Name",
            "labels":{
               "en":"Name"
            },
            "tooltips":{
               "en":"Name"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "indexed",
               "editor",
               "mandatory"
            ]
         }, {
            "id":"Comments",
            "appliesTo":[
               "aa:asset",
               "loc:item"
            ],
            "description":"Comments",
            "labels":{
               "en":"Comments"
            },
            "tooltips":{
               "en":"Comments"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "editor"
            ]
         }, {
            "id":"com.avid.workgroup.Property.System.TrackFormats",
            "appliesTo":[
               "aa:asset"
            ],
            "description":"Track Formats",
            "labels":{
               "en":"Track Formats"
            },
            "tooltips":{
               "en":"Track Formats"
            },
            "type":{
               "baseType":"string"
            },
            "flags":[
               "readonly"
            ]
         }
      ]
   },
   "asset-types":[{
         "id":"masterclip",
         "labels":{
            "en":"Master Clip"
         }
      }, {
         "id":"sequence",
         "labels":{
            "en":"Sequence"
         }
      }, {
         "id":"subclip",
         "labels":{
            "en":"Subclip"
         }
      }, {
         "id":"group",
         "labels":{
            "en":"Group Clip"
         }
      }, {
         "id":"motioneffect",
         "labels":{
            "en":"Motion Effect"
         }
      }, {
         "id":"effect",
         "labels":{
            "en":"Effect"
         }
      }, {
         "id":"renderedeffect",
         "labels":{
            "en":"Rendered Effect"
         }
      }, {
         "id":"stereomasterclip",
         "labels":{
            "en":"Stereoscopic Master Clip"
         }
      }, {
         "id":"stereosubclip",
         "labels":{
            "en":"Stereoscopic Subclip"
         }
      }, {
         "id":"archivedfile",
         "labels":{
            "en":"Archived File"
         }
      }
   ],
   "time-based":[{
         "id":"A1",
         "description":"",
         "ranged":true,
         "gaps":true,
         "overlap":true,
         "labels":{
            "en":"A1"
         },
         "tooltips":{
            "en":"A1"
         },
         "attributes":[{
               "id":"comment",
               "description":"Marker Comment",
               "labels":{
                  "en":"Comment"
               },
               "tooltips":{
                  "en":"Comment"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }, {
               "id":"color",
               "description":"Marker Color",
               "labels":{
                  "en":"Color"
               },
               "tooltips":{
                  "en":"Color"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }
         ]
      }, {
         "id":"V1",
         "description":"",
         "ranged":true,
         "gaps":true,
         "overlap":true,
         "labels":{
            "en":"V1"
         },
         "tooltips":{
            "en":"V1"
         },
         "attributes":[{
               "id":"comment",
               "description":"Marker Comment",
               "labels":{
                  "en":"Comment"
               },
               "tooltips":{
                  "en":"Comment"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }, {
               "id":"color",
               "description":"Marker Color",
               "labels":{
                  "en":"Color"
               },
               "tooltips":{
                  "en":"Color"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }
         ]
      }, {
         "id":"A2",
         "description":"",
         "ranged":true,
         "gaps":true,
         "overlap":true,
         "labels":{
            "en":"A2"
         },
         "tooltips":{
            "en":"A2"
         },
         "attributes":[{
               "id":"comment",
               "description":"Marker Comment",
               "labels":{
                  "en":"Comment"
               },
               "tooltips":{
                  "en":"Comment"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }, {
               "id":"color",
               "description":"Marker Color",
               "labels":{
                  "en":"Color"
               },
               "tooltips":{
                  "en":"Color"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }
         ]
      }, {
         "id":"D1",
         "description":"",
         "ranged":true,
         "gaps":true,
         "overlap":true,
         "labels":{
            "en":"D1"
         },
         "tooltips":{
            "en":"D1"
         },
         "attributes":[{
               "id":"comment",
               "description":"Marker Comment",
               "labels":{
                  "en":"Comment"
               },
               "tooltips":{
                  "en":"Comment"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }, {
               "id":"color",
               "description":"Marker Color",
               "labels":{
                  "en":"Color"
               },
               "tooltips":{
                  "en":"Color"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }
         ]
      }, {
         "id":"V2",
         "description":"",
         "ranged":true,
         "gaps":true,
         "overlap":true,
         "labels":{
            "en":"V2"
         },
         "tooltips":{
            "en":"V2"
         },
         "attributes":[{
               "id":"comment",
               "description":"Marker Comment",
               "labels":{
                  "en":"Comment"
               },
               "tooltips":{
                  "en":"Comment"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }, {
               "id":"color",
               "description":"Marker Color",
               "labels":{
                  "en":"Color"
               },
               "tooltips":{
                  "en":"Color"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }
         ]
      }, {
         "id":"restrictions",
         "description":"Source DRMs",
         "ranged":true,
         "gaps":true,
         "overlap":true,
         "labels":{
            "en":"Restrictions"
         },
         "tooltips":{
            "en":"Restrictions"
         },
         "attributes":[
            {
               "id":"comment",
               "description":"Restriction Comment",
               "labels":{
                  "en":"Comment"
               },
               "tooltips":{
                  "en":"Comment"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }, {
               "id":"color",
               "description":"Restriction Color",
               "labels":{
                  "en":"Color"
               },
               "tooltips":{
                  "en":"Color"
               },
               "type":{
                  "baseType":"string"
               },
               "flags":[]
            }, {
               "id":"modified",
               "description":"Restriction Modified Date",
               "labels":{
                  "en":"Modified"
               },
               "tooltips":{
                  "en":"Modified"
               },
               "type":{
                  "baseType":"datetime"
               },
               "flags":[
                  "readonly"
               ]
            }
         ]
      }
   ],
   "_links":{
      "self":{
         "href":"https://kl-sm-ics02/apis/avid.pam;version=9999;realm=C89BC814-65E9-4A50-8999-EBE4D1117923/system-model"
      },
      "curies":[{
            "name":"datamodel",
            "href":"http://developer.avid.com/ctms/api/datamodel/linkrels/{rel}.html",
            "templated":true
         }
      ]
   }
}