Vidispine
Release Notes [VF 21.4 RN]
The following items on the list encompass breaking changes, features, and fixes that are relevant for the major release.
Release Notes are divided into the following sections:
- 1 Release 21.4
- 1.1 Setup and Operations
- 1.1.1 Component updates
- 1.1.2 Support for Kubernetes 1.22
- 1.2 Features
- 1.2.1 New Agents and Tasks
- 1.2.1.1 Find Metadata In Sequence Items
- 1.2.1.2 Tasks for generic REST calls
- 1.2.1.3 Common Index File Creation
- 1.2.1.4 Copy File Agent
- 1.2.2 List of Adapted Tasks
- 1.2.2.1 Normalize MXF File via Linux
- 1.2.2.2 ControlVantage / TranscodeVantage / TrimVantage
- 1.2.2.3 Stitch Videos
- 1.2.3 Trigger workflow execution based on metadata changes
- 1.2.4 User Tasks
- 1.2.5 Workflow Monitor
- 1.2.5.1 Incident workflow state
- 1.2.5.2 Show expander only for workflow with sub-workflows
- 1.2.5.3 Support error message
- 1.2.5.4 Workflow restart behavior
- 1.2.5.5 Trigger task execution retry
- 1.2.5.6 Link to logs for tasks
- 1.2.5.7 Color separation of workflows
- 1.2.5.8 Filter on column “Progress”
- 1.2.5.9 Show reference VX-IDs and names for storages
- 1.2.5.10 Support of workflow output parameters for object ID
- 1.2.5.11 Link to MediaPortal on object ID
- 1.2.5.12 Show error values for error boundary events
- 1.2.5.13 Filter Starttime set to “today” when starting
- 1.2.5.14 Smaller additional features
- 1.2.6 Deletion Monitor
- 1.2.7 Enhanced Prometheus metrics
- 1.2.7.1 Camunda external task execution time
- 1.2.7.2 Long running tasks
- 1.2.8 Performance, stabilization and other improvements
- 1.2.1 New Agents and Tasks
- 1.3 Fixes
- 1.1 Setup and Operations
Release 21.4
Setup and Operations
Component updates
The following central components were updated and will be shipped in the noted version:
Component | Version |
---|---|
VidiCore |
|
Active MQ | 5.15.15 |
ConfigPortal | 21.4.47 |
AuthService | 21.4.1-prerelease.9 |
MediaFramework (Windows) | 21.3.0 |
VideoEngine Images | 21.4.56 (transcoder) 21.4.58 (commandline) |
Angular | 12.0.3 |
BPMN.io | 8.6.1 |
RabbitMQ | 3.9.5-management |
RabbitMQ Operator | 1.8.2 |
Camunda | 7.15 |
Powershell | 7.1.4 |
Prometheus | 0.50.0 |
Grafana | 7.5.10 |
Kubernetes | 1.20 - 1.22 |
Support for Kubernetes 1.22
Kubernetes 1.22 is supported in this release, versions before 1.20 are no longer supported. Due to some API deprecated in Kubernetes 1.22, the Nginx Ingress Controller is also updated in order to support the newer API. Please check the public accessible API/UI if everything is working after the upgrade.
If the internal ports (example RabbitMQ, Elastic Search, etc) are not accessible after the upgrade, please try to restart the ingres-tcp-operator service to force it to re-read the configuration and re-apply the changes.
Features
New Agents and Tasks
Find Metadata In Sequence Items
This task finds out if a specific metadata is set to a specific value in a sequence attached to an item. This can help e.g. to find out if source items for the sequence are marked as restricted.
Tasks for generic REST calls
Several news tasks are introduced to support generic REST calls;
Make HTTP DELETE call to an API endpoint
Make HTTP GET api call to an API endpoint
Make HTTP POST call to an API endpoint
Make HTTP PUT call to an API endpoint
API endpoints need to be configured in ConfigPortal to support staging. Afterwards they can be selected as input for the tasks in the Workflow Designer.
HTTPS and basic authorization are supported.
The Workflow Monitor now displays the name, GUID and URL of the endpoint in the details of the tasks.
The use of the generic REST calls is intended for prototyping and setup phases - for productive usage it is recommended to check the possibility to develop specialized agents to implement the corresponding REST API.
Common Index File Creation
Common index files are needed for faster load times in video players. In many cases, these files are automatically created when transcoding the proxy file. In case proxy files are imported from third party systems, this new task can be used to create the index file after the import.
Copy File Agent
A new task “Copy File Via Agent” supports copying files directly in the agent including the object handling in VidiCore (create file object, attach to shapes etc.). This task can be used to avoid calling VidiCore for processing the file copy.
List of Adapted Tasks
Normalize MXF File via Linux
The task has a new optional parameter to set the ShapeTag of the newly created shape.
ControlVantage / TranscodeVantage / TrimVantage
The latest Telestream Vantage API version are included in the task version 2.1. This leads to some restrictions especially in the possibility to achieve workflow results from Vantage. If this is needed, please refer to the configuration switch “Use legacy XML REST API”.
New task versions where created, which add additional information like Job-ID and Job-state to the result of the task. The new versions are:
ControlVantage: 2.0
TranscodeVantage 3.0
TrimVantage: 2.0
Additionally, all versions support the Vantage Job ID as a new output parameter.
Stitch Videos
The task Stitch Videos now uses the metadata originalFilename instead of the filename of a source file for the original timecode metadata.
Trigger workflow execution based on metadata changes
Metadata changes can now lead directly to the triggering of workflows. The VidiFlow rule engine can be used to decide which metadata needs to get which new value(s) to trigger a workflow.
A new service has been created to process the notifications from VidiCore, evaluate the rules trigger the workflow. For configuration options refer to Trigger workflows based on metadata changes [VF 21.4 UG].
User Tasks
VidiFlow supports now user tasks. The current implementation is limited to simple forms, mainly meant for administrative task, but will be expanded in future releases.
A new backend service was implemented to provide the necessary API calls. The Workflow Designer supports adding user tasks to a workflow, including the selection of mapped groups from ConfigPortal for the assignee group or to pre-select the user of the current workflow for a user task.
Some VDT component will be developed to provide the needed UI for task filtering, selection, assignment and execution.
Workflow Monitor
Incident workflow state
VidiFlow now supports a new workflow state called incident. The state is represented in purple color. Workflows in an incident state are running from Camunda’s perspective, but need manual interaction on the task where the incident happened (restarting or canceling the task). The workflow itself can be canceled in Workflow Monitor if there is no chance to run successfully.
Workflows in an incident state will automatically be canceled by the system after 30 days.
Show expander only for workflow with sub-workflows
The expander icon top open sub-workflows will now only be shown if sub-workflows are existing below a workflow.
Support error message
Users can now define an error message string variable to be shown in the Workflow Monitor. The idea behind this features is, the in the design phase, different recurring error scenarios can be output to the string values. Administrators can see and filter these values in the Workflow Monitor to fix the problems and maybe restart the workflows.
Workflow restart behavior
To give a better overview about restarted workflows, two new columns were introduced.
The column “Restart” shows different icons depending on if a workflow was restarted or not. A tool-tip text helps when hovering over with the cursor:
“Never restarted”: The workflow has never been restarted.
“Restarted”: The workflow has been restarted. At least one workflow copy was created performing the restart.
“Restart copy”: The workflow is a copy of another workflow which should be restarted.
The column “Relation ID” can be used for filtering to see a workflow that should be restarted and and all the copies. Depending o the start state, the following values are stored as a relation ID:
“Never restarted”: Relation ID is empty
“Restarted”: The relation ID is the instance ID of the workflow.
“Restart copy”: The relation ID is the instance ID of the original workflow that has been restarted.
Users with administrative rights for the Workflow Monitor can now decide in which user context a workflow is restarted. They can choose if the restart is done with the original user or in the own user context. This can be differentiated via two different toolbar buttons.
Trigger task execution retry
Tasks can now be triggered again in the details view via a retry button.
Link to logs for tasks
After selecting a task in details view, users can now directly open the tasks log files in Kibana with one single click.
Color separation of workflows
The color schema was changed in the following way: Main workflows are displayed alternately in white and grey. If a workflow has sub-workflows, they are displayed in the same color as the main workflow. This is done in order to make it easier for users to recognize related workflows.
Filter on column “Progress”
A new filter is now available on the column “Progress” to search for task names and error messages.
Show reference VX-IDs and names for storages
For tasks having storages as parameters, the details view now shows additionally the VidiCore storage ID and the storage name defined in ConfigPortal beside the storage GUID.
Support of workflow output parameters for object ID
Workflow output parameters are now also supported for the object ID. This allows for more comfortable monitoring of workflows which create the main object in the workflow, such as file ingest workflows.
Link to MediaPortal on object ID
For all object IDs of type item or collection, Workflow Monitor shows a link to MediaPortal details view, starting in a different browser tab. Users can use this link to view the objects metadata or the proxy video in MP.
The URL to MediaPortal needs to be configured to enable this feature.
Show error values for error boundary events
When catching error boundary events, it is possible to define variables to receive the error message and code for the boundary events. The values of these variables are now shown in the details view after selection of the boundary event.
Filter Starttime set to “today” when starting
The filter for Starttime is initially set to “today” when starting Workflow Monitor. This reduces the initial load time.
Smaller additional features
Opening a filter sets the cursor focus directly to the text field.
Thousand separator added for workflow count.
Ctrl-click opens the details tabs for the selected workflow without showing the new tab.
Date values are now shown in a shorter representation to save screen space.
Deletion Monitor
Cleanup of Deletion Monitor index
The VidiFlow Deletion Monitor now supports deletion of its data. A new cron job "Delete-Monitor-Cleanup" was created with the default configuration having been set to 720 days. For more information please refer to the VidiFlow Setup Guide.
Enhanced Prometheus metrics
Several new metrics for Prometheus are now introduced for VidiFlow
Prometheus metrics are only available for services hosted in Kubernetes. Service fabric services don’t provide any metrics.
Camunda external task execution time
The overall external tasks execution time (e.g. Service Tasks, Rule Tasks) from the perspective of the Camunda workflow engine can be monitored per task.
Long running tasks
The following task are often rather long-running. For this reason, various metrics were implemented to monitor the runtime behavior.
The following tasks provide FPS to Prometheus (only K8S versions):
Task | Metrics |
---|---|
Create MXF File from Binary File | frames/s |
Transcode proxy with TranscoderS4M | frames/s |
Transcode File via TranscoderS4M | frames/s |
Normalize MXF File | frames/s |
Trim MXF File | frames/s |
Stitch Videos | frames/s |
Copy Physical File | bytes/s |
Move Physical File | bytes/s |
Render Item Sequence | frames/s |
Transcode Item | frames/s |
CopyFile | bytes/s |
TranscodeVantage | frames/s |
TrimVantage |
|
Performance, stabilization and other improvements
Increased lock timers in Camunda Broker
In some circumstances the Camunda Broker was not able to extend all required Camunda task locks within the predefined look-ahead time interval. This lead to performance degradation. All related timers were increased to avoid this. Additionally, the prefetch count for the Broker’s queue was changed to enhance load balancing for multiple Broker instances.
Task contract inform about agent names
VidiFlow task contracts contain also the name of the agent implementing the task. This helps to identify the corresponding log file entries for a given tasks. The contracts can be found, among other places, in the VidiFlow Portal.
Fixes
Item # | Item |
---|---|
187721 | Camunda: Boundary event not handled |
190449 | Read Physical File Content Doesn't work with files with space in filename |
190538 | Rule Designer not able to save rule with correct rule name |
190826 | Retrying Contract provisioning may cause subsequent contract failed to be POSTed to CP |
191100 | Vidicore Library item page is keep on loading when external id is missing |
191138 | Library do not stage correctly |
190130 | MFT-Sendto Mask: Support for mandatory fields |
191434 | Deletion Monitor Cleanup not fully working for Postgres database |
190721 | Get Source File from Shape Error in MediaAgentProvisioner |
191619 | Contract Provisioner creating contract should not throw exception when CP return http status 400 and mentioned contract is exist |
187478 | Issues in the VMPS3 Timecode repo |
190320 | OutofMemory Exception in Workflow Index |
190733 | WF Monitor: Not able to differentiate Cancel and Failed Workflow |
191419 | WF-Monitor: Expanding sub workflows does not work reliably |
197711 | WF-Monitor: Freetext search result will mix with the notified workflow update. |
198197 | IPTC Metadata agent typo in Metadata Name |
197852 | Workflow Monitor Details: For Call Activities all input and output parameters are shown multiple times in the monitor |
197802 | Get File By Shape Tag Contract has a Description set as Default Value |
197543 | Adapt Metadata Projection "pf_metadataExport" to avoid ambigous path error |
189930 | VC API should be exposed via VF public LB by default |
191001 | Libraries: Add libraries to Business Rule IdentifyPlatformUriType |
189459 | Add TTL to (Transcoder) RabbitMQ messages |
|
|