Publish Metadata Dialogue Configuration [VE OG]
The publish functionality of VidiEditor allows the user to render the timeline into a new video asset. As part of this process, the user can be allowed/required to fill in metadata information for the new file. Which metadata fields to show in the VidiEditor publish modal is configured using a metadata field group. Also the layout can be controlled in this configuration.
Example configuration:
{
"name": "ME_Publish",
"group": [
{
"name": "ME_Publish_c08d50f5-2e3d-4eb3-a2ff-6b112355aa75",
"data": [
{
"key": "ME_PublishRow",
"value": 1
}
],
"field": [
{
"name": "ME_Category",
"data": [
{
"key": "ME_PublishLabel",
"value": "Category"
},
{
"key": "ME_PublishIsReadOnly",
"value": "false"
},
{
"key": "ME_PublishIsMandatory",
"value": "false"
},
{
"key": "ME_PublishDefaultValue",
"value": ""
},
{
"key": "ME_PublishColumn",
"value": 1
}
]
},
{
"name": "ME_OnAirDate",
"data": [
{
"key": "ME_PublishLabel",
"value": "On Air Date"
},
{
"key": "ME_PublishIsReadOnly",
"value": "false"
},
{
"key": "ME_PublishIsMandatory",
"value": "false"
},
{
"key": "ME_PublishDefaultValue",
"value": ""
},
{
"key": "ME_PublishColumn",
"value": 2
}
]
},
{
"name": "ME_EpisodeNumber",
"data": [
{
"key": "ME_PublishLabel",
"value": "Episode Num-ber"
},
{
"key": "ME_PublishIsReadOnly",
"value": "false"
},
{
"key": "ME_PublishIsMandatory",
"val-ue": "false"
},
{
"key": "ME_PublishDefaultValue",
"value": ""
},
{
"key": "ME_PublishColumn",
"value": 3
}
]
}
]
},
{
"name": "ME_Publish_bae1a806-4770-44e9-afa8-825c336ca14c",
"data": [
{
"key": "ME_PublishRow",
"value": 2
}
],
"field": [
{
"name": "ME_Description",
"data": [
{
"key": "ME_PublishLabel",
"value": "Desciption"
},
{
"key": "ME_PublishIsReadOnly",
"value": "false"
},
{
"key": "ME_PublishIsMandatory",
"value": "false"
},
{
"key": "ME_PublishDefaultValue",
"value": ""
},
{
"key": "ME_PublishColumn",
"value": 1
}
]
},
{
"name": "ME_IsLive",
"data": [
{
"key": "ME_PublishLabel",
"value": "Live"
},
{
"key": "ME_PublishIsReadOnly",
"value": "false"
},
{
"key": "ME_PublishIsMandatory",
"value": "false"
},
{
"key": "ME_PublishDefaultValue",
"value": ""
},
{
"key": "ME_PublishColumn",
"value": 2
}
]
},
{
"name": "ME_Rating",
"data": [
{
"key": "ME_PublishLabel",
"value": "Rating"
},
{
"key": "ME_PublishIsReadOnly",
"value": "true"
},
{
"key": "ME_PublishIsMandatory",
"value": "false"
},
{
"key": "ME_PublishDefaultValue",
"value": ""
},
{
"key": "ME_PublishColumn",
"value": 3
}
]
}
]
}
]
}
This example configuration will create the following layout in the Publish modal:

Reference API call: https://apidoc.vidispine.com//latest/ref/metadata/field-group.html?highlight=metadata%20group#update-or-create-a-field-group
Explanation of values and how they affect the modal
Group – List of Metadata Field Group. This indicates the rows in the publish dialog.
Field – List of Metadata Field. This indicates the columns inside a row which means that the metadata-field are displayed side-by-side.
Data – Key value pairs. This holds the details of row and column order, label and other attributes.
The following are the constants name/keys VidiEditor uses:
Metadata Field group Names
ME_Publish – this is the name of the main metadata-field group
ME_Publish_{some random GUID} – this is the name of the metadata-field-group per row
Metadata-field group data property
ME_PublishRow – this is the key to indicate the ordering of the rows and the value should be integer. This should also be set in the metadata-field-group definition
ME_PublishColumn – this is the key to indicate the ordering of the columns and the value should ibe integer. This should also be set in the metadata-field definition
ME_PublishLabel– this is the key to indicate the display name/label of the metadata-field in the Publish Dialog. This should also be set in the metadata-field definition
ME_PublishIsMandatory – this is the key to indicate if the metadata-field is required to have value in the Publish Dialog. This should also be set in the metadata-field definition
ME_PublishIsReadOnly – this is the key to indicate if the metadata-field is read-only or not in the Publish Dialog. This should also be set in the metadata-field definition
ME_PublishDefaultValue – this is the key to indicate the default value of the metadata-field in the Publish Dialog. This should also be set in the metadata-field definition
Step by step guide of the configuration:
Ensure that metadata-fields that needs to be displayed are persisted to the Vidispine, else we need to include the metadata-field definition on the body parameter
Create metadata-field group named “me_publish” (see APIDOC: Create/Update Metadata-Field Group )

To create a single row, create a metadata-field group name “ME_Publish_{some random GUID}” using the same step as mentioned in step 2 with the following properties
Inside the said metadata-field-group, set the following properties
Data – to indicate the row order
Field – to indicate what are the metadata-fields you want to display
Inside each field should have the key-value pair attributes in the data to indicate the label, is Read Only, is Mandatory, default value and the column order using the fix keys mentioned above.

Finally, to add the metadata-field group (row) – “ME_Publish_{some random Guid}” in the main metadata-field group which is the “ME_Publish” via API call (see APIDOC Add Group to a Group )

Note: You can also issue everything in just one API call by combining the metadata-field-group (see image below)
