Ooyala Flex 5.3.0 Release Notes 2016-09-30

Summary

Many changes have been made to Ooyala Flex in relation to the 5.3.0 release. In these release notes, you will be provided with a detailed overview of each of these changes. These changes include: the introduction of MAM, a new micro service based architecture, removal of the Java Applet applications and the addition of their HTML5 equivalents, further integrations with third-party applications, an upgraded Configuration Manager, and new REST Endpoints. These additions to Ooyala Flex in the 5.3.0 release, will extend the functionality, improve various areas of the product, and make it easier to use.

Required Components and Updates

Core

  • Master
  • Job Nodes
  • Events Service
  • Index Elasticsearch Service
  • Search Service
  • Authorization Service
  • Authentication Service
  • Stream Processor Service
  • Metadata Update Service

Modules

  • Publish
  • Transfer
  • MAM
  • Reviewer (previously known as Screener).

Known Issues in Core

  • Disabled Actions should not be mapped in Workflow Definitions through REST API calls.

User defined objects are not displayed on Web Transfer

  • We are no longer using “MioUserDefinedObjectList” from the MioEnterpriseApiObjects library. Instead, I am using the DTOs from Transfer commons.  We are now using the mioEnterpriseApiObjects.  Fixed the problem caused by the JS refactoring.

What’s New

Architecture

The architecture for 5.3.0 has changed, and now utilizes a micro-service based approach. This micro-service approach means:

  • The architecture is fully containerized, and so, there is no fixed architecture.
  • Each client can run the containers in their own configuration, and host them using any provider they wish, such as Azure, Amazon Web Services, and so on.
  • Clients can pick and choose which services they want. A client might only require certain Ooyala Flex services, e.g. Ooyala Flex Core, with just MAM, and Web Transfer.
  • Each container is elastic, meaning that it can grow and shrink in size.

An Overview of each Service:

  • **Events:**This manages persistence and retrieval of Events to and from Mongo DB.
  • Index Elasticsearch: An Indexing service built on top of Elasticsearch.
  • Search: An Object search service built on top of Elasticsearch.
  • Identity: This provides User permission information used for result set filtering and authorisation.
  • Stream Processor: This wraps FFMPEG for transcode, frame accurate clipping, technical metadata extraction, MP4 file stitching.
  • Metadata Update: Bulk metadata update service.
  • Authorization: This provides the needed logic to check the permissions for a specific User to query or search any objects via the Search service (Assets, Groups, Collections, and so on). It provides which Actions (list, read, create, update and delete) can be performed on queried objects.
  • DIVArchive: DIVArchive Service is a Flex External Resource Service responsible for integrating DIVA Oracle systems for the purpose of archiving Assets. This includes the following actions: archive, restore, delete.
  • LMPP: This service breaks down a large XML manifest into a number of smaller xml manifests.
  • Metadata Merge: This service is responsible for merging all Metadata instances of the updated Metadata Definition.
  • Outbound Transfer: This service works via an external copy Action, which copies an Asset to a remote location.
  • Publish: The Publish service is used to publish Assets (videos, images or text), Metadata and HTML5 players into NAS suitable for the streaming via the Ooyala Flex Platform.

Applications

  • **MAM:**This is a Media Asset Management tool, with enhanced UI, Metadata curation, search, and in-browser rough cut editing features.
  • **Workflow Designer:**A HTML5 based tool which enables you to design Workflows based around your existing processes.
  • **Metadata Designer:**A HTML5 based tool which enables you to design Metadata to accompany your Assets.
  • Reviewer: A tool which enables you to collaboratively review your uploaded Media Assets.
  • Configuration Manager: A stand-alone tool, which enables you to remotely configure Ooyala Flex environments.
  • **Web Transfer:**An application which uploads files, inputs Metadata, and triggers Workflows.
  • **Admin:**This is used to control the log levels of the system. In essence, it is a system health checker, which monitors specific components.

