DateTime Support in Workflows [GL OG]
VidiFlow supports improved datetime usage. This includes:
- Camunda DateTime (ISO 8601) in workflows
- DateTime supports strings as input in a ISO 8601 syntax.
- DateTime supports dates until at least AD 0.
- Additionally, DateTime can be used for datetime calculations and operations (such as for comparisons) in the following contexts:
- ExpressionLanguage (EL)
- Rule (engine and designer)
Please note that some of the subtopics are particularly relevant in a context in which MediaPortal is coupled to VidiFlow.
Handling of Timecodes and Partial Clips
In order to avoid confusion over mixed frame counts in different time bases (e.g. NTSC, PAL etc.) VidiFlow only supports the usage distinct timecodes.
In order to avoid different interpretations of end-frames (is the end frame included or not) VidiFlow only supports the specification of start-time-code and duration for identifying segments of videos.
As a result, the Date type Timecode is used and the MediaPortal Connector takes care that different types of timecodes from MediaPortal are consolidated in only two parameters "TimeCodeIn" and "Duration" of type Timecode.
Date Type Timecode
The Date type Timecode is now included in the workflow engine as sub-type of the string type. This type accepts timecodes in Vidispine notation. For more information about that notation please refer to the documentation linked below:
All tasks / agents that handle timecodes must provide input parameters of this new type timecode.
The VidiFlow MediaPortal Connector will provide timecodes in Vidispine notation, if the SendTo workflow has following workflow input parameters:
- "TimeCodeIn" of Type Timecode
- "Duration" of Type Timecode
Or (as recommended) if the workflow provides the input parameter "WorkflowObjects" as JSON as the input of Multi-Instance workflows. This parameter will then contain all of following parameters with specified type:
- ObjectId (String)
- Title (String)
- RenamedTitle (String)
- TimeCodeIn (Timecode)
- Duration (Timecode)
- IsPartialRange (Boolean)
The "TimeCodeIn" and "Duration" are internally calculated based on the following values provided by MediaPortal:
IsPartialRange Parameter for Identifying Partial Clips in MediaPortal Collections
Whenever a Send to workflow is started on an asset or a Collection in MediaPortal, timecodes are provided to the workflow, if the workflow provides the corresponding input parameters as described above. Complete videos from search result lists or from Collections in MediaPortal provide "TimeCodeIn" and "Duration". Videos that are put into a MediaPortal Collection with IN- and OUT-markers normally de-scribe partial clips of that video. They will have "TimeCodeIn" and "Duration" that differ from the com-plete video. However, in workflows it is not really possible to know if those timecodes describe a part of the actual video. In order to support a clear differentiation between full and partial clips from MediaPortal Collections in workflows, one can make use of the workflow input parameter "IsPartialRange". The MediaPortal Connector will set this parameter to true, if the clip in the Collection is a partial one. Otherwise it will be set to false.