Ooyala Flex 6.2.0 Release Notes 2018-02-13


Ooyala Flex 6.2.0 is a feature release. This includes the following new features:

  • JEF: The Job Execution Framework.  
  • MAM: Segmented assets, ability to add assets to UDO hierarchies, audio switching, and updates to FQL functionality.
  • Reviewer: Multi-language support, removal of expired reviews, listing page refactor.
  • New Plugins: Demux, Segmented Proxy, and Media (for Microsoft Video Indexer), and a new Hot Folder plugin to supplement the existing Hot Folder Resource plugin.
  • New Services: Flex Plugin Registry, JEF V2, Video Proxy, and Hot Folder.
  • Taxonomy: Taxonomy is now available in Metadata Designer.

What's New

Job Execution Framework

The Job Execution Framework (JEF) extends the Ooyala Flex platform by allowing you to create your own action and resource plugins. You can then run these plugins in their own microservices.

Once an action plugin has been deployed, it appears in the list of existing actions in the Ooyala Flex console, ready for people to make use of.

JEF provides the software infrastructure for:

  • Developers, post sales solutions architects, and operations professionals who need to create bespoke actions that can be used to help customers achieve a wide variety of unique goals.
  • Certain customers of Ooyala such as external developers and third party integrators who need to execute new jobs in a scalable microservice architecture.


  • Segmented Assets / Growing File:  We have added the ability to create, manage, and view segmented assets in MAM.
  • Adding Assets to UDO Hierarchies: We have added the ability to set an asset as a child of a user defined object.
  • Audio Switching: We have added the ability to switch between different audio tracks in MAM. For example: you might have a media asset with audio tracks in different languages such as English, French, Italian.
  • FQL Updates:  We have made the following updates to FQL in MAM:
    • We have made the parameters in the suggestion drop down easier to understand for users.
    • We have added an operator suggestion drop down. This dropdown provides users with a list of logical operators that they might use in their search queries.
  • Editing Timeframes: We have added the ability to change the range of frames for an existing comment. For example: you might have posted a comment against a range of frames in a media asset, and you may wish to add more frames, remove frames, or move both in and out markers so that the comment points to a different range frames entirely.


  • Removal of Expired Reviews: Expired and completed reviews are no longer visible on the portal pages. They can still be accessed in Core, from the Review drop down in the Asset tab.
  • Listing Page Refactor: A new list view is displayed in Reviewer. See all now displays a list icon, similar to what is displayed in MAM.

SAML 2.0

We now support Security Assertion Markup Language (SAML), which is an open standard for exchanging authentication and authorisation data between service providers and identity providers. SAML allows you to log into multiple applications, using the same login credentials.


