Ooyala Flex 6.1.1 Release Notes 2017-12-01

Ooyala Flex 6.1.1 Release Notes 2017-12-01

Purpose

Ooyala Flex 6.1.1 is a maintenance release to fix issues found in production.

What’s New

FTP Location Support in Vantage Resource

The Vantage resource now supports FTP location. This includes a change to the Vantage Workflow Configuration.

MAM: Group Asset Ordering

You can now order members of a group asset in MAM.

Example: You might have three assets in an asset group in MAM, which you might want to be displayed in a certain order. You can do this by entering a number in the box next to the asset. So, if you wanted an asset to appear in first place in the list, you would enter 1 in the box, and the asset would move to the top of the list.

REST API: New Index Field in Members Resource

To coincide with the ability to order members of a group asset in MAM, we have made the following changes to the Members resource in the REST API:

  • We have added an index field to the /api/assets/<group-asset-id>/members endpoint.The index field lets you specify the order in which a new member appears in an asset group.

    Example: You might have a group with 10 existing members. When you add a new asset to the asset group, you may want your new asset member to be listed in a specific place in the list of members, such as first place. To place the new member at the top of the list you would enter 1 in the index field.

    {
        "memberships":[
           {
                "id":“1034443",
                  "membershipName": "member-1",
                "index": 1
              }                   
          ]
    }
    
  • We have added an index field to the PUT request for the /api/assets/<group-asset-id>/members/{memberId} endpoint. This field enables you to update the index for a member in an asset group.

    Example:

{
      "index":1
}

Ooyala Flex Publish - More resilient to Hazelcast failures

If Hazelcast fails, the Publish node does not function. Therefore, we now catch exceptions when we do operations on cache, and let the service continue its flow. When an exception is triggered by cache we assume that the record is not there, and we try to retrieve it from mongodb. Warnings about cache errors are logged, and the number of warnings has been increased.

Import job faster when extracting technical metadata

Import jobs no longer generate work on master nodes as well as the job nodes, and metadata extraction is faster.

Add new backing store type External API

A new backing store type has been added, named “External API”.

This new backing store is available for single and multi option variables only.

When defining a field of this type, an identifier must be supplied in the form <service name>:<template>, where:

  • service name - the name of the microservice (as registered in Consul) to perform the external API lookup

  • template - the name of the template for the external API lookup service to use to retrieve values

Typeahead is allowed on multi option variables.

Metadata Framework - Updated metadata rules to support field contexts

Metadata fields can now be linked together via a context. In other words, the value of one field can be passed to another field.

MAM - Disabled UDOs

Disabled UDOs are no longer displayed in the left panel, nor are instances of them displayed in the carousel.

Modify Relationship > Add or Update Asset (new Asset)

A new action plugin has been added to the Modify Relationship group. The Add or Update Asset plugin is used to add or update the parent asset for a given asset.

Assets - udo membership

We have exposed a new endpoint to get UDO membership for an asset. The userDefinedObjectTypeId property was added in the “parent” json property in response of the below rest endpoints when the asset belongs to a UDO:

/api/assets/
/api/assets/<id>

Issues Fixed

Users are not getting an email when a user is created with special characters

Users who created another user with special characters in the username did not receive a confirmation email informing them that the user had been created.

Resolution: Users did not get an email because characters such as , ; : are not allowed. Now, an error message is displayed if this occurs. For existing users whose usernames contain the above special characters, if you update any fields of such users, then the error message might be displayed. To update such users, you must disable the user before removing the special characters.

FTP connection issue

When trying to create a storage resource, the following error was displayed:

Specified storage location does not exist on the filesystem:Could not connect to FTP server

Resolution: The connection issue can be resolved by giving users CWD permission on their root folder.

FER : Send service wise failed callback to Flex

Failed call back was sent at intervals and the request was stored, so at every interval time set, the Failed callback error was triggered in logs. However, the failed request was for subtitles, whereas at every interval an error was logged for all services under FER.

Resolution: Now, failed callback error messages are triggered under specific services.

MAM - Freetext search not working when searched for UDO description

A freetext search using text in the description of a UDO did not work.

Resolution: Search now works as expected.

DIVArchive - jobs remains running in Enterprise and queued in FER Service.

Some jobs were simultaneously running, and listed as queued.

Resolution: When a job gets dequeued, if the service goes down, the job could get stuck in a queued state. We now store the job ID in the watcher repository when the job gets enqueued, so if necessary we can requeue the job from the repository.

Users get logged out intermittently and login page displayed with details not recognized message

Intermittently, users were logged out and redirected to the login page, with a message that their details not recognized. This issue occurred with both Enterprise and MAM.

Resolution: This problem was related to a timeout issue, which has now been resolved.