The Metadata Designer

  • **New User Interface:**The Metadata Designer’s user interface has been completely redesigned, in order to make it more aesthetically pleasing, as well as easier use.
  • HTML5: The Metadata Designer now runs using HTML5 instead of Java applet, so it has a faster loading time, and it can be used on the latest versions of most browsers.
  • Key-Value Pairs: You can now add key-value variables to your Metadata Schema, in the Metadata Designer. This new field can be found in the Primitives section of the Metadata Designer. Example: if you had Metadata which is associated to an Asset with on screen talent, you could have a key-value field for the actor and their role. This can be included to the metadata definition in the Metadata Designer as follows:

This is displayed within the console as the specified display name and respective values.

For further information on the Metadata Designer, please consult the 5.3 seires Metadata Designer Guide

The Workflow Designer

  • New HTML5 User Interface:​ The Workflow Designer now runs using HTML5 instead of Java applet, so it has a faster loading time, and it can be used on the latest versions of most browsers.

  • Generic Account property:​b> Introduced “%account” placeholder in Workflow Designer url property resolution. This means you can replace account hostname with %account in existing property. i.e. 1)%account.local.nativ.tv/workflow, and 2)npd.local.nativ.tv/workflow/a/%account

For more information regarding the Workflow Designer, please consult the 5.3.0 Workflow Designer guide.

This should return the display value of the variable: 10:00:00:00@25. When accessing the variable via the new Groovy Scripting SDK: The field can be accessed (e.g. getValue(), setValue()) by passing in the display value (hh:mm:ss:ff@fr).

Transcode Commands: Support for providing transcode profile as JSON

A new field has been added to the Transcode plugins, which reads the transcode profile as JSON. This is available in the following Action Plugins:

  • Transcode Command
  • Multiple Profile Transcode Command
  • Create Proxy Command
  • Multiple Profile Create Proxy Command
  • Image Transcode Command

Added a way to reset the Groovy Class Loader

When setting the tv.nativ.mio.enterprise.script.classloader.reset system property to “true”, the class loader will always be reset when executing any script from that point onwards.

Note:​This should be set back to “false” after it is cleared.

Transcode Commands: Support for providing transcode profile as JSON

A new field has been added to the Transcode plugins configuration section, which reads the transcode profile as JSON. This is available in the following Action Plugins:

  • Transcode Command
  • Multiple Profile Transcode Command
  • Create Proxy Command
  • Multiple Profile Create Proxy Command
  • Image Transcode Command

Object Level Support for External IDs

Ooyala Flex now supports External IDs. The support for external IDs has been introduced in the following areas:

  • UI Changes: The Console UI has changed in order to accommodate the support for External IDs. This includes: A pop-up rollover which appears when you wipe over the ID. This pop-up lists a small table of the External IDs currently defined. This pop-up enables you to delete, add, or edit entries.

**Note:**You can also edit the key value pairs for external IDs, by clicking the Edit option, located in the top-right of the summary panel.

  • REST API: In the REST API, you can: Add, view, edit, and delete existing Objects resources e.g. /objects/123456; You can retrieve a specific Object via an external ID. For example: /objects;vindiciaId=123; and accessible for reading on the specific entity resource e.g. /assets/123456/workflows/234567.

  • Search: You can search for existing external IDs in the Ooyala Flex console UI. The following examples of queries can be performed:“amazonObjectId:xyz-123”, “123”

  • Per-Account Configuration and Constraints: There are several rules that need to be followed when creating external IDs. An external ID value cannot be empty and cannot contain spaces. An external ID key cannot be used if the same key already exists for the same Ooyala Flex Object.

  • If the account of the Ooyala Flex Object has a property defined called {{tv.nativ.mio.externalid.keys}} it is expected this will be a comma separated list of valid external ID keys. If this property is defined, then an external ID key must be in this list for it to be valid.

Note: If the {{tv.nativ.mio.externalid.keys}} property is modified after external IDs have already been set on Objects, any invalid external IDs will remain on the Objects. However, when attempting to modify/edit the external IDs on an Object instance, the invalid ones will need to be removed.

