Ooyala Flex Media Platform 7.3.0 Release Notes 2019-01-24

Ooyala is excited to present the release of Ooyala Flex Media Platform 7.3.0. This release of Ooyala Flex Media Platform provides the new features, enhancements, fixes, and other changes listed below.

Important Note

This release includes a major upgrade of ElasticSearch (from 2.x to 6.x). As such, all objects will be indexed from scratch as part of the upgrade to this version. Depending on the size of your dataset, this might significantly increase the time required to perform the upgrade.

New Features and Enhancements

Asset Management

Flex Stream Processor

  • Extract Audio Waveform Support

    We have added audio stream analysis during the import process to extract waveform data as a JSON file, which can be used to visualize audio output in a user interface. We have created a new plugin to facilitate this process.

  • Support for image transcode

    We have updated the Flex Stream Processor to support transcode and resize of images. This optimizes file size and dimension, which results in savings in storage and network transfer requirements.

IMF Package
  • IMP member to show in UI

    The Enterprise UI now displays a table with members on the IMP asset.

  • IMP supplemental import: existing IMP or placeholder

    We have added the ability for users to import a supplemental package, and add components to a package that was previously imported. Ooyala Flex can gather all components across all imported supplemental package to compose the complete package.

  • IMP supplemental import to accept package with missing MXF

    If a supplemental package imported does not contain all referenced MXF, Ooyala Flex can determine whether the missing assets are already imported and link to them, or create a placeholder until these assets are imported in subsequent operations.

  • IMP export supplemental package

    We have added the ability to select a subset of assets, and export packages with only the required components.

  • IMP support for long running transfer (big files/large number of files)

    Export and import now benefit from a new transfer microservice. We have added the capacity for large files, or a large number of files, to be imported or exported without limitation on the time required to transfer.

  • IMP extraction of technical details using Flex Stream Processor

    Imported MXF, in addition to extracting the EssenceDescriptor, now also uses Flex Stream Processor to extract comprehensive technical details.

  • IMP S3, Azure, GCP storage

    We have added support for S3, Azure, and GCP storage for IMP.

  • Enterprise now displays technical details of IMP and CPL metadata

    The Enterprise UI now displays the UUID referencing document (stored in ArangoDB) with IMP and CPL metadata information.

  • Subtitle Flex External Resources and actions replaced by JEF

    Any ActionConfig created using subtitle plugins prior to 7.3.0 will still run in 7.3.0, but such ActionConfigs can no longer be created from scratch, and should be considered obsolete. Support for running them will be removed in a future release. A new Job Execution Framework (JEF) plugin completely replaces those plugins. There is also no need to have any instances of the flex-subtitle-service running unless old ActionConfigs must be run. See below under Workflow for more details.

  • YouTube Publish plugin enhancement

    The YouTube Publish plugin now stores the YouTube video ID and URL in workflow string variables, allowing for more advanced operations against media published to the YouTube platform. Examples include modifying the title and description, setting tags and thumbnails, adding/removing the video into a playlist, and monetizing the video.



  • Null search support

    We enhanced the ability for users to search against any boolean field, based on not only whether it is true or false, but also whether or not a value has been set: for example, fieldName=null or non null values - fieldName=(!null)

  • Taxonomy path support

    We have added the functionality to search for assets belonging to a taxonomy structure, as follows: taxonomy.<taxonomyId>="<full/hierarchical/taxonomy/path>" For example, taxonomy.1234="soccer/EPL/MU"

  • "Contains" matching support

    We have added a new tilde character (~) to support a “contains” search. This uses phrase matching. For example, the search query q=description~"live at midnight" returns all results that include the exact phrase “live at midnight” within the complete description.

  • Search allowed across child accounts

    We have created a new field to store the parent account ID, in order to search information across sub account documents.

  • Search can now sort by several fields

    In the search API, a sortBy parameter is used to sort available fields. We have now extended this parameter to sort by multiple fields.

    Note: Metadata fields are not currently supported.
  • JEF Subtitle plugins
    New JEF Subtitle plugins improve on, and deprecate, each of the three existing Extract Subtitle actions. In each case, the plugin name remains the same. Each of the new plugins offers the same functionality as before. The new plugins also offer the following new features:
    • Extract Subtitle Technical Metadata: Improved resilience and scalability. Ability to parse TTML STYLE and LAYOUT
    • Extract Subtitle: Improved resilience and scalability. Support for Reference Name in configuration
    • Encode Subtitle: Improved resilience and scalability.

    See also the above entry on Flex external resources and actions, under Subtitle.

  • Expression resolution on parameter configuration

    We have added the ability for users to configure JEF ActionExecutor with expressions. These expressions are resolved using Flex Enterprise. Only spring expressions are supported. Please see the Spring Expression Guide.

  • Action and Resource Plugins: displayName

    For Action Plugins and Resource Plugins, we have added the functionality to take the Plugin Name used by Flex Enterprise as entered, rather than converting it to another format.

  • Flex Enterprise does not have starting dependency on Registry

    We have added the functionality for Flex Enterprise and Ooyala Flex Registry service to be started in any order. Flex Enterprise will sync to the latest version if it could not fetch details from the Registry service in the event it was not available on startup.

  • Register instead of fail, if multiple locks required but not available

    JEF plugins now support the ability to acquire locks on multiple objects before execution.


  • Optimize relationship between FileAsset and children

    Asset APIs now have a new parameter, includeChildren, which is not mandatory and by default is true. If children information does not need to be returned with the parent asset, then includeChildren can be set to false, leading to performance improvements.

  • Timeline Metadata Images support

    We have added the ability for users to publish images that have been added to temporal metadata instances. We have added an option to the configuration, to publish either all timeline metadata images, or none of them. A new version of the images raw endpoint on the Publish Service is available. The endpoint remains the same, but requires the following header:


  • Custom ngram for search

    We have added the ability to specify a custom ngram on the publish search. The default ngram configuration is two characters.

  • Action supports Multiple Lock

    We have enhanced the Publish and Republish jobs to wait for the asset and all children to be unlocked instead of failing. We support this solution only with External Lock enabled.

  • Migrate Publish Smooth Stream plugin to JEF

    We have migrated the functionality of the Publish and Unpublish Smooth Stream plugins to a JEF plugin under the Flex Publish Indexer.