User not getting logged out as per time set in minutesToExpire

In MAM, users whose sessions had been inactive for the duration specified in the minutesToEXpire setting were not logged out, as they should have been.

Resolution: Users are now logged out after the specified period of inactivity.

Azure Storage: Delete Job fails when file is deleted in different account container

When a Delete job was executed on a file that had been imported into Azure, and the folder resource specified in the Delete action, for the deleted file to be moved to, was a different container in a different account, the Delete job failed.

Resolution: The Delete action now works as expected.

Extract Keyframe - ~/api/assets/12433/keyframes POST api call doesn’t work on the last frames of a media asset**

Extract Keyframe - ~/api/assets/12433/keyframes POST api call didn’t work on the last three to six frames of the video, depending on the length.

Resolution: The call now works as expected.

Timeline can be created on “Timeline Not Supported” variants by REST call

Only three variants support Timeline (Media Asset , Segmented Asset & Clip): so a timeline cannot be created on other variants, such as Collections, Group, User, and Workspace. However, by a REST call, a timeline could be created and updated on “Timeline Not Supported” variants.

Resolution: Now, when a user tries to create a timeline for object types that do not support this, the following message is displayed in the REST API: Timeline can be associated to variant of Clip, Media Asset or Segmented Asset object types.

Account Property Conflict Error

A Conflict response message was displayed in Flex-CM while committing account properties.

Resolution: A deleted property was removed from the existing properties list, as it was creating an issue with updating deleted properties. Now no unnecessary Conflict error is displayed in the commit response.

DIVA failing to retry job after ‘out of session error’

After an out of session error, retrying the job failed.

Resolution: Ooyala Flex DIVA had an error in TIMED_OUT. Jobs can now be successfully retried.

Dynamic tab not showing info from other children if one of the children fails to fetch data

If an entry in the Ooyala Flex DB had an incorrect asset, but other children were associated with it, the dynamic tab did not show any data because the first asset failed to fetch data.

Resolution: Now, the DiIVA archive resource tab (for an asset) displays the specific error with type for particular name and category.

All Event Handler Launch jobs fail with Batch error

All Launch jobs triggered from event handlers failed with an Unexpected batch count error. Auto retry didn’t work.

Resolution: The error no longer occurs.

Sorting is not working for imageFormat

Sorting did not work for imageFormat.

Resolution: Code did not exist to sort the image file type with imageFormat. This code has now been added.

Default Ingest job failed when default variant true for media asset variant type

Although the default variant was true for the media asset variant type, Ingest jobs failed with the following error: Error with job: Variant Program is not defined for Account Master Account for type media-asset.

Resolution: The job no longer fails when the default variant is true. An error message is displayed when the metadata definition is selected without the default variant.

Wrong count is showing for failed resources in Manage Resource listing page

The wrong count was displayed for failed resources in the Manage Resource listing page. However, when user sorting was performed or the pagination was changed, then the correct count was displayed.

Resolution: The correct count is now displayed in all cases.

Suggestion index does not have variables of sub account metadata definition

When a sub-account was created, which included a metadata definition, the account suggestion index did not have variables of that sub account schema.

Resolution: The account suggestion index now includes variables of sub account schemas.

System shows asset which is no longer member of group asset, in hierarchy call

When a GET call was requested on a published group asset hierarchy, the system displayed all the published group members. However, if one member was removed and the asset republished, the call still displayed the member that had been removed from the group asset.

Resolution: Removed members of group assets are no longer displayed as part of the group.

onError property to Hazelcast not working when Redis goes down

When a user is logged into MAM, if the Redis service stops, and the user tries to continue to work in MAM, the user is logged out and must log in again. However, when attempting to log back in, an error message was displayed.

Resolution: The error no longer occurs, and after logging back in, the user can continue to work in Hazelcast.

Start timecode extracted as -1

While extracting video information, the default value was set at -1 for Start Time Code.

Resolution: Now, default value for Start Time Code is set at 0 for all new uploaded assets.

Emails with attachments aren’t sent

Emails with attachments were not being sent., although the job completed successfully. Emails without attachments sent correctly.

Resolution: This issue was due to a storage problem, which has now been resolved.

Published Metadata JSON should not contain internal fields

Publish metadata is returned as JSON, but incorrectly contains an internal field for multiplicity fields.

Resolution: This no longer occurs.

Upload button in Web Transfer should not be clickable when any mandatory field is empty

When all mandatory fields in Web Transfer contain values, then the Upload button is enabled. However, if values were then removed from mandatory fields, the Upload button stayed enabled.

Resolution: The Upload button is no longer enabled when any mandatory fields are empty.

Dropdown UI is not visible properly

After adding a file using Web Transfer, if a dropdown was clicked, the UI displayed with errors.