Note: The Account configuration should be taken from the Account that the Object belongs to, and not the Account of the User accessing the Object.

  • **Removal of the User External Reference Field:**With the introduction of the External ID field in the Ooyala Flex console, the External Reference field has been removed.

Note: When you upgrade to 5.3.0, any existing external references will be converted into external IDs. Example: “externalReference”: “3431”

FileCatalyst® Integration

Ooyala Flex has integrated with FileCatalyst, providing accelerated Asset uploads alongside the web uploader. In order to make use of this integration, you will need to have FileCatalyst credentials.

There are a number of prerequisites that you must take into account, if you intend to use the FileCatalyst Uploader. These are as follows:

  • Each user must have the File Catalyst Transfer Agent with a valid license, installed locally on their machine.
  • Each user must have both an Ooyala Flex User account, and a FileCatalyst User account.
  • You must have the storage location of the FileCatalyst Server shared with Ooyala Flex. So in other words, each User of FileCatalyst must have a storage location linked to their username that storage location must then be shared with Ooyala Flex, in order for the files to be ingested by Ooyala Flex.

Please consult the 5.3.0 FileCatalyst Integration guide for further information.

FileCatalyst Limitations

  • If you want to upload multiple files at the same time, in order to trigger workflows, you must wait until all the files in the queue have finished uploading. If you close the browser window, the upload won’t cancel, and will continue running in the background, as long as the FileCatalyst TransferAgent is still running.
  • You won’t be able to upload the same file to 2 different inboxes at the same time.

DIVArchive Integration

Managing the storage and life cycle of your Assets is now much easier, as Ooyala Flex has integrated with DIVArchive, via the creation of three new DIVArchive Action plugins. These plugins give you the ability to archive your Assets, delete them from archive, and restore them back to the configured storage.

The DIVArchive integration includes the introduction of the following new Action plugins:

  • DIVArchive Action: This plugin enables you to archive an uploaded Media Asset. This plugin falls under the “Archive” type.

Note: Despite the fact that the DIVArchive plugin falls under the “Archive” category, the DIVArchive Action is distinctly different and therefore unrelated to the standard Ooyala Flex Archive Action.

  • DIVArchive Delete Action: This plugin enables you to delete an archived Media Asset. This plugin falls under a new category, “Delete Archive”.
  • DIVArchive Restore Action: This plugin enables you to restore an archived Media Asset. This new plugin falls under a newly created type, known as “ Restore Archive”.

DIVArchive Limitations

You can archive child assets separately from their parent. This comes with a limitation. If you want to restore a child Asset, you can only do this in one of two ways:

  • By navigating to the child asset in the Ooyala Flex console, and clicking the Restore option.

Note: You cannot restore a child Asset via its parent. You must go directly to that particular child Asset, and then carry out the restore.

  • By setting it up, so that a Workflow definition specifically chooses the child Asset for restore, instead of the parent. To accomplish this, you should specify the child asset in the Asset Context Hierarchy. You can find more information about Asset context hierarchies in the Assets guide under the “Creation Context” sub-heading.
  • Partial Restore is not supported.

5.3.0 REST API

Content-Type Header for GET Requests

You no longer need to specify the Content-Type header (application/vnd.nativ.mio.v1+json) when performing GET Requests in the 5.3 series.

External ID Endpoints

New REST API endpoints have been added to the Core REST API for 5.3.0. Some of these endpoints specifically support MAM functionality, and some of these are solely related to Core. Below, you can see the endpoints that have been created, along with the requests that can be made for each one:

The following endpoints relating to External IDs have been added for all Object Types throughout Ooyala Flex, including User Defined Object Types.

Example: In the REST API, the following GET request could be made. This GET request would provide you with the external ID for a specific Group.

/groups/{groupId}/externalIds/{key}

Table 1. External ID Endpoints

Resource Endpoint Method
External IDs: /externalIds Get / Post
External IDs: /externalIds/{key} Get / Put / Delete

