Dalet is excited to present the release of Dalet Flex 2022.11.0. This release of Dalet Flex provides the new features, quality and security enhancements, bug fixes, and other changes listed below.
Create Proxy and Transcode actions now accept FSP profiles as JSON
Workflow administrators are now able to configure Flex Stream Processor (FSP) profiles in JSON format in the Create Proxy and Transcode actions created in Flex Core. Using this configuration allows for more advanced use of underlying FSP functions if using a standard Flex Profile is not possible.
Upgrade Flex Enterprise to use Java 11 and then Java 17
Multiple issues have been implemented to upgrade Flex Enterprise to use Java 11 and then Java 17.
Updates and additions to FlexMOBILE app
The FlexMOBILE app UI has been refined to match the requirements of Apple and Google stores and support for additional functionalities has been added to the back end of the FlexMOBILE app:
- Performing audio asset reviews
- Finishing a review session using a button
- Updating and deleting review comments
- Searching for UDOs
Dalet Flex has been tested and validated with DIVA 8.1.
Groovy Scripting in Dalet Flex
Scripting in Dalet Flex now supports Groovy 4.0.
REST API migration from a legacy library
The Rest API is being migrated gradually from a legacy library to a modern library.
In 2022.11.0 these API services were migrated: asset, user, role, user defined object, vfs-location, user defined object type, action, group, resource, variant, workspace, entityupdate, task definition, task, workflow, workflow definition, event, job, eventhandler, metadatadefinition
Support for searching for Collections by name
To manage large numbers of collections, it is now possible to search collections by name. A lookup field has been added in the My Collections/Shared Collections area. Clicking in the bar focuses the bar and typing in the bar hides the tree and suggests Collections that match the typed text in a flat list in the form Root/Child/AnotherChild. The filter text is stored in the session and the filtered Collections list persists even if you navigate away from the Collections area. Click X to clear the lookup field and return to the default tree layout.
FlexMAM now supports creating more than 25 collections in each hierarchy in FlexMAM. When the collections are not being filtered using the lookup field, only 25 collections are displayed but once you filter, FlexMAM searches all collections regardless of how many there are at each level. FlexMAM displays up to 10 matches to the text typed in the search. If you do not find what you are looking for, you need to type in a more precise term.
The following known limitations have been identified for Xtendpanel in the 2022.11.0 release:
- Audio waveform is not displayed for an audio asset opened with Xtendpanel
- Master keyframe is not displayed for assets opened with Xtendpanel
- Workspace names are not displayed when in the Search filter in Xtendpanel
- Upgrade Java components to Java 11 and then Java 17.
- Collections: Support for searching and retrieving hierarchy of collections.
- Support PKCE in OAuth for Flex Mobile etc.
- New Login app: Validation of SAML global logout and auto-redirect.
- New Login App: Flex mobile app opens a “mobile friendly” version of the web based login app in a mobile webview.
- Assets in a CPL imported with UUID as a member name.
- Users can now pin collections for quick reference. Pinned collections appear under the Working Collection section. Pinned collections are stored in the user settings service and are persistent across user sessions.
- Vantage plugin returns: Output name(s) + Vantage job id in workflow context variable.
- Change metadata modified event raised when a taxonomy metadata field changes to display the taxon/tag name rather than the ID.
- Hotfolder: Support importing and moving large files between S3 -Azure and Azure – S3.
- Added functionality to filter on placeholders.
- Amberfin plugin returns: Output name(s) + Amberfin job id in workflow context variable.
- The call for updating Annotation Marker metadata now contains a revision value, which resolves any conflict of users updating the same annotation concurrently.
- To improve response times, annotations and updates to annotations are now indexed individually, rather than reindexing all annotations for a given asset.
- The login error page design has been adjusted and is now user friendly.
- Allow legacy SDK scripts to call
- Resolved issue with ambiguous errors after upgrading Mapstruct.
- Added setting to skip Extract Technical Metadata process during import for Vantage and Amberfin integrations.
- If both format and videoStream startTimecode are null, default to 0 preferredStartTime.
- Add support for custom statuses when creating session reviews using REST API and JEF SDK.
- Groovy Script field type removed from the list of Primitives displayed in Metadata Designer.
- Allow stream based chunked transcode of package based proxies. This improves efficiency of transcode of sources with many audio streams by outputting separate full streams.
- Added support of the inputFrameRate video profile property to sequence and stitch jobs.
- Created a separate Maven artifact and docker image for Flex Enterprise API, for future deployment for the API service only.
- Waiting For Resource state added for running jobs.
- New Job State added to Flex Enterprise: Submitted – indicates a job has been delegated to a processor service but is not yet being run.
- [FEATURE TOGGLE] Automatic Action Configuration Merge enabled by default and the Consul KV is
/kv/flex/shared/flex-enterprise/featureToggles/useLatestPluginVersionEnabledand new action plugin versions are applied directly to the action configuration without having to recreate the action from scratch. Existing action configurations are automatically merged.
- [FEATURE TOGGLE] DecoupleStartTimecodeEnabled by default and the Consul KV is
kv/flex/shared/featureToggles/decoupleStartTimecodeEnabledand timeline annotations are saved with decoupled relative timecode. The KV remains false for existing customers.
- Apache commons-text bumped to mitigate CVE-2022-42889.
- To prevent Keyframedownloadcontroller accessing anonymously, keyframedownload controller removed from exclude patterns of auth filters.
- SSO Users with no login can now login to an Azure Active Directory using the email attribute instead of the login attribute.
- Properly configure Express session cookies to ensure the session is ony relevant to the Login app and that cookies are secure and age out appropriately.
- Ignore container level color space information received in the file format wrapper if this conflicts with the pixel format for the source color space.
- [iOS] Fixed an issue where predefined URLs displayed were displayed after installing the Mobile app for the first time.
- Additional indexes applied to MariaDB.
- Enterprise search performance improved by adding a Consul KV to set a default search cap based on Created Date.
- To improve the performance of workflow and job searches in Flex Enterprise, the Position field can be removed from the Workflow Advanced Search screen. For backwards compatibility, the
flex/enterprise/search/enableWorkflowPositionFieldconsul KV has been created. Set the KV to false to remove the Position field in the GUI.
- Upward hierarchy roles are no longer assignable to master account users. A db-migration script for existing users with the wrong rule mapped was created to update to a master role with no permission for master user roles mapped with account or subaccount.
Fixed Issues DaletFlex
- Fixed an issue where the Metadata Definition configured for a Timeline is removed in Metadata Designer GUI when the timeline type is changed from Metadata to Clip or Annotation but the association is still retrieved from REST API when sending a GET call for the Metadata Definition. After the fix, any metadata definition assigned to a Timeline of type Clip/Annotation is not saved.
- Fixed an issue when LDAP external authentication is configured. A Null Pointer Exception was thrown when a Default Workspace value is not populated in Account Metadata even though this field is optional.
- Fixed an issue when LDAP external authentication is configured. The default workspace is not assigned to a new user in Flex, even though it has been set in the LDAP configuration.
- SAML Authentication: Fixed an issue where an error was displayed when logging into DaletFlex using Auth0 authentication.
- Following the implementation of a new API endpoint to handle value suggestions, the deprecated suggestValues API endpoint was removed.
- Fixed an issue where SAML users were not properly logged out when the Global Logout option was enabled and the IDP Redirect was to True.
- Fixed an issue where the Sort by function in FlexREVIEW does not work for any of the selected options.
- Fixed an issue where users could not be created for an account using API if the external authentication was not configured for that account.
- Fixed an issue where the default chunk processing was not applied due to
image sequence duration cannot be calculatedwhen the framerate input is forced.
- Fixed an issue where users could delete a Complex Field instance even if they did not have the proper permission.
- Login App: Fixed an issue where the AD user was disabled after failed login attempts to Dalet Flex. Issue fixed by bypassing the rules for disabling/locking LDAP users on failed login attempts.
- Fixed an issue where a video output stream sequence job was failing due to an ordering issue when stitching multiple package format source streams so that a transcode and extract operation performs correctly.
- New Login App: Fixed an issue where this error was displayed when logging into Dalet Flex via keycloack SAML
SAML configuration for IdP entity <idP_url> could not be found under the account with hostname 'master'. The error was caused because master was used as the account name instead of taking the account name from the hostURL.
- Fixed an issue where it was not possible to clear metadata values added to markers. The problem was solved by updating the Enterprise API and updating the flex_metadata_service_version.
- Fixed an issue with setting visibility on accounts. Whenever a resource is created by default, it should have visibility for the account it was created in and this visibility cannot be removed.
- When an Import Action is performed with this configuration:
SourceFile > Source > SourceResource Item Name, with Item Name containing a subpath (e.g.: /a/b/c/file.ext), the file is imported successfully but the file is not accessible in Flex. A consul KV
/flex/shared/flex-enterprise/featureToggles/importResourceItemAssetAsManagedhas been added with default as true. Set this to false to import the asset as Unmanaged Asset with the file accessible in Flex in this particular configuration.
- JEF HotFolder: Support processing more than one file matching the pattern in a scan iteration. Fixed an issue where hotfolders using a matched pattern configuration were only scanning one matching file at a time per scan iteration so that all matching files are scanned and processed for each iteration.
- Fixed an issue where the Enterprise Vantage workflow did not show 100% completed in the History tab even though the job completed successfully.
- Fixed an issue where the retry of jobs with assetInfo was failing for all Transcode plugins because of an issue with the JsonRawValue. A desrialization class was added to JsonRawValue to solve the issue.
- Default value of Consul KV
trueso by default FSP extracts keyframes to sharded locations based on file name.
- Fixed an issue where hotfolders keep failing and recovering by optimizing the caching algorithm in the fastobject service.
- Fixed an issue where job priority is not respected if a quota is applied to a resource and a job is set to pending because the quota is full.
- Fixed an issue where the running stage of a workflow was not displayed in workflow summary screen.
- Fixed an issue where a timed action object could not be exported.
- Fixed an issue where the revision header was missing from the Enterprise API.
- Fixed an issue where the PUT assets/assetId with AssetUpdate.FileDetails.apiVfsLocation was taking more than 1 minute on reply (for a large number of SR). Issue was solved by refactoring the alias mapping storage logic + refactoring common code in new AssetReconcileDelegateService.
- Fixed an issue where the ObjectType information was missing from the getParent API.
- Fixed an issue where the “OR” operator did not work under certain conditions when searching annotations.
- Fixed an issue where Elastic Search was displaying custom markers that have been deleted in FlexMAM. The issue was fixed by enabling a retry if the Elastic Search API throws a conflict response exception.
- Fixed an issue where importing an asset with a date metadata field fails with an error.
- Fixed an issue where the Manage Page of an asset failed to refresh on keyframe extraction due to a pooling process.
- Fixed an issue where workflow object variables are being converted to string variables in JEF script actions.
- Fixed an issue where including port in destination JWT callback URL prevents login app from forwarding user due to CSP.
- Fixed an issue where Vantage and Amberfin jobs were failing because the output storage resource was not resolved properly. To solve the problem the resource location condition was swapped to use the resource location instead of the vfs location.
- Fixed an issue where assets imported from a storage without a host name were imported incorrectly as unmanaged assets. Issue solved by adding a null check to the FlexStreamProcessor code.
- [iOS] Video Player: Fixed an issue where after pausing a video in the Mobile App, moving the playhead made the video play instead of it remaining paused.
- Fixed an issue where changes to collection metadata did not raise a METADATA_DEFINITION_SET event.
- Fixed an issue where a purge action failed if the Publish service was not running even though this service is not mandatory in a Dalet Flex deployment.
- Fixed an issue where this error was thrown by DB pruner when pruning a batch size of 1000
Error 1406: Data too long for column 'jobsDeleted' at row XXXXX. The error occurs when the total length of the stored procedure output, enumerating all the jobs that have just been pruned, exceeds 65535 characters (the length of a TEXT value). To overcome this limitation the column type for DB pruning temporary column was updated to MEDIUMTEXT.
- DB pruner: To improve performance to prevent slowness when loading modules in Flex Core, changes made to DB Pruner to allow users to modify settings to allow more aggressive running during a maintenance window without impacting other DB users. Possible to configure ‘maxOperationTime’ and the limit on “you’ve run again too soon” is twice the ‘pauseDuration’ instead of being hardcoded at 2 minutes.
- Fixed an issue where the Export Edit plugin (using /dependencies) failed for sequences containing clip assets from different workspaces. The export now succeeds because the plugin skips filtering by workspace when retrieving the dependencies of assets in a sequence.
- Logic error when templating source text streams.
- DB Pruner: Issues were noted with uncontrolled database growth as a result of the automatic scale-back mechanism, updates were made to the automatic scale-back mechanism of DB Pruner to prevent a complete loss of pruning.
- DB Pruner: Improved the logic for performing pruning job based records to solve an issue where performance of PruneCompletedStandaloneJobs SP is abnormally slow compared to PruneCompletedWorkflowsWithJobs
- Fixed an issue where it was not possible to set an object metadata field to null using a JEF SDK script.
- Fixed an issue where updating a legacy Groovy multi decision action to a JEF multi decision action returned all workflow object variables as string variables because of the format of the job request sent to RabbitMQ.
- Fixed an issue where JEF script fails with this error
RuntimeException: Unable to load FastStringService. Issue solved by updating the version of Job Async Executor (JAE ).
- Add sun.util.calendar and groovy.time package permissions by default in the list of authorized class for groovy scripting.
- Fixed an issue in FlexSDKClient where the wrong parameter was passed in WorkflowAPiQuery.
- Support for more than 25 collections added in FlexMAM.
- Improvements made in spacing when tags and taxonomy values are displayed in tables to reduce empty space and maximize displayed information.
- Collection hierarchy: Display results from Collection lookup in a useful way. If the collection hierarchy is too long, the lookup results are truncated and a tooltip displays the complete collection path. Words in the collection names matching the search term are highlighted in blue.
- Start time as well as start timecode is displayed in the technical metadata tab in FlexMAM
- FlexADMIN: Upgraded flex-admin-app to angular 14.
- Fixed an issue where an incorrect api endpoint was being used to add a comment from the reviewer.
Fixed Issues FlexMAM
- Correct sub-tabs behavior when minimizing tabs area.
- Tab title should not be truncated/ hidden when clicking on it in the Manage page.
- Fixed an issue where the chip filter modal was not showing when searching for a timecode type metadata entry in an advanced search query.
- Fixed an issue where Sequence editor page ‘Home’ and ‘End’ keyboard hotkeys are not working properly.
- Fixed an issue where preview switches between audio tracks throughout the asset preview instead of playing the audio tracks simultaneously.
- Fixed an issue where audio sometimes plays muted in FlexMAM.
- Fixed an issue where the Show Markers tooltip in the Summary panel showed the current status of the button instead of the intended action when clicked.
- Fixed an issue where menu options for sequence and clipbin were not translated.
- Fixed an issue where the type icon for a child image proxy was displayed incorrectly and the child image proxy API endpoint was incorrect.
- Fixed an issue where items were not being deleted from a collection when the collection was open for a sequence, instead the items were deleted from the clipbin if they exist there. The issue was fixed by applying the delete api call on the selected collection instead of the active collection.
- Fixed an issue where the “sortBy” tooltip in the Notification panel was incorrect.
- Fixed an issue where the Asset access sharing tab was not displayed in FlexMAM even though the user has Manage ACL permissions in their role.
- Fixed an issue where the tooltip displaying the dragging/hovering-current timecode of the Player playhead was not clearly visible in FlexMAM.
- Fixed an issue where when making changes in the user profile information, the name, address and mail textboxes turned white and were unreadable.
- Fixed an issue where it was not possible to preview a sequence in Flex MAM.
- Fixed and issue where the Working Collection and Shared Collection labels were missing in FlexMAM.
- Fixed an issue where the wrong timecode was being displayed in the Start Timecode field in the Technical Metadata tab even though the correct Start Timecode was displayed in the Player.
- Fixed an issue where the Type column in the Search results is very wide by setting a fixed width.
- Fixed an issue where taxonomy metadata fields were not behaving as expected and selected values were not being saved.
- Fixed an issue where metadata in complex fields nested in other complex fields was not displayed in FlexMAM whilst it was displayed in Flex Core.
- Fixed an issue where you could not add more than one instance of a complex field with multiplicity defined for it.
- Fixed an issue where selecting a standalone wizard does not open the dialog window with the panel to trigger the wizard.
- Fixed an issue where a saved metadata value is not persisted for a Timecode Field in a Complex field in FlexMAM.
- Fixed an issue where Sequence Editor does not show preview.
- Fixed an issue in the Collection lookup UI.
- Fixed an issue where it was not possible to open FlexADMIN.
List of Services upgraded between 2022.9.0 and 2022.11.0
For the new 2022.11.0 release, most services have changed.