Ooyala is excited to present the April 2020 release of Ooyala Flex Media Platform, 2020.4.0.
This release of Ooyala Flex Media Platform provides the new features, quality and security enhancements, bug fixes, and other changes listed below.
Flex 2020.4 is an interim release track, allowing customers to make use of the latest functionality and bug fixes in Flex before the next LTS (Long Term Supported) release track becomes available.
As an interim release track, it should be noted that this release:
- will only receive security updates once the next track (2020.5) is available.
- will no longer receive any updates once the next LTS track (2020.6) is available.
Asset-Level Access Control
Access to assets can now be controlled by asset level ACLs to allow better control over which users have access to an individual asset. Prior to the 2020.4.0 release, access to assets was managed through workspaces, meaning that users with access to a workspace are granted access to all the assets belonging to the workspace. Whilst users can belong to multiple workspaces, assets can only belong to a single workspace, limiting the ability to give access to users who are not members of the workspace.
With asset level ACLs, individual users or user groups can be granted access to an asset, and access permissions are governed by roles assigned to the user or the user group.
JWPlayer Publish Plugin
The new Flex JWPlayer Publish and JWPlayer Unpublish actions provide genuine integration with JWPlayer in Flex. JWPlayer Publish supports configuring ‘Title’, ‘Description’, ‘Video tag’, ‘Schedule Video’, and ‘Custom Fields’. Media assets can be published by uploading from FILE Flex location or using signed URL for AZBS, GCS, S3 cloud storage providers.
Audio Waveform storage for external proxies
Waveform locations are now configurable per account using Account Storage - Waveform folders and supports FILE, GCS, AZBS, and S3. The Waveform Extract plugin has been updated to use new location configuration.
FMPE supports reading location from Account Storage - Waveform folders, allowing waveform storage in a different location to the Proxy Storage.
An optional new feature toggle KV can be defined (`flex/flex-jobasyncexecutor-service/waveformNewLocation`). This will store waveforms in `<account-storage-waveform-location>/<assetUuid>/` which would provide better file organization specifically on large volumes of files. No migration is available yet to move existing waveform assets, this option should be used only on new installations.
Flex Media Processing Engine has been migrated to Linux
Adobe Premiere Panel Plug-In
In this release (ZXP version 1.0.14), the following new functionalities were introduced in the Adobe Premiere Panel:
- Preview Flex assets (Proxy) in Adobe Premiere panel - this allows the editor to preview Flex content without the need to import it first.
- Premiere Proxy Editing support – This allows editing of the Proxy media while using the high resolution media for the actual rendering operation. This requires the following prerequisites:
- Proxy media should match the high resolution media audio number of channels
- The editing workstation must have access to both proxy and high resolution media
Support for HTTP Proxies
Support for HTTP Proxies have been added to support stricter security models which do not allow Flex services direct access to the Internet. The following Consul KVs can be set to enable request proxying:
Resource Polling Behaviour
The behaviour of resource polling under failure conditions has changed to improve operability. Previously, when a poll cycle failed (including all retries) the resource was set to a stopped state and its status set to failed. Manual intervention was required to restart the resource once the issue was resolved. Starting with the 2020.4.0 release, when a resource poll fails, the resource will remain in a started state and polling will continue normally, while the resource status is set to failed. When the issue is resolved, the next poll cycle will succeed and the resource status will be set to running. By continuing to poll the resource under failure conditions, there is no need for user input to restart the resource.
Platform Deprecation Notices
As planned for this release, MioCore has been deprecated. As a result, the following plugins are no longer available:
- Default Extract Action (non-JEF)
- Technical Extract Metadata Action (non-JEF)
- Extract Resource
- Default Inject Action
The following features and plugins have behaviour changes:
- Asset Import Action: ability to Extract Technical Metadata
- Multi-Asset Import Action: ability to Extract Technical Metadata
- Asset Folder Import Action: ability to Extract Technical Metadata
- Ingest Import Action: ability to Extract Technical Metadata
- REST POST to extract keyframe (now async)
- Mio Playout Publisher: segment and hint support
- Vantage Workflow plugin: ability to Extract Technical Metadata
- Transcode Action other than FSP: ability to Extract Technical Metadata
Configurations using any of the above items require in this version updating if they have been skipped in previous releases.
## Plugin Deprecations
Several Flex Enterprise core plugins are being deprecated. In most cases, new JEF-based plugins have been developed to replace them, or there are existing alternatives.
These plugins will still be available on Flex for a limited number of releases, by specifically enabling them with environment feature toggles. Existing configurations should be reviewed and migrated as soon as possible.
| Plugin | Notes | Target removal release |
| ------ | ----- | ---------------------- |
| Delay Workflow | Use the corresponding JEF Delay Workflow action in future. Feature Toggle to allow continued use of legacy plugin: `flex/shared/flex-enterprise/featureToggles/enableDeprecatedDelayWorkflowPlugin` | 2020.6.0 |
### Metadata persistence in Arango enabled by default
In this release, we enabled Metadata persistence in Arango by default, it is essential to mark below feature toggle false in customer environment(s) who still like to use Metadata persistence in MySQL instead of Arango.
If customers are switching from MySQL to Arango, Dalet Ooyala will need to assist by testing the migration of existing data, prior to performing on Production systems. Please contact your Dalet Ooyala representative for further guidance.
## Resolved Issues
- Introduced support for blank options in metadata forms within the Flex MAM application, to align with Flex Enterprise and the Metadata Designer application.
- Resolved an issue within the Flex MAM application, whereby filenames of assets selected for download appeared as “raw” in the Chrome browser. Now the files are downloaded with the correct Asset name, and if the filename contains either an em dash or en dash character, it is replaced with an underscore ("_").
- Fixed an issue whereby Flex failed to start when either the “flex/enterprise/azure/parallel/upload/thread” or “flex/enterprise/azure/upload/block/size” Azure Consul KVs value had been set.
- Resolved an issue with the Flex Login Application, which blocked logging in for master accounts whose hostname was not "master".
- Resolved an issue whereby some Hot-Folder jobs within workflows were stuck “waiting for lock”.
- Enabled signed URL to be generated via API for an asset stored in S3 storage, from path without key and secret, with an expiration limit updated up to 6-hours.
- Introduced capability for Flex File Scan Service file scanning to be skipped for files whilst publishing, which caused the Flex Publish Service to fail.
- Resolved an issue with the Flex Metadata Merge Service, which resulted in merge failures when metadata instances were stored in MySQL.
- Resolved an issue with the Flex Web Transfer Application, whereby uploads became stuck. Now the user is notified if the metadata validation fails, to prompt correction.
- Resolved intermittent failures with the Subtitle Extract Technical Metadata action. It now also checks if the subtitle source file contains BOM character and generates in the target file if present.
- Objects that fail indexing into ElasticSearch, are no longer indexed into ArangoDB.
- Improved the resilience of the Move and Copy actions, including generating MD5 checksums before file move operation starts, if file exists at destination location, validate checksum, if it matches consider desired file is already there, and do not fail the job and process further job, and the source files are no longer deleted until the transaction is verified as complete.
- Resolved an issue whereby a timecode value of 23.976fps could not be instantiated in a metadata field.
- Introduced improvements to several services, which has resolved issues that resulted in full re-indexes not completing successfully.
- Resolved an issue whereby the Flex Hot-Folder service would stop if files with special characters existed in the folder. Now the files are ignored, and the service continues to run. In a future release, filenames containing special characters will be processed.
- Resolved an issue whereby object fields in metadata only indexed the ID, and not the name.
- Resolved an issue whereby the Groovy class loader had to be reset on all job nodes manually, now an event is published when one Job Node is reset, so other nodes can also reset groovy class loader.
- Fixed an issue whereby adding a tag via groovy script would fail if a single apostrophe existed in the tag text.
- Introduced the capability for language information to be inferred from the SRT subtitle filename, as the format does not support language within its embedded metadata. This can be utilised in the extract subtitle technical metadata plug-in, when filenames adhere to the convention "filename.[language code]_[country code].srt".
## Known Issues
- Flex Reviewer Application: Summary panel & Video Review page is not working. This will be addressed in the next Flex release, 2020.5.0 (May).
- Asset ACL: User to whom an asset is shared via an ACL, is able to change the Asset's Workspace. This will be addressed in the next Flex release, 2020.5.0 (May).
- Asset ACL: To enable Access Control Lists (“ACL”) for an asset, the selected users must be in the same account as the asset. If a user or group is selected from a sub- or parent account to be applied to an asset, the request will fail.
Please contact your Dalet Ooyala representative for the full upgrade notes, further information about this release, and the complete list of resolved issues.