Publish Metadata Dialogue Configuration [VE 21.4 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:
![](../__attachments/2260442505/image-20200906-200222.png?inst-v=abe18038-00c9-4ea0-b88d-e37daf65d0ed)
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 )
![](../__attachments/2260442505/image-20200526-080423.png?inst-v=abe18038-00c9-4ea0-b88d-e37daf65d0ed)
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.
![](../__attachments/2260442505/image-20200526-080622.png?inst-v=abe18038-00c9-4ea0-b88d-e37daf65d0ed)
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 )
![](../__attachments/2260442505/image-20200526-080647.png?inst-v=abe18038-00c9-4ea0-b88d-e37daf65d0ed)
Note: You can also issue everything in just one API call by combining the metadata-field-group (see image below)
![](../__attachments/2260442505/image-20200526-080712.png?inst-v=abe18038-00c9-4ea0-b88d-e37daf65d0ed)