Resolution: The UI now displays correctly.

Workflow structure is not getting created when user commits the cm bundle with wizard, task definition

When a user created and enabled a wizard, selected this wizard in a task definition, which was then enabled, and created a workflow definition that contained this task definition, then tried to commit - the wizard, task definition and workflow definition were committed, but the workflow structure was not created.

Resolution: The structure is now committed successfully, without any error.

MAM - FQL - Search terms should be case insensitive

Using FQL in MAM, search terms were case dependant.

Resolution: Searches are now case insensitive.

Only image assets are showing in response using endpoint although matrix parameters are for image and text assetType

Only image assets were displayed in responses using an endpoint, although matrix parameters specified both image and text.

Resolution: Technical types, such as image and text, can only be specified if only one filetype is present in matrix parameters.

MAM - FQL - When searched with suggestions, error displayed

When searches were performed with suggestions, MAM displayed an error.

Resolution: A filter has been applied to exclude suggestions that are not relevant to objects available in MAM. Therefore, the error no longer occurs, as long as suggestions are relevant.

Known Issues

Extract key frame shows error

While playing any asset video in MAM, in the keyframe section, clicking on the Extract Keyframe button displays an error.

Flex Authentication: Scaling, sharing and manage multiple session for all Flex Apps

Single authentication is being implemented, which will enable the following:

  • Manage a shared session/cookie via different apps (login/logout from different apps)

  • Http session replication and clustering

  • Allow users to have multiple sessions, one for each tab of browser

From now on the Authentication Provider (version 7.5.383) supports Hazelcast and Redis sessions. If a user authenticates with basic authentication, or with a token (when the user has sent their credentials once), then we store a Session Id in Redis with Spring Session and return it to the user for the following requests.

Every request is authenticated with Basic Authentication, and a HeaderHttpSessionStrategy / CookieHttpSessionStrategy is created to tell Spring to use an X-Auth-Token header to retrieve the session. Using Spring Session allows Flex AuthN to re-authenticate every request store from a Session ID in Redis. This Session ID is passed to the client after authenticating the first time, and from then on it can send this as a request header for all subsequent requests, which will verify that the user is authenticated.

The following properties can be changed on your services to configure the session store:

  • session.namespace - Configures a namespace for the session into the backing store cluster: useful when you want to associate different applications to the same sessions store (default: flex:sessions)

  • session.minutesToExpire - Configures the maximum number of seconds that a session can be persisted after inactivity (default: 30)

  • session.store - Configures the initial backing store for the session: possible values are redis and hazelcast (default: redis)

  • session.store.onError - Defines the application reaction to an error occurred while using the current backing store: possible values are doNothing, throwError, failOverToRedis, and failOverToHazelcast (default: failOverToHazelcast)

    Note: The property management.health.redis.enabled should be set to false if the property session.store.onError is set to failOverToHazelcast and there is no other use of Redis in the app.

Able to add/update parent of asset created in different workspace

Users can add or update a relationship (set Parent on asset). Relationship can only be updated for assets created in same workspace - there is no way to add or update a relationship for assets created under a different workspace. However, this can be done by an API call.

When any parent account tries to create a relationship between two assets in different workspaces, the job stays in Pending. Instead, the job should fail.

Upload Files button behaviour is not correct while metadata variables exist with 1.. , 0.. & 0..1 multiplicity**

If all mandatory metadata is provided, along with complex-variable (1..* multiplicity), the Upload Files button is not clickable.

Assets are published in .xml format when using Backlot Remote Ingest Publish

It was found that when assets were published using the Backlot Remote Ingest Publish plugin, they were published in .xml format in Ooyala Flex Enterprise, instead of in the standard format. This will be fixed in upcoming releases.

Appendix

Service Version Notes
flex-admin-app 2.0.512
flex-authentication-service 7.5.357.1
flex-authorisation-service 2.3.370
flex-dataagreggation-service 1.4.377
flex-divarchive-service 2.1.436
flex-events-service 2.7.411
flex-fastobject-service 3.4.431
flex-forms-service 0.0.224
flex-imageproxy-service 3.2.356
flex-indexelastic-service 5.10.496
flex-job 6.1.1.37
flex-mam-app 4.6.1430
flex-master 6.1.1.37
flex-metadatadesigner-app 2.2.1253
flex-metadatamerge-service 2.3.424
flex-outboundtransfer-service 2.0.310
flex-publish-service 10.3.503.2
flex-reviewer-app 3.1.554
flex-searchelastic-service 5.2.680
flex-streamprocessor-service 1.1.101
flex-subtitle-service 1.0.182
flex-tag-service 1.0.792
flex-thesaurus-service 0.1.875
flex-webtransfer-app 7.0.675
flex-workflowdesigner-app 7.1.277