Copy Endpoints

A copy endpoint has been added for all Object Types throughout Ooyala Flex.

The following endpoint enables you to copy an Object via the REST API.

The only two fields that must be filled in when copying an Object via the REST API are as follows:

  • Name: a name for the copy of the Object
  • Description: An optional description for a the copy of the Object.

Table 2. Copy Endpoints

Resource Endpoint Method
All Object Types: e.g. Assets, Metadata Definitions, Workflow Definitions… /copy Post

Asset Endpoints

There are a number of endpoints that have been added in the REST API, which relate to the newly introduced MAM application. This includes REST API endpoints relating to Assets, Collections, Wizards, and Object Types.

Table 3. Asset Endpoints

Resource Endpoint Method
Assets: /mediaRegion Get / Post / Put
Assets: /placedMediaRegions Get / Post
Assets: /{placedMediaRegionId} G et / Put
Assets: /{assetId}/proxies Get
Assets: /assets/{assetId}/keyframes/{keyframeId} Get / Put /Post / Delete
Collections: /collections Get / Post
Collections: /collections/{collectionId} Get / Put / Delete
Collections: /collections/{collectionId}/items Put / Get
Collections: /collections/{collectionId}/comments Get / Post
Collections: /collections/{collectionId}/comments/{commentId} Get / Put / Delete
Collections: /collections/{collectionId}/followers Get
Collections: /collections/{collectionId}/attachments Get / Post
Collections: /collections/{collectionId}/attachments/{attachmentId} Get / Put
Collections: /collections/{collectionId}history Get
Collections: /collections/{collectionId}/references Get
Collections: /collections/{collectionId}/metadata/{variableInstanceId}/comments Get / Post
Collections: /collections/{collectionId}/subCollections Get
Collections: /collections/{collectionId}/keyframe Post / Put / Delete
Wizards: /wizards/instances Get
Wizards: /objects/{id}/wizards/instances Get
ObjectTypes: /objectTypes/objects Get
ObjectTypes: /objectTypes/user Get
ObjectTypes: /objectTypes/asset Get

MAM

MAM is a user-centric Media Asset Management application which is powered by the Core module. The interface is focused on just the functionality that a user requires, this includes secure search, management, metadata update, and clipping and rough-cut editing on your assets directly from your web browser.

MAM enables you to do the following:

  • Securely access your content: You can safely and securely access your content via the web browser. MAM is accessed via a separate UI.
  • Upload Assets: Upload your assets with the Transfer module.
  • Organise: You can group your Assets into collections and sub-collections.
  • Collaborate: You can collaborate with your colleagues when working with your Assets, by posting comments against a range of frames across an Asset.
  • View and Edit Metadata: You can view the Metadata associated with an Asset, and effortlessly edit the information directly in the Metadata fields.
  • **Search:**You can search through your existing Assets and Collections using basic and advanced search features. When you run a search, the Advanced search panel divides the search results into Assets, Collections, and Edits that share the search criteria you have specified.
  • **Navigate:**You can easily navigate back and forth through a collection directory via breadcrumbs at the top of the screen.
  • Tag your Assets / Collections: Tags are a very useful feature in MAM, that not only help you to organise and categorise your assets and collections.
  • Publish: You can publish your Assets to your preferred destinations using a one-click publish Action.

Known Issues for MAM

  • **Upload UI:**Visibility not followed in http transfer resource while upload from Flex MAM.
  • A Network error is displayed when an attempt is made to create MAM objects from the Ooyala Flex Console.

Limitations for MAM

  • Image Assets are not currently supported.
  • The Objects Module is not supported.
  • Limited audio asset support, with no playback in the UI.
  • No in-browser clip conform, planned for post 1.0. Does support exporting EDL for workflow task.
  • Supports only basic full text search in the release.
  • Support for metadata task only.
  • Edit (Rough Cut) is not available in this release.
  • Search by tags is not supported.

For proxy recommendations and more information relating to MAM, please consult the MAM Guide

