Ooyala Flex 6.0.6 is a maintenance release to fix issues found in production.
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.
Flex Enterprise - Context hierarchy to support levels of depth
For publish, we now reach levels of depth superior to the first level. This enhancement allows all child assets of the asset to be published in the hierarchy.
Flex Publish - Ability to do a transactional Publish of a hierarchy
Transactional publish is now an option on the current Publish plugin. If this new type of publish is run on a group asset, then all child assets/groups of the published group are also published.
A new option as a "destination adapter" has been added, called <span class="ph uicontrol">Alternate</span>. This option, instead of removing the existing media file, creates a different one and removes the previous file only at the end of the process. The <span class="ph uicontrol">Alternate</span> option currently only works along with the transactional publish. The default destination adapter remains the "copy".
Ooyala Flex Publish: Subaccount publish does not work when subaccount has its own token
If users created a metadata definition and assigned it to a subaccount that included the storage resource and token field for Publish, then that subaccount would have its own token for Publish.However, for a subaccount, the object would retrieve the assigned account ID, along with the parent account ID, and subaccount ID. Publish expects to receive the account ID that corresponds to the account provided, and because the provided token was the subaccount ID, Publish would fail.
Resolution: Now, when the subaccount has its own metadata and publish token, and the user publishes the assets, the account ID is set to the subaccount ID. If the subaccount is using the token from the parent account, you must set the account ID to the parent account ID..
Import with Copy to Azure results in Java heap space error
If several Import workflows were run in parallel (five or more), when trying to copy files to Azure, all workflows failed at the import step, with a Java heap space error.
Resolution: The heap memory issue no longer occurs.
Bugs in signalling workflows
When signalling a workflow via REST, if a user tried to update the value of an existing additional variable, a hibernate exception was thrown. Also, a workflow could not be signalled that had previously been signalled, even if the signal variable had been removed.
Resolution: When signalling a workflow via REST, the value of an existing additional variable can now be updated successfully without any exception. Also, a workflow can be signalled multiple times.
New publish metadata returns string (containing escaped <samp class="ph codeph">json</samp>) rather than <samp class="ph codeph">json</samp> data structure
API calls to the new publish module (Flex version 6.0.5) to get asset metadata details returned a string of escaped <samp class="ph codeph">json</samp> rather than in <samp class="ph codeph">json</samp> data structure.
Resolution: The correct output is now returned.
FQL - keywords <samp class="ph codeph">sort</samp>, <samp class="ph codeph">by</samp>, <samp class="ph codeph">asc</samp>, <samp class="ph codeph">desc</samp> do not work when used as part of the searched text. Searching for text containing the keywords <samp class="ph codeph">sort</samp>, <samp class="ph codeph">by</samp>, <samp class="ph codeph">asc</samp>, <samp class="ph codeph">desc</samp> did not work.
Resolution: These keywords can now be searched for.
Unpublish segmented media does not remove files from the publish location
Not all files were removed from the publish location when an unpublish action was run.
Resolution: All files are now deleted, as expected.
All Event Handler Launch jobs fail with Batch error
All Launch jobs triggered from event handlers failed with an <samp class="ph codeph">Unexpected batch count</samp> error. Auto retry didn't work.
Resolution: The error no longer occurs.
Publish job is failing when "Transactional Publish" & "Publish Content Metadata" are set to <samp class="ph codeph">YES</samp>
Although settings were correct, publish jobs were failing.
Resolution: This error no longer occurs.
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.
Intermittent inability to scroll on "Manage Asset" metadata view
A scroll bar is usually displayed on the right side of the metadata panel when you hover over it, allowing the user to scroll down and view all metadata fields. Occasionally, the scroll bar was not displayed when the user hovered, so the user could not scroll down.
Resolution: The scrollbar is now always displayed in view and edit mode.
Bulk Action Add to Group doesn't return best match first - broken with over five similar group names
When a user tried to add an action to an existing group, the options given did not include the best match, and were limited to five choices.
Resolution: The matches are now better.
Flex Authentication: Scaling, sharing and manage multiple session for all Flex Apps
<div class="p">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:
* <samp class="ph codeph">session.namespace</samp> - 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: <samp class="ph codeph">flex:sessions</samp>)
* <samp class="ph codeph">session.minutesToExpire</samp> - Configures the maximum number of seconds that a session can be persisted after inactivity (default: <samp class="ph codeph">30</samp>)
* <samp class="ph codeph">session.store</samp> - Configures the initial backing store for the session: possible values are <samp class="ph codeph">redis</samp> and <samp class="ph codeph">hazelcast</samp> (default: <samp class="ph codeph">redis</samp>)
* <samp class="ph codeph">session.store.onError</samp> - Defines the application reaction to an error occurred while using the current backing store: possible values are <samp class="ph codeph">doNothing</samp>, <samp class="ph codeph">throwError</samp>, <samp class="ph codeph">failOverToRedis</samp>, and <samp class="ph codeph">failOverToHazelcast</samp> (default: <samp class="ph codeph">failOverToHazelcast</samp>)
<span class="notetitle">Note:</span> The property <samp class="ph codeph">management.health.redis.enabled</samp> should be set to <samp class="ph codeph">false</samp> if the property <samp class="ph codeph">session.store.onError</samp> is set to <samp class="ph codeph">failOverToHazelcast</samp> and there is no other use of Redis in the app.
Publish job stays in <samp class="ph codeph">QUEUED</samp> state while running on 18K assets hierarchy
When running a Transactional Publish job on a hierarchy of 18K assets, the job stayed in the <samp class="ph codeph">QUEUED</samp> state, and did not proceed further.