OoyalaMOVE (Web Transfer)

  • Endpoint to cancel job

    We have added a new endpoint to cancel a job -

    POST /api/transfers/{transferJobId}/actions 
      "action": "cancel" 

    We can now cancel a transfer if a job is requested to be cancelled. In this release, we will support limited protocols, namely File and GCS (not Azure and S3).

  • Set default values for UDO selector plugin

    We have added the ability for users to set frequently used values as default for the fields in the Mio UDO selector plugin section while creating an Inbox resource in Flex Enterprise, so that when an asset is ingested, the appropriate values are automatically set as metadata. The expression will take the following form:

    [Name of UDO]:[Metadata expression]:[default value's ID][*]

    So, for example:


  • New multi-Line label above Flex forms

    We have enabled the ability to add text above the configured metadata during the upload process. This helps to provide context and instruction to the user.


  • Automatic pruning of historical data

    A lot of data is generated when running Ooyala Flex, such as job instances, workflow instances, and events. Much of this need not be kept long-term, unless there are specific reasons to do so.

    In order to avoid the potential issues that unbounded database growth may cause, we have introduced a background process that runs while Flex is live, periodically removing small batches of old data. The data retention period, details of which workflows can be considered for pruning, etc are fully configurable to suit your setup.

    The Flex DB Pruner is not enabled by default in this release. To enable this functionality, please contact your Ooyala representative.

  • Ubuntu 18 Support

    We now support deployment to the Ubuntu 18 operating system.


Configuration Manager (CM)
  • Timeline Definition support

    We now support account timeline definition using Metadata Definition and Variant is now supported.

  • Dependency REST endpoint improvements

    We have improved Flex Enterprise REST API and CM CLI commands to control how deeply to traverse the dependency hierarchy, i.e. child assets.

  • Storage Resources to validate config access on ‘Enable’ phase

    We have added the ability for users to promote configuration and edit manually on the final Flex environment.

Resolved Issues

  • Flex Enterprise: Fixed an issue where images were displayed in metadata, but not in the task.
  • Flex Enterprise: Fixed an issue where workflow name was displayed as null in grouped workflow started events.
  • Flex Enterprise: Fixed an issue where tasks could not be finished on the first attempt.
  • Flex Enterprise: Fixed an issue where a multi proxy action created only one child proxy asset.
  • Flex Enterprise: Fixed an issue where no error message was displayed in the Keyframe UI, even when configuration was incorrect.
  • Flex Enterprise, Flex Stream Processor Service: Fixed an issue where the lack of an S3 bucket key and secret caused Flex Extract Resource to fail. This issue caused problems when using the JEF Hot Folder for Live clipping.
  • Flex Stream Processor Service: Fixed an issue where an asset in a private s3 bucket could not be extracted.
  • Flex Enterprise: Fixed an issue where taxonomy ID from the request URL was ignored.
  • Flex Enterprise: Fixed an issue where assets could not be sorted by a specific parameter.
  • FLEX Enterprise, REST API: Fixed an issue where the canDelete parameter was set to false for API requests to the annotation search endpoint.
  • Flex Events Service: Fixed an issue where an error message was displayed, instead of Events Notification and count.
  • Flex Publisher Indexer Service: Fixed an issue where an asset could not be published without S3 credentials.
  • Flex Publish Indexer Service: Fixed an issue where all published keyframe timecodes were displayed as the same value in the publish API call.
  • Flex Publish Indexer Service: Fixed an issue where an asset could be unpublished when it had been player published.
  • Flex Publish Indexer Service: Fixed an issue where jobs failed if unpublish or republish actions referenced a workflow.
  • Flex Publish Indexer Service, Flex Query Language Library, Flex Tag Service: Search for tags not working Issue:Search results for keywords were not displayed. Resolution:The correct results are now displayed for a search for keywords.
  • Flex Stream Processor Service: Fixed an issue where a segmented proxy could not be played in MAM.
  • Flex Web Transfer: Fixed an issue where jobs in transfer remained active, although they had been executed and the workflow status was complete.
  • Flex Web Transfer Application: Fixed an issue where files larger than 10MB could not be uploaded.
  • Flex Reviewer Application: Fixed an issue where segmented proxy assets could not be previewed in Reviewer, and the audio selector did not render correctly when using Chrome.
  • Flex Enterprise: ArangoDB - Timed Actions: Fixed an issue where jobs on timed actions were not triggered.
  • Flex Enterprise: Added a mandatory VFS location variable to the Publish to YouTube action, which is then used for credential storage. To make use of this, you must create a new action, as old action definitions will continue to use temporary storage. Previously, the YouTube publishing token was only retained in temporary storage, and it therefore was at risk of being lost, resulting in the failure of relevant publish jobs and the need to re-enter the token credential.

Known Issues

  • Elasticsearch - Reduction in search performance

    When performing free text or suggestion searches in Flex Enterprise or Flex MAM, users might experience a reduction in search performance. This is a side effect of the upgrade of Elasticsearch from v2.2.2 to v6.2.4, and is under investigation by the Ooyala development team, to be resolved in a future release.

  • Flex MAM - Searching with variant name shows error

    Search by variant is not fully available in this release. Search can be performed using the variant ID (variantId=<>), but not by giving the name of the variant.

  • Flex MAM - Timeline comment cannot be played

    This will be resolved for the Ooyala Flex 7.3.1 release.

  • Flex MAM - Searching with specific characters causes error

    Searching with the following characters displays an error:

    ! ^ * ( ) - = + \ " < > , ~

  • Flex Enterprise: For accounts without In-Region ingestion, Backlot HTTP Publish does not work with assets greater than 4MB

    For accounts without In-Region ingestion, Backlot HTTP Publish does not work if the In Region Supported checkbox is set as true. However, even if the checkbox is subsequently set as false, an error occurs and the asset is still not published.

  • Merges fail for metadata definitions containing taxonomy fields

    If a metadata definition contains a taxonomy field, then metadata merges triggered by changes to that metadata definition will fail. This will be resolved for the Flex 7.3.1 release.

Please contact your Ooyala representative for the full upgrade notes, further information about this release, and the complete list of resolved issues.