Reviewer 2.0

The interface for the Reviewer application has been completely redesigned. So that is it sleeker, easier to use, and more visually appealing.

Reviewer is an application that enables you to quickly and securely review, approve, and submit time-coded comments against your uploaded Assets anywhere, at any time, as long as you are connected to the internet.

The new Reviewer UI comes with the following improvements:

  • Secure login: You can securely login to the application via your web browser.
  • **Status Carousels:**Reviews are now divided by status (New, Active, Finished/Expired).
  • Improved Search: It is now much easier to search through your reviews.
  • Ability to post timecoded comments: You can post a comment against an entire Asset, or against a specific range of frames across an Assets duration, by specifying In and Out points.

For more information on Reviewer please consult the Reviewer 2.0 Guide

Limitations for Reviewer 2.0

  • If you are a Sub-Account User, you are currently unable to access a review session and carry out a review of an Asset.

Configuration Manager 2.0

Ooyala Flex Configuration Manager is a stand alone tool which helps you remotely configure Ooyala Flex environments. An Ooyala Flex environment is a running instance of Ooyala Flex e.g. Manage Resources, Index, and Jobs. An environment could be used for development, Quality Assurance, User Acceptance Testing, or Live Production.

With the release of Configuration Manager 2.0, there are a number of improvements and additions that have been made. These are as follows:

Newly Supported Objects:

  • Accounts
  • Sub-Accounts
  • Users
  • Groups
  • Roles
  • Workspaces
  • Profiles
  • Player Definitions
  • User Defined Object Types

New Commands

A new command has been added which automatically sets up a repository. In the previous version of Configuration Manager, you were required to manually set up your repositories by creating a file structure. Now, you can simply run the following command, with the required information included.

repository –defaultPath <absolute_dir> –defaultRepository <name_of_repository>

A new command has been added which enables you to set up an environment structure inside your repositories.

<name_of_environment> –endpoint –username –password

Note: You still have the option of manually setting up a repository, and manually configuring your environments without using the two aforementioned commands.

A new command has been added which is used to map Accounts, Visibility, and Owners from one environment to another.

{ “sourceUuid”: “targetUuid”: }

A new command has been added, which gives you the ability to list out all of the dependencies of a given configuration. This is a useful command, because when Users are moving Objects such as Workflows or Actions from one environment to another, dependencies may need to be taken into account. For example:

dependencies –environment target –uuid 1bd12345-d6e0-789d-bbd0-be1011a12fef

**Note:**All new commands have been added to the help list, with explanations of each command.

What’s Changed

Change to the Run-Rule Expression textbox for Resources

A change has been made to the Resource creation screen, in order to show/hide the run rule text box. This is in relation to whether or not the plugin selected is a Process Resource. For example: If the plugin selected is a Process Resource, then the run rule textbox will be visible, and if it is an IO Capacity resource the run-rule text box will be hidden.

Note: The run-rule textbox will be hidden by default.

Storage Resource Configuration

The File Details Check field in the Configuration section for Storage Resources, is no longer mandatory, and so this field will be collapsed by default from now on.

Search

Jobs and workflows are only searchable by ID. This also means that they won’t be available in the global search.

Plugins

Below is a list of plugins that have been deprecated or renamed.

Renamed Plugins

All of the following renamed plugins are available for the 5.3 series:

Table 4. Renamed Plugins