We have added the following changes to the REST API:

  • We have updated the list of error status codes to include a 400 error. A 400 error occurs when query syntax is incorrect.
  • Support for Complex Values: In the api/profiles/{id}/configuration endpoint we have added support for complex values. From now on, the metadata instance response includes:
        "long": {           
              "value": 999999,           
              "complexValue": "999999<"
  • assetOrigins: We have added a new matrix parameter called assetOrigins to the assets/{assetId}/proxies endpoint. This enables users to return one or more segmented proxies. Example: /api/assets/<asset-id>/proxies;assetOrigins=PROXY
  • UUIDs for Assets: UUIDs are now displayed in the REST response for the following GET requests for newly created assets:
    • api/assets
    • api/assets/<asset-id>
    • api/objects/<object-id>
    • api/objects/links
  • includeDisabled: We have added a new matrix parameter to the api/assets/<asset-id>/references endpoint called includeDisabled. If this is set to "true", it retrieves all the references for a specific asset including referenced objects that have been disabled. Example: api/assets/<asset-id>/references;includeDisabled=true
  • Updated schema for /assets/{assetId} PUT: Some optional fields have been added to the PUT request for the assets/{assetId} endpoint. These fields are optional and enable users to update file details for an asset.


	"referenceName" : "ref-name",

	"fileDetails" : {
		"assetContext" : {
			"type" : "MediaContext",
			"formatContext" : {
				"format" : "mp4",
				"duration" : 20000,
				"bitRate" : 24106
		"vfsLocation" : {
			"protocol" : "FILE",
			"path" : "\\\\\\mio-amor\\proxy\\7ef1da45-fc49-431d-8495-554add2c6a2d1.mp4"
		"mimeType" : "video/mp4"

Timed Actions: New command to manage assets for enabled storage resources

We have added a new timed action command which manages all un-managed assets for all enabled storage resources. We have also removed the “Process Un-managed Assets” option from the resource storage.


You can now specify taxonomies in the Metadata Designer.

New System Property

We have added the following system property:com.ooyala.flex.console.asset.summary.enabled

If the value for this property is set to “true”, the Asset Summary section will be displayed under the Assets tab in the Ooyala Flex console. If the value for this property is set to false, the Asset Summary section will not be displayed under the Assets tab in the Ooyala Flex console.


  • Support for Asset UUIDs: We have added a new “UUID” field in responses. This field provides the UUID for an asset.
  • Audio Switching: We have added the ability to publish segmented proxy assets.
  • Closed Captions: We have added the ability to publish subtitle assets.
  • Ordered Lists: Memberships now contain the order of each member within the group.

New Plugins

The following plugins are new in 6.2.0:

  • Demux: The Demux plugin takes a media asset and breaks it down into multiple .m3u8 files. This plugin relates to the audio switching feature in MAM.
  • Segmented Proxy: The Segmented Proxy plugin takes the .m3u8 files created by the Demux plugin and packages them into a segmented asset (HLS format). This plugin relates to the audio switching feature in MAM.
  • Media (for Microsoft Video Indexer): The Media plugin comes under the “Analyse” category and has been created for use with Microsoft's Video Indexer. The Video Indexer analyzes media assets for the faces, sentiments, and annotations.

  • Hot Folder: This Resource plugin can scan subdirectories recursively. This plugin does not need to be backed by a storage resource. Hot folder resource configuration itself supports configuring multiple VFS locations, which must be scanned for any changes.

New Services

We have introduced the following services in 6.2.0:

  • Flex Plugin Registry: this is an Ooyala Flex Job Execution Framework service, responsible for managing action and resource definitions deployed by executors.
  • JEF V2: the job execution framework extends the Ooyala Flex platform, allowing external developers and third party integrators to create their own action and resource plugins. You can then run these plugins in their own microservices.
  • Video Proxy:  This service enables videos in MAM to be resized to a given height in accordance with where they are being viewed.
  • Hot Folder Service: this service scans the file system location defined in a hot folder configuration. It keeps track of any changes made to the file system such as:  if a file has been added, updated, or removed. Once a file is ready for processing, a workflow is launched in Enterprise.

Known Issues

S3 storage resource works without a key and secret after the configuration has been validated for the first time

If users have not configured the roles / policies for an S3 bucket, they must connect to S3 using a secret and a key. If users do not provide a secret and a key, then under normal circumstances,  an error occurs in the UI and they will be unable to connect to S3.

Some users found that if they entered a valid secret and key, and then removed them,  the connection to S3 remained. Normally, if the secret and key are removed, the connection to S3 should is broken automatically and users will have to re-establish a connection.

This will be fixed in an upcoming release.

Duplicate usernames in different accounts

It is possible to create two users with the same name in different accounts, but the system behaves in unexpected and unhelpful ways when this is done.

Example: you have one user ‘Jim’ in account A, working correctly. You then create a new user 'Jim' in account B. When the new user in account B is enabled, they are sent a password reset email. They click the link and enter a new password. When the user tries to log in they are unable to do so. Now neither user in account A or account B can log in and the password is reset for the wrong user.

This will be fixed in an upcoming release.

PM Workflows starting in the AM instead

Currently users are unable to set time zones for user accounts in MAM. MAM automatically uses the timezone that is set for the machine that is being used. This often means that workflows will sometimes trigger at the wrong time (for example: in the morning instead of the evening).  

The ability to set change time zones in MAM will be added in a future releases.

Growing Files / Segmented Asset

  • Azure is not currently supported for growing files / segmented assets.
  • MAM will not play a file if it is available on S3.
  • Currently users need to place growing or segmented file packages in the /segmented folder underneath /proxies folder. MAM will use 'flex/flex-mam-app/proxyBaseUrl' KV and play the file.
  • The ability to extract technical metadata from assets is dependent on the Stream Processor. In some cases it will not work on some files.
  • Workspace related permissions are not supported for hot folders.
  • Currently there is no subtitle support in MAM for growing files or segmented assets.
  • Support for publishing metadata images on a segmented asset fails, because the plugin can't read the image.
  • Currently we do not support the creation of sequences for segmented assets in MAM.

Demux and Segmented Proxy

  • Currently the Segmented Proxy and Demux actions only work on .MP4 files.
  • Creating a stream and segmented file is dependent on the Stream Processor.
  • To play files in MAM, you need to have segmented proxy files in a /proxies/segmented folder.
  • Only FILE protocol is supported for Segmented Proxy and Demux actions.
  • Children created by the Demux action do not automatically have a variant associated with them.
  • Clips created from a segmented asset or an asset that has a segmented proxy will not be played in MAM.

Video Indexer (Analyse Media)

Three hard coded metadata definitions are required when configuring the Media plugin.  One metadata definition needs to be associated with a variant and two (Faces and Transcripts) need to be associated with a timeline.

Ooyala Flex Publish:

Transactional publish triggers an  “Out Of Memory” error with standard configuration (Heap - 300MB and 5 concurrent transactions). Transactional publish cannot handle the default configuration of 5 concurrent publish transactions.

Issues Fixed

System does not return asset references through API calls

Users were using the api/assets/{assetId}/references (GET) call to retrieve a list of asset references. The system returned 0 records even though the assets that were in the system had references, and on UI all the references were listed as being present in the system.

Resolution: To get all the references associated with an object, including the objects which have not been enabled, we have introduced the includeDisabled matrix parameter for use with the api/assets/<asset-id>/references (GET) endpoint.

Transcode Elemental jobs are not completing in Ooyala Flex, but the job finishes in Elemental

An issue was occuring in MAM in which jobs were finishing in Elemental, but they were not completing in Ooyala Flex.


  • We have improved the logging in the transcoder bridge.
  • We have added a fix that will check failed transcode jobs upon restart.

Error while destroying metadata definitions

Users kept receiving errors while attempting to destroy metadata definitions.

Resolution: We have added a validation. If a metadata definition references a variant, then the metadata definition entity cannot be deleted using the “destroy” API call. If a reference is present in a variant, then a validation message is displayed which tells users that the metadata definition cannot be removed because it is being used by a variant.  If there is no reference, then deletion is allowed.

Upward visibility issue

User defined object (UDO) metadata instances were displaying based on the upward hierarchies in the Asset Metadata tab in MAM.

Resolution: We have made a change so that user defined object (UDO) metadata instances are displayed based on the user that is logged into that account and UDOT type.

Non-Ooyala Flex object events cause exceptions in Enterprise

Ooyala Flex doesn’t count Taxonomies, tags and thesauri as Ooyala Flex objects. When Enterprise received events for taxonomies, tags, and thesauri, an exception would be thrown.

Resolution: We have removed non-Ooyala Flex objects from event searches and event handlers.

Upgrade Instructions

For upgrade instructions for 6.2.0, please click here.

Note: If you are publishing assets to a public S3 bucket and you are making use of them in Reviewer, you must run a migration script. For more information, please contact your Customer Success Manager or Ooyala Technical Support.


Table 1.
Service Version Notes
flex-admin-app 2.0.601  
flex-authentication-service 7.5.491  
flex-authorisation-service 2.3.477  
flex-dataagreggation-service 1.4.521  
flex-divarchive-service 2.1.512  
flex-events-service 2.7.517  
flex-executionconfiguration-service 1.0.332  
flex-fastobject-service 3.4.602  
flex-forms-service 0.0.373  
flex-hotfolder-service 1.0.176  
flex-imageproxy-service 3.2.466  
flex-indexelastic-service 5.11.675  
flex-jobasyncexecutor-service 1.0.604  
flex-jobengine-service 1.0.678  
flex-mam-app 4.6.1734  
flex-metadatadesigner-app 2.2.1528  
flex-metadatamerge-service 2.5.602  
flex-outboundtransfer-service 2.0.370  
flex-publish-service 10.4.678  
flex-registry-service 1.0.417  
flex-reviewer-app 3.1.894.1  
flex-searchelastic-service 5.2.775  
flex-streamprocessor-service 1.1.148  
flex-subtitle-service 1.0.236  
flex-tag-service 1.0.919  
flex-taxonomy-service 0.0.302  
flex-thesaurus-service 0.1.992  
flex-transcoderesource-service 1.0.203  
flex-webtransfer-app 7.0.807  
flex-workflowdesigner-app 7.1.375