Plugin Notes
Create VFS Placeholder Asset The “VFS” prefix has been removed from the name of this plugin.
Default Decision Action The “Default” prefix has been removed from the name.
Default Script Action This plugin has been renamed “Internal Script Action”
Ooyala HTTP Request Message Action This plugin has been renamed “Backlot Message Action”
Scripted Decision Action This plugin has been renamed “Internal Scripted Decision Action”
Scripted Wait Action This plugin has been renamed “Internal Scripted Wait Action”
VFS Archive Action The “VFS” prefix has been removed from the name of this plugin.
VFS Attachment Import The “VFS” prefix has been removed from the name of this plugin.
VFS Baton QC Action The “VFS” prefix has been removed from the name of this plugin.
VFS Copy Action The “VFS” prefix has been removed from the name of this plugin.
VFS Create Proxy Action The “VFS” prefix has been removed from the name of this plugin.
VFS Delete Action The “VFS” prefix has been removed from the name of this plugin.
VFS ICR QC Action The “VFS” prefix has been removed from the name of this plugin.
VFS Image Transcode Action The “VFS” prefix has been removed from the name of this plugin.
VFS Loudness Analysis QC Action The “VFS” prefix has been removed from the name of this plugin.
VFS Move Action The “VFS” prefix has been removed from the name of this plugin.
VFS Multiple Profile Create Proxy Action The “VFS” prefix has been removed from the name of this plugin.
VFS Multiple Profile Transcode Action The “VFS” prefix has been removed from the name of this plugin.
VFS Package Export Action The “VFS” prefix has been removed from the name of this plugin.
VFS Publish Action The “VFS” prefix has been removed from the name of this plugin.
VFS Transcode Action The “VFS” prefix has been removed from the name of this plugin.
VFS Vidchecker QC Action The “VFS” prefix has been removed from the name of this plugin.
Mio Http Transfer This plugin has been renamed “HTTP Transfer”
Timed Script This plugin has been renamed “Timed Internal Script”
Script Executor This plugin has been renamed “Internal Script Executor”

Deprecated Plugins

The following plugins have been deprectated for 5.3.0:

Table 5. Deprecated Plugins

Plugin Notes
Baton QC Action
Bulk Import System Action No longer available from 5.3 onwards.
Create Placeholder Asset No longer available from 5.3 onwards.
Default Archive Action No longer available from 5.3 onwards.
Default Copy Action No longer available from 5.3 onwards.
Default Create Proxy Action No longer available from 5.3 onwards.
Default Delete Action No longer available from 5.3 onwards.
Default Move Action No longer available from 5.3 onwards.
Default Publish Action No longer available from 5.3 onwards.
Default Re-publish Action No longer available from 5.3 onwards.
Default Rename Action No longer available from 5.3 onwards.
Default Transcode Action No longer available from 5.3 onwards.
Default UnPublish Action No longer available from 5.3 onwards.
File Asset Import Action No longer available from 5.3 onwards.
ICR QC Action No longer available from 5.3 onwards.
Image Transcode Action No longer available from 5.3 onwards.
Import Attachment No longer available from 5.3 onwards.
Loudness Analysis QC Action No longer available from 5.3 onwards.
Matrox Export Action No longer available from 5.3 onwards.
Multiple Profile Create Proxy Action No longer available from 5.3 onwards.
Multiple Profile Transcode Action No longer available from 5.3 onwards.
Omneon Export Action No longer available from 5.3 onwards.
Package Export Action No longer available from 5.3 onwards.
Process Ingest Action No longer available from 5.3 onwards.
Update Metadata Action No longer available from 5.3 onwards.
Vidchecker QC Action No longer available from 5.3 onwards.
Workflow Ingest Action No longer available from 5.3 onwards.
FTP Transfer No longer available from 5.3 onwards.
Inbox No longer available from 5.3 onwards.
QC Resource No longer available from 5.3 onwards.
Shared Folder No longer available from 5.3 onwards.
Storage Resource No longer available from 5.3 onwards.
Transcode Resource No longer available from 5.3 onwards.
Vantage Workflow Resource No longer available from 5.3 onwards.
Group Wizard Task No longer available from 5.3 onwards.

Features that have been Removed / Replaced

The Desktop Transfer Agent

Ooyala Flex no longer supports the Transfer Agent. From 5.3.0 onwards, only the Web Uploader will be supported.

Java Applet Support

The versions of the Workflow Designer and the Metadata designer that utilize Java Applet, are no longer being supported. These are replaced by HTML5 equivalents. This means that the loading times for those applications will be much faster.