Dalet is excited to present the release of Dalet Flex 2024.5 (LTS).
This release of Dalet Flex provides the new features, quality and security enhancements, bug fixes, and other changes listed below.
Flex 2024.5.X is an LTS (Long Term Supported) release track and will receive both critical bug fix updates and security updates until it reaches end-of-life.
Dalet Flex
Important Information regarding MariaDB and Dalet Flex 2024.5.1 and above in 2024.5.x (LTS)
Flex 2024.5.1 is NOT compatible with MariaDB 10.4. You MUST upgrade MariaDB to 10.6 if upgrading Flex to 2024.5.1 or above in 2024.5.x series.
Please plan for a full back-up restore operation when upgrading to 2024.5.1 and above in 2024.5.x (LTS).
Known Issues
FLEX-72117 Add SDK method to access job variables
When passing context.job.id (id of job being executed), system generated variables such as accountId, userId, workspaceId are not retrieved. When passing job.id instead of context.job.id in getJobVariables, system generated variables are retrieved.
MAM-8533 In FMP UI, collection permissions are not being followed
There is a known issue that users without create, edit, delete collection permissions can create, rename and delete personal collections in FlexMAM. NOTE: They cannot edit or delete shared collections created by other users.
New Features
FlexStream Processor updated to use Ffmpeg 7 (new from 2024.5.4)
Improvements to encoding profile settings for proxy creation (new from 2024.5.3)
Improved general encoding profile settings and specific settings for H264 encoding (using libx264). This should result in better quality proxy encodes with a lower variability in bit-rate.
New download service flex-fileaccess-service (new from 2024.5.2)
From this version of Dalet Flex, 2024.5.2, FlexMAM UI downloads are facilitated by the new flex-fileaccess-service. This improves download reliability and supports resume should a download fail. flex-fileaccess-service improves performance when downloading large assets from S3, Azure, GCS in FlexMAM and FlexREVIEW.
The new 'flex-fileaccess-service' MUST be deployed as part of upgrading to this version and above. If the new service is not deployed, file download from FlexMAM and FlexREVIEW will fail.
Infrastructure for Flex-Vantage Telestream Lightspeed integration: Recording and previewing live (growing) content (new from 2024.5.1)
Vantage Telestream Lightspeed servers are used to accelerate video processing. From 2024.7.0 Dalet Flex supports importing a growing OP1a MXF + H.264 DASH from Vantage Telestream Lightspeed and previewing it in FlexMAM.
To enable the e2e integration of recording live feeds and previewing the growing media in Dalet Flex, the dedicated "Open Stream – Import Workflow" must be deployed using the preconfigured open-stream-recording-cmbundle. This workflow processes recording files using a proprietary integration protocol. High res and proxy recordings can be recorded simultaneously. Discovery of growing files in the target hot folders triggers two workflows to import the MXF and the MPD files to Dalet Flex and uses filename based pairing to set the proxy asset as a child of the high res asset.
Mitigate Risk on Segmented Asset purge/move/copy/delete-with-move operations, e.g. MPEG-DASH not in individual and unique folders (new from 2024.5.1)
When Flex Stream Processor creates a Flex Segmented Asset, it creates a unique folder that contains the manifest file and media files related to the Flex Segmented Asset. When performing copy/move/purge/delete with move the Flex Segmented Asset, Flex was assuming that all relevant objects are auto-contained in the “parent” folder, so it went to the parent container (mpd|m3u8) and performed the actions on this folder.
MPEG-DASH (.mpd) files created in Flex by a 3rd party, such as Brio, are not created in unique folders but are created in a flat folder that contains multiple manifest files and multiple media files. This means that when Flex tries to copy/move/purge/delete with move files, there is no unique parent file to perform the action on and unconnected Segmented Assets are also copied/moved/purged. This risks impacting other files in this folder not belonging to the Segmented Asset.
This release includes multiple enhancements and bug fixes that address functionality issues discovered with respect of Flex Segmented Assets. The improvements mean that copy/move/purge/delete with move actions support flat folder structure for Segmented Assets. The implemented checks and fixes ensure that in any case where the folder targeted by the action might contain files unrelated to the Segmented Asset, the operation fails. Instructions on how to identify Segmented Assets that might have an issue with Asset Import and Purge Action plugin scan be found here. Information on the checks and changes made to Delete/Delete with Move/Purge actions can be found here.
Dalet Flex Integration with Avid Media Composer (improvements from 2024.5.1 and 2024.5.2)
OpAtom MXF is now supported in Dalet Flex for import, transcode, extract technical metadata and export to support e2e integration from Flex Core, FlexMAM, FlexCUT with Avid Media Composer. Flex Sequence and Flex Edit from FlexCUT can be exported to Avid Media Composer.
In Flex 2024.5.1 additional functionality has been added including these highlights.
- Add support for Spanned Media Asset
- Improved exported ALE properties
- Generate multiple ALE files in case of multiple framerate
- Workflow context variable returned with json list of asset id exported
Improve optimization of volume of jobs consumed by Job Executor
This release includes multiple enhancements and bug fixes that optimize the volume of jobs consumed by Job Executor with long and blocking jobs, for example scripts that take a long time to complete. The enhancements include improving warning messages, job distribution, restart performance and more.
Upgrade to Spring-Boot 3 – Java Apps
Continued upgrading microservices and libraries to Spring-Boot 3.
Breaking Change - API/SDK support of pagination in Metadata Designer
FLEX-68933 Pagination not working On Tag Thesaurus and Taxonomy (Metadata designer page) implements a breaking change in the JEF SDK whereby the response of com.ooyala.flex.sdk.services.micro.ThesaurusService#getThesauri is now paginated, with a default results size of 25 (rather than all results). To support this, the return object is now GetThesauriResponse rather than List<Thesaurus>.
Scripts should be reviewed to see if this method is called before upgrading to this Flex version, 2024.5.0.
Dalet FlexMAM
New Features
Apply granular ACL rights for assets and UDOs
From Dalet Flex 2024.3.0, granular ACL rights for read only/read and write access for assets and UDOs is supported. From Dalet Flex 2024.5.0 (LTS), the ability to configure separate ACLs has been fully introduced to the user interface and is fully supported using Flex APIs:
- Selecting View (Read Only)/Modify(Read and Write) rights from a drop down list
- Existing permissions before the new functionality are considered as Modify
- ACL sharing works in conjunction with workspace membership
- View rights – In Summary panel, no title renaming, no metadata update, no delete action, create comment and marker player hotkeys hidden, create comment and marker player actions hidden, no Save button, no Share access, no keyframe options. Only able to view tasks in the Task List, able to complete a Review session without adding comments to the session. Can create clips and list and open wizards and list and run actions.
- Modify rights – In Summary panel, title renaming, metadata update, delete action, create comment and marker player hotkeys available, create comment and marker player actions available, Save button active, Share access, keyframe options. Start tasks in Task List, complete a Review session including adding comments.
Support UDOs with many children
To improve performance when loading UDOs with multiple levels of nested children, this version of Dalet Flex introduces a new interface for UDOs:
- Pagination
- Load a single page of children at one time
- Configuration of page size
- Breadcrumb bar to indicate hierarchy level
Support SOM (Start of Material) in FlexCUT
This version validates support of the use of SOM (Start of Material) for projects in FlexCUT. The SOM field has been added to the New Project window and can be used to set a value that is used to render material/import to Timeline with a specific SOM.
Changelog
2024.5.5
Enhancements DaletFlex
- Add a flag in Enterprise UI and Rest API so that executed JEF jobs complete irrespective of failure. The flag is set by selecting the `Complete job on Failure` checkbox when launching a job. If this option is selected the job completes even if there is a wrong condition/configuration with this error `ignoring the error based on configuration`. Jobs failed by watcher do not complete since failure is not connected to execution.
- Add to Amberfin requests externalId (Flex Job id) for downstream tracking.
- Add Validation Format Variant + FrameRate (probably PixelRate) not matching in Media Profile Validation.
- Search/Table Template filter: Add Start timecode to filters of Technical in Search and in Table Template.
- JEF Wait for Signal Action (and Timed Action) runs with latest WF variables after resuming, old variables are copied to the job workflow variables with the prefix PREV_WF (+ Enterprise might be 'erroneously' re-queuing Wait for Signal).
- To prevent metadata merge failing, ensure previous metadata instance is deleted if variant of an asset is changed to a variant with no associated metadata definition.
- S3 CRT Client for s3 supported storage based on crtSupportedEndpoints system property.
- Improve the handling of Amberfin job progress.
- Added <role>=main element to first audio adaptation set in DASH manifest to indicate to the FMP player which audio stream should be played by default.
- JEF SDK: Adds new method context.getWorkflowObjectVariables(variablesName) to retrieve an object variable that is a List as opposed to a singe FlexObject. The method gives a useful warning if it varaiblesName represents a singular workflow object variable and advises using the singular method context.getWorkflowObjectVariable(variableName).
- Provide a new property inputDisplayAspectRatio in the media profile jsoin to override detected value for incorrectly encoded sources.
- Patched FFmpeg to seek backwards segment by segment if the initial seek overshoots the desired timestamp. This can occur when segment durations cannot be used for frame accurate calculations when frame rate is 29.97fps.
- Short term fix: Change metadata-commons (as used by Enterprise) to ignore ignores any changes to a Timecode metadata field Time component which only modify `;` characters to `:` or vice versa so that metadata can be saved.
- FastObject: Add paginated endpoint to MinimalObject API to retrieve children belonging to a UDO.
Fixed Issues Dalet Flex
- Fixed an issue where a user with no "edit" permission on media asset can delete membership of the asset.
- Fixed an issue where workflow runs two node concurrently. Issue fixed by preventing the system from sending signals to the workflow when jobs were moved from pending to running that was causing the nodes to run concurrently.
- Support for Summary Panel of Project asset type. Panel has tabs for details, metadata, relationships, access, history tabs.
- Job should auto-retry for OptimisticLockException (handle wrapped exception).
- Calculate video frame rate duration if required BEFORE rejecting zero duration frames.
- Hot folder/filesystem: Improve handling of permission issues when listing objects in S3. When a filename contains / or \ or there are files with incorrect permissions in an S3 bucket, a warning message is displayed in Enterprise until the file is renamed, however all other files in the Hotfolder are processed correctly. NOTE: To correctly process files with special characters in the filename, use Source Storage Resource option and the Storage Resource Subpath + Filename field instead of the deprecated Source Resource Item option in the import configuration to import assets.
- FlexTRACK (Operations Dashboard) renders an error page when lacking permission to connect to the app.
- Fixed an issue where jobs are not transitioning after completion. Issue solved by excluding deleted objects when searching by name and type.
- Fixed an issue where the Player progress was showing play complete when first loading an asset. progress at startup.
- Fix Taxonomy overlapping with wizard.
- Fixed an issue where an incorrect HLS master playlist where a stream is referenced twice is created for audio only packages.
- Added a simple logic check to prevent any changes to detected source asset info if the forced input frame rate equals the detected frame rate.
- Fixed an issue where Pack job fails with format=TAR and compression=NONE.
- Player: Fixed an issue where the timecode clock in Player was checking during playback.
- Fix colorspace conversion for HEVC source.
- UDO Page: Fixed an issue where an expander icon was displayed on a non-UDO object that has nothing to expand in a UDO page.
- Collection service: Fixed an issue where deleted items in a Collection appear as a blank line. Issue fixed by forcing Arango to use exclusive transactions when updating edges for purged/deleted items.
- New job listener added globally outside of job processing method for each job executed so that they are not repeatedly added.
- Fixed an issue where Flex Login App screen is showing an error. Issue fixed by cancling the caching of disabled account entries in accountHostnameCache.
- Fixed an issue while extracting the waveform on Segmented Proxy.
- [CollectionService] Fixed an issue where SDK cannot filter collections by type (IOC).
- Fixed an issue where an action of type Messages with GET for containing items always fails the first time.
- Conform action: Fixed an issue where a Conform action was following for media assets with videoStreamCount > 0. Issue fixed by changing the channel mapping logic to handle audio before video in hires sources when preparing conform job.
- Fixed an issue where default hostname was added into signedURL for Minio instead of the configured hostname and Vantage jobs are failing. Fix validated for additional flavors of S3 storage, MinIO, NetApp, Wasabi.
- FlexMAM: Fixed an issue where creating a filter on a Time metadata field, by clicking the up arrow to adjust the time closes the and the filter is not created.
- Fixed an issue where it was not possible to enable/disable the manage ACL permission for collection for a role in master user.
- Fixed an issue where a System Error message is displayed when updating assets metadata for variables that have custom permissions.
List of Services upgraded between 2024.5.4 and 2024.5.5
flex_blackpearl_service | flex_fastobject_service | flex_fileaccess_service | flex_fileprocessor_service |
flex_hotfolder_service | flex_indexelastic_service | flex_job | flex_jobasyncexecutor_service |
flex_jobengine_service | flex_login_app | flex_master | flex_mediacortex_service |
flex_metadata_service | flex_publishindexer_service | flex_streamprocessor_service | flex_operationsdashboard_app |
flex_search_app |
2024.5.4
Enhancements DaletFlex
- Add SDK method to access job variables
- Result of FFP list, pack and unpack jobs was extended to include the totalSizeInBytes of the files and folders involved in the operation. The size of individual files is now also included in the following manifest format outputs: SIZES, DETAILS. Folders are now also included in the following manifest format outputs: SIZES, ENTRIES.
- Fixed gap where non-backwards compatibility was introduced in FFP as part of supporting new pack/unpack API. 3 KVs added that support legacy behavior by default and generate a hash file/sha1 file/support batched tar jobs (up to a batchsize of 1000).
- Update blue on black text in FlexTRACK app.
- Added filtering before handling by IndexElastic for most MessageHandlers, and especially for the ones which use Delayers, to prevent OOM crashes of IndexElastic due to unnecessary retention of all messages.
- Rename browser title page for Ops Dashboard from Operations Dashboard to FlexTRACK.
Fixed Issues Dalet Flex
- Respect account visibility while displaying taxonomies based on account accessibility and visibility.
- Use mediainfo instead of ffprobe for growing MXF files to avoid possible endless increase in growing polling times.
- [Add Marker to Collection/ClipBin] Fixed an issue where markers were added to activated collection/clipbin instead of to the selected collection. Issue fixed by first checking for a selected collection before falling back to the active collection or clipbin.
- Fixed an issue where FlexMOVE was failing intermittently after logout and login. Issue caused by intermittent caching of XSRF token between sessions.
- Fixed an issue where the members of groups are not displayed correctly. If the number of members in a group after adding/removing members is greater than current results shown per page, the members on the non-visible pages are removed from the group.
- Fixed a specific scenario in MPD parsing when only a single segment exists in the DASH manifest.
- Flex Player: Display end time in line in the Player. If the asset is a growing live asset, end time is not displayed.
- Player: Fixed an issue where audio tracks are not displayed properly and they do not have the correct labels. Issue fixed by Shaka player and Flex player consuming labels from the mpeg dash manifest.
- Fixed an issue where Image Transcode is failing on shard storage resource. Issue fixed by implementing changes in JAE so that when sharding is enabled the sharded path is created before checking the file size during the image transcode plugin execution.
- Fixed an issue when audio is not played/ an incorrect audio track is played when playing Mpeg Dash from FlexMAM because of a problem with the synchronization between Shaka player and Flex player. After fixing the issue, correct audio tracks can be played by manually updating the role in manifest.mpd file of proxy.
List of Services upgraded between 2024.5.3 and 2024.5.4
flex_fileprocessor_service | flex_hotfolder_service | flex_indexelastic_service | flex_job |
flex_jobasyncexecutor | flex_login_app | flex_master | flex_metadatadesigner_app |
flex_streamprocessor_service | flex_taxonomy_service | flex_webtransfer_app | flex_workflowdesigner_app |
flex_operationsdashboard_app | flex_cut_app | flex_fmp_app | flex_fmpadmin_app |
flex_fmpreviewer_app | flex_globalheader_app | flex_search_app |
2024.5.3
From this release all Enhancements and Fixed Issues are delivered together with no differentiation between Dalet Flex and FlexMAM.
Enhancements DaletFlex
- Translation: Update French translations: Asset Types, Search table headers.
- Handle scaling of sources with non-even width or height values via scale instead of zscale filter.
- Reduce default caching to prevent playback failing if VFS location has changed after proxy was created.
Fixed Issues Dalet Flex
- Fixed an issue where .TCD files are created with the wrong format for the TimeCode.
- Fixed an issue where loading available wizards for an object in FlexMAM takes a long time. Issue fixed by using metadata cache of an asset to evaluate run rules for wizards.
- Permission to see Dalet Cut in the app switcher/use the URL to access Dalet Cut is controlled by permissions in Dalet Core > Access > Roles AND the KV flex/shared/featureToggles/flexCutAppEnabled/ (default value=false).
- Panels App: Fixed an issue where a checkbox inside a complex field with multiplicity & multi option field as checkbox type with multiplicity was not working as expected in wizards and legacy uploader.
- Fixed an issue where the workflow took the wrong branch after a decision script.
- Fixed an issue where FMP filter for a single day is not working.
- Custom Marker Template: Fixed an issue where it was not possible to remove the filter value added for the fields in custom marker template [table header] in summary and manage pages and in Column filters on markers results.
List of Services upgraded between 2024.5.2 and 2024.5.3
flex_job | flex_jobasyncexecutor_service | flex_master | flex_streamprocessor_service |
flex_videoproxy_service | flex_webtransfer_app | flex_panels_app | flex_fmp_app |
flex_globalheader_app | flex_search_app |
2024.5.2
Enhancements DaletFlex
- IPS/VPS to allow extensible origin configuration for cross domain origins. Use Consul KV flex/shared/additionalCorsDomains with comma separated domains.
- Add support for overriding default Feign timeouts for SDK calls.
- Add SDK method to be able to skip children when fetching UDOs.
- Jobs are auto-retried for OptimisticLockException.
- Fixed an issue with the last modified time function in Azure that was causing Inbox to delete files from Azure folder before import happens.
- Message actions - Make logging out the response body in Job History optional and configurable. Default behavior is false.
Fixed Issues Dalet Flex
- flex-mediacore-objects-library: Fixed an issue where in case of subtract timecode having drop framerate validateDropFrames() gives an exception. Issue fixed by modifying the implementation to consider validateDropFrames after minutes and seconds are set.
- Fixed an issue where Flex Transcode Media Profile COPY audio/video was not working with FlexStreamProcessor.
- Fixed an issue where a launch and wait action fails when parent workflow has a StringList variable. Issue fixed by adding the string list variables from the endpoint.
- [CORE] Fixed an issue where additional space characters on workflow variable values were not preserved correctly in Workspace Variables and in Job History.
- Add support of Patch in FlexADMIN API for Groups and workspace members to fix an issue where members were not being added correctly to a Group.
- Fixed an issue where Purge jobs were failing with this error "Connection pool shut down".
- Fixed an issue where it was not possible to filter on the Created column of the Results table using the Custom Date Range selector.
- Wasabi S3 compatible storage: Add support for Copy, delete, rename, move from S3, Local, GCS, Azure, Wasabi to Wasabi storage and vice versa.
- Fixed an issue in SearchElastic: when a "Time" metadata field value is set to a date/time older than 26th Jan 1970, it is returned by SearchElastic as milliseconds past the epoch instead of as a ISO8601 string, causing it not to render in FMP search results.
- Fixed an issue where the account logo is not updated correctly in Enterprise WebTransfer and in FlexMOVE. Issue caused because WebTransfer caches the account logo indefinitely.
- Fixed an issue where Webtransfer uses the hardcoded favicon, instead of the favicon set in the account theme.
- Fixed an issue in Flex Cut, where there was no SOM for growing files created from Ingest Scheduler.
- OPATOM: Fixed an issue where Export Action on an OPATOM asset without an audio track failed. After the fix, the file is exported without the related field in ALE.
- Enterprise: Events Tab: Fixed an issue where HTML entity   was displayed in messages in the Events tab instead of white space.
- Enterprise: Events Tab: HTML entity displaying instead of space in message.
- Revert the logic to check the Payload being empty in PUT APIs for groups/id/members, workspaces/id/groups and workspace/id/members endpoints.
Enhancements FlexMAM
- Add support of Spanned Clip to Dalet Flex Cut. Add Spanned Clip to timeline from ClipBin/Collection/Shared Collection. Save a project containing Spanned Clips from FlexCut and import back to Flex Cut.
- For accessibility, change red on black text that is difficult to read when the wizard metadata field is required in FlexMAM.
Fixed Issues FlexMAM
- Filter condition: Fixed an issue where the Starts with/Ends with filter condition did not work correctly when using multiple words in the filter.
- Fixed an issue where the "Type Is Not Video" filter chip was not returning correct results. The isNot condition for more than one variable returns filtered results with the AND operator.
- Fixed an issue where user display name is not displayed correctly when exporting a CSV file containing a user name field with multiplicity.
- Fixed an issue where Marker TC for placeholders is incorrect in Marker details view.
- Fixed an issue where CSV Export shows "Undefined" and "[Object Object]" for various types of metadata fields: UDO field with multiple cardinality, file name, tag, drill down, user name with multiplicity.
- Fix the Idle Timeout dialog so it behaves correctly, reflecting the underlying session state.
- Fixed an issue where "Time" metadata fields are no longer correctly rendered in the user's configured timezone causing incorrect search results to be retrieved; seemingly an arbitrary UTC +01:00 timezone is applied.
- Fixed an issue where FlexMAM player where start and end time were not correctly displayed for live assets.
List of Services upgraded between 2024.5.1 and 2024.5.2
flex_nginx_proxy | flex_fastobject_service | flex_fileprocessor_service | flex_hotfolder_service |
flex_imageproxy_service | flex_job | flex_jobasyncexecutor_service | flex_master |
flex_metadata_service | flex_searchelastic_service | flex_sequencemanifest_service | flex_streamprocessor_service |
flex_videoproxy_service | flex_webtransfer_app | flex_panels_app | flex_cut_app |
flex_globalheader_app | flex_search_app |
2024.5.1
Enhancements DaletFlex
- Purge Waveform: Read waveform.json to get name of referenced binary files to purge.
- Add event data for medadata definition modified event to indicate what changed, for example which fields are added, removed, reordered etc.
- Add support for MessageTemplate and TimedAction services to JEF SDK.
- Add KV flex/flex-hotfolder-service/fileSystem/permitImaginaryFileSelfCopy so that image files with Content Type="" will be processed by a hotfolder. Default value of KV is false.
- Add user’s timezone information to user end-point of FO.
- Improve the performance of annotation deletion.
- Update the media cortex plugin to support regions other than the US.
- Added support to signal workflow manually if it stuck and not moving to next node using new API endpoint.
- Support forcing check of source folders on object storage before performing folder based copy/move operations in FFP so that the job fails when the folder does not exist as opposed to succeeding but not having any effect so that the fact that the specified resource does not exist is essentially hidden.
- Support .tcd timecode files for proxies.
- Invert the workflow state check in job scheduler to continue queueing jobs if it is NOT in pending state.
- Enable Feature Toggle support for Hibernate Second Level Cache to prevent issues with API not returning realtime values.
- Expose /sessionAbsoluteExpiryTime endpoint in Global Header app to return the current absolute expiry of the existing session token.
- Add index for metadataDefinitionId field in metadata collections in Arango db.
- Asset indexing: Use distributed Hazelcast lock to prevent concurrent indexing of the same asset.
- Implement get asset for flex-fileaccess-service.
- Add heuristic calculation of H264 bitrate (for AVC) in MXF bitrate if AVCSubDescriptor is not available.
- Add meta tag <meta name="robots" content="noindex, nofollow" /> to login HTML to prevent search engines from indexing the Flex login page.
- Fix mediainfo stream closing issue.
- Rename Action is idempotent when file is already renamed.
- Directly access video file from package asset for keyframe extract and audio file from package asset for waveform extract.
- Do not automatically disable truncation detection when transcoding with stream copy if is no clipping is requested in the transcode copy job. Use these KVs to enable truncation detection for package format sources and for codec=copy profiles if no clipping is performed: flex/flex-streamprocessor-service/enableTruncationDetectionForTranscodePackageFormatSources and flex/flex-streamprocessor-service/enableTruncationDetectionForTranscodeCopyCodecWithNoClipping.
- Optimise the bulk creation of annotations by adding caching. Performance improved by creating batches of annotations with the SDK call.
- Support waveform extraction from segmented DASH packages.
Fixed Issues DaletFlex
- Fixed an issue where a 500 error was returned when fetching a metadata instance that references a destroyed asset or UDO. It now returns a 200 error.
- Fixed an issue where creating a composition proxy on Flex CPL assets which have the same trackId for audio/video/subtitle sequences was creating proxies with incorrect durations. Issue fixed by creating a single sequence for the same trackId by consolidating all the clips with the same trackId.
- Fixed an issue where Prometheus stats on FFP job nodes are not being observed. Ensure all Prometheus stats are captured on controller/standard nodes so they are not lost on job instance shutdown and are polled for Prometheus collation. There is now counter and gauge for completed and failed jobs.
- Consider objectType in asset search api.
- Job Execution Eventhandler should skip workspace check if Switch Account & Workspace configured and event handler is triggered.
- If an asset is already associated with UDO, do not throw an error when trying to associate the asset again to the same UDO.
- Fixed an issue where Pack/unpack job does not work for folder.
- Fixed an issue where Azure AD authentication session is not invalidated after logout.
- Hot folder service: Fixed an issue where errors when retrieving the outcome of async file processing leads to reimporting of all files in resource. Issue was reported for hotfolders configured with max depth ==0.
- Fixed an issue where it was not possible to retrieve taxons with apostrophes using API and SDK.
- Fixed a system error that was thrown when creating Quota config for with processes plugin type.
- Fixed an issue where it is not possible to save metadata changes if the metadata schema contains non editable fields, even though these fields are not being edited.
- Fix an issue where an NPE was thrown for multi-asset import action because of an issue with auto-wiring.
- Job Scheduler updated to ignore maximum job limit keys with value zero in Redis.
- Fixed an issue where it was not possible for master user to fetch metadata fields that had permissions configured against them for other users. Master Account user can now access all fields regardless of which permissions are set for the field.
- FORM: Fixed an issue where a complex metadata field in asset metadata, marker metadata, tasks, FlexREVIEW and FlexMOVE was not opening and closing properly when clicking on it.
- Fixed an issue where upload failed because a date and time field in the metadata form used a Text Form type instead of a Time form.
- Remove external ID when taxon is deleted so that it is possible to create a new taxon suing the same external ID.
- Fixed an issue where Purge jobs were failing with this error "Connection pool shut down".
- Improve performance for UDOs with many children.
- Fixed an issue where extract keyframes has not extracted all the keyframes + waveform extract does not complete.
- Fixed an issue where BWF/RF64/rm/wma files cannot be imported via Web Upload.
- [JAE] Fixed an issue where transcode job complains for non-valid DF timecodes when clipping. Issue fixed by modifying the implementation to consider validateDropFrames after minutes and seconds are set.
- Fixed an issue in Flex Cut, where there was no SOM for growing files created from Ingest Scheduler.
- [Locators and clips] Fixed an issue opening clips created from markers opens the source media instead of the clip in viewer.
- [Purge] Fixed an issue where Purge job were failing with this error "Connection pool shut down" (S3).
- Remove external ID when taxon is deleted so that it is possible to create a new taxon using the same external ID.
- Fixed an issue where the Start Session Action was not starting in FlexMAM.
- Fixed an issue where a System error was displayed when trying to when try to view System Summary of a different account. An appropriate error method has been added in Flex CORE for unauthorized scenarios.
- Fixed an issue where it was not possible to create Oauth2 message action.
- Fixed an issue where Copy and Move Action from Azure to Azure location was failing for AS02, IMP, Segmented (HLS), Segmented (MPD) Assets.
- Fixed an issue where Purge action is failing for all Package assets. Issue fixed by updating resource root validation check to consider filename when comparing asset location with storage resource root location
- [Flex Cut] Waveform: Fixed an issue where waveform volume level after extract is incorrect and not identical to vu meter playback.
- Added workflow edit permissions to control workflow retry and cancel in core API through edit permissions.
- Fixed an issue where a user without edit/delete permissions on jobs could retry and cancel jobs from API.
- "TimestampIn"Marker Annotations: Fixed an issue where "TimestampIn" and "TimestampOut" fields shows relative timecode in FlexMAM when "decoupleStartTimecodeEnabled" is set to false.
- Fixed an issue where Restore action is failing on Segmented Asset.
- If an asset is already associated with UDO, do not throw an error when trying to associate the asset again to the same UDO.
- Handle waveform extract where multiple renditions for same adaptation set exist.
- FastObject: Fixed Inconsistencies in use of preferredStartTimecode among the different annotation retrieval endpoints.
- Fixed an issue where Save metadata is failing when user add or update a variable on the associated metadata definition.
Enhancements FlexMAM
- [New FlexMOVE]: Support uploading files before metadata is filled in. Import workflow is triggered once the metadata has been added.
- Bulk metadata edit should show toast message when edit fails on a particular asset that has READ_ONLY permission. The toast message lists the asset ids for which edit failed.
- Shift the logic of checking duplicate UDO names to Enterprise and remove from FlexMAM.
- Enhance the scrubbing behavior of Flex Player.
- Clip range default name changed to <assetName>.clip.<inTC>.to.<outTC>
- Reactivate Navigate to Object (redirection) link icon on Task metadata form for object, asset and UDO drilldown fields.
- Suggestion form and chip modal –taxonomy and udo sort suggestions alphabetically. Sort is performed for the last node in the hierarchy of the suggestion displayed and not for the ancestors (higher levels).
- Audio Asset: Do not display frame in timecode. Always show duration in milliseconds for all references to audio timecode in FlexMAM and other apps.
Fixed Issues FlexMAM
- Fixed an issue where playhead does not follow mouse clicks down the timeline. Playhead needs to be dragged.
- Fixed an issue where the configuration for 'Duplicate Name Supported' field for root UDOs and child UDOs was not properly respected.
- Fixed an issue with the date filter modals.
- Fixed an issue where a clip from marker created in FlexMAM is not usable in FlexCUT. Issue fixed by removing the preferredStartTime from in/out marker clup creation because it was using the wrong time code.
- Fixed an issue in the Left Collection menu that was sending multiple network calls from the browser so collections are loading information for a long time after page refresh. Issue fixed by adding a cache of 6 seconds when loading sub-collections.
- Fixed an issue where the Upload button was not enabled. Issue caused because the CSRF token was not cleared on logout and an invalid token was sent on re-login.
- Fixed various issues when searching with Date/Date Time field filters.
- Add the quick option to add images to the active collections from the 3 dot menu on an asset in Search results.
- Fixed an issue so that the Save button is enabled in a metadata form when adding and removing multiplicity on a complex field without changing any values in the form.
- Shaka Player: Fixed an issue to perform pre manifest processing to support a manifest file delivered with no audio language/label details. After fix, all audio tracks are displayed, audio switcher works and audio waveforms are displayed correctly in all modules.
- Fixed an issue where values for drill-down values showing the complete hierarchy were not displayed completely in the Asset Results table.
- Fullscreen: Fixed an issue where it was not possible to minimize the screen after selecting the mark with metadata icon and moving to Full Screen.
- FlexCUT: Update error wording for image assets that cannot be opened in Trimmer.
- Fixed an issue where an Asset name does not refresh when clicking the `Refresh the list` icon for a loaded page.
- FlexCUT: Show duration of clip instead of source media duration. Respect the video duration format set in FlexADMIN.
- FlexMAM Player: Filter to only show WEBVTT subtitles in Flex Player. Other subtitle formats are not supported in the player in FlexMAM.
- Fixed an issue where a clip is added to a collection in relative TC and a marker is added to the collection using absolute TC and the marker cannot be previewed. Issue caused because a system has not migrated fully to relative TC and so the marker TC is calculated incorrectly.
- Support HEVC extension Upload via Flex Web Transfer.
- Fixed UI error when creating UDO with the same name by using the plural name in the UDO create duplicate check instead of name.
- Update FlexMAM to use the flex-fileaccess- service to download assets in from FlaxMAM to support downloading large files.
- Search Filter: Fixed an issue where the tooltip is not visible on long search suggestion for drilldown fields in search chips, table filter and metadata forms.
- [Flex Cut] Fixed an issue where Local VO Recording: failed to load a 1 minute voice-over recording because of the default limit for uploading files was too small. Default size increased to 25 MB.
- Fix the Idle Timeout dialog so it behaves correctly, reflecting the underlying session state.
- Fixed an issue where Shift-click selection was not working on the second page of the bulk edit metadata page.
- Fixed an issue where it was not possible to create a UDO on the second attempt after a failed first attempt such as using an invalid name.)
- Fixed an issue where a multi option field with multiple default values did not persist all the default values in the asset metadata in FlexMAM Summary and Manage, Tasks, FlexREVIEW, FlexMOVE.
- Clip Range from Marker in disable decouple timecode configuration
- Asset Manage: Fixed an issue where Player progress bar is not shown until asset is played.
List of Services upgraded between 2024.5.0 and 2024.5.1
flex_nginx_proxy | flex_eventhandler_service | flex_fastobject_service | flex_fileaccess_service NEW |
flex_fileprocessor_service | flex_hotfolder_service | flex_indexelastic_service | flex_job |
flex_jobasyncexecutor_service | flex_login_app | flex_master | flex_mediacortex_service |
flex_metadatamerge_service | flex_metadata_service | flex_sequencemanifest_service | flex_streamprocessor_service |
flex_taxonomy_service | flex_videoproxy_service | flex_webtransfer_app | flex_cut_app |
flex_fmpadmin_app | flex_fmpreviewer_app | flex_globalheader_app | flex_search_app |
2024.5.0
Enhancements DaletFlex
- Indexing of taxons in Elasticsearch - post-MVP work on bulk updates, cache eviction completed.
- Make metadata URL fields support 8000 characters.
- IndexElastic service updated to bulk update taxonomy details for taxons when the taxonomy is changed.
- Taxonomy cache eviction performed in IndexElastic for taxonomy events.
- When Timed Action jobs fails/cancelled, a new job is created and this message is displayed in the job history Retry the job again, new job will be triggered.
- FLEX-69013 Collection service: If ACL settings are provided when creating a new sub collection, use them, if not inherit the parent ACL settings in the sub-collection. Allow partial specification of ACL blocks, instead of requiring that all fields are present
- Add a dryRun option for OpAtom Export ALE/EDL flow.
- Support VOL file audio waveform extraction.
- Implement server side validation for editable attribute. Validation is applicable for FlexMAM, FlexMOBILE and Xtend.
- OpAtom Export: Make retry jobs begin from place they originally failed and make them idempotent.
- Using PLUGINS_ENABLED & PLUGINS_DISABLED environment variables we can control the list of plugins which are supported by each Job Async Executor (JAE), If these variables are not defined then each JAE would support all the available plugins Executor: configurable plugins from env variable to execute/consume from plugins queue. For example: e.g. PLUGIN_ENABLED=create-proxy_media-proxy,extract_extract-technical-metadata-action.
- OpAtom Export: Validated iterations to achieve e2e working with Avid Media Composer.
- Expose selected authorisation-service endpoints through Enterprise shim to support the Dalet Flex-Dalet Pyramid integration.
- Return displayAspectRatioFraction in the asset API and mark displayAspectRatio as deprecated.
- To prevent load adding load to Flex Enterprise, allow script to indicate whether the updated metadata instance should be returned when updating.
- Allow integers to be used when setting IDs on drill-down fields.
- App permissions management in Flex CORE for using DaletCUT. Requires Consul KV kv/flex/shared/featureToggles/flexCutAppEnabled/edit set to true
- Added mechanism to automatically realign collection item edges in case of data inconsistency.
- Add support for quota service to JEF SDK.
- Add support of expression for the fields under Selection of frames section in the Extract Keyframe and extract-tiled-keyframe plugins.
- Support output profile with interlacing e.g. convert progressive to interlace or change field order to support mixed source conversion for stitch and sequence jobs.
- Login app provider libraries (both NodeJS and Java, but not Enterprise) lose the https aspect of deeplinks, when encoding destination.
- Add proper validation in drill down variable with UDO type.
- Augment tar/untar support for zip/gzip and also contents listing. Change tar/untar job type to pack/unpack and add new list job type.
- Fix deprecation warnings related to org.hibernate.Query and replace SQLQuery with NativeQuery so these warnings are not displayed in Kibana logs.
- Increase granularity of end date sent to MariaDB queries, to avoid spikes in activity at midnight each day.
- Optimise loading of UDOs referenced from metadata instance field.
- FEATURE: Add support for packetCount property returned in assetInfoExtract jobs. Specify the property by setting enablePacketCountExtraction=true or by default with the Consul KV set flex/flex-streamprocessor-service/enableDefaultExtractPacketCounts=true.
- Improve the performance of job summary by applying an index on last_modified column of mio_job table.
- Collection service: allow KV to enable recursive collection deletion, regardless of sub collection ownership. Set flex/flex-collection-service/ignoreSubCollectionOwnershipWhenDeleting to force recursive collection deletion, regardless of the ownership of any descendant collections. This is not the default behavior.
Fixed Issues DaletFlex
- Improve performance for Timed action Execute Action on Metadata Condition
- Fixed an issue where API returns outdated last modified date value when request lands on multiple flex-master instances.
- IndexElasic: Fixed an issue where UDO's own record is not being updated in Elasticsearch on RENAMED event.
- Fixed an issue where deleting a single external ID via the legacy SDK with Groovy script deletes all of the external IDs.
-
Improve performance and messaging for API addKeyframe rest call.
In case of ConflictException (keyframe already exist) during addKeyframe Enterprise rest call, add warning with proper message in job history and mark job complete.
In case of OptimisticLockException/StaleStateException (Asset object updated simultaneously) during addKeyframe Enterprise rest call, job fails with proper message and retry solves the issue. - Fixed a issue where Enterprise /api/users/{userId}/accessibleWorkspaces endpoint retrieves the incorrect number of accessible workspaces for a user.
- Fix an issue with infinite pagination for AI calls by adding logic to Authorisation service pagination utils to end pagination not only if the totalCount has been reached, but also if the current page contains no data.
- Improved logging messages when "add items" operation to collection fails because the items in error have mis-formatted dates.
- Create new JBPM context for service info metrics and then close it after serving the request to retrieve database connectivity information.
- JEF SDK: Fixed an issue where it was not possible to read account metadata using JEF SDK. Issue solved by retrieving account metadata as a JSON document instead of as a metadata instance and setting account metadata using a JSON document instead of a metadata instance.
- Fixed an issue where Extract Keyframe set the wrong master keyframe.
- Collection service: Fixed an issue where adding and removing the same items to different collections can result in corrupted edges.
- Fixed an issue where FFP job pods running in EKS do not terminate upon completion of a job and prevent EKS scaling down when there are no jobs to be executed.
- Fixed an issue where Task dashboard shows incorrect number of tasks for users that have more then one role (via user group membership).
- Fixed an issue in FlexStreamProcessor that prevented the generated HLS Proxy from playing in FlexMAM UI Player.
- Resolved an issue where JAE/Redis outage leads to QUEUE timeout and job active in 2 nodes. After Timeout, extract waveform cannot be retried because the json already exists.
- Resolved issue of jobs timing out after being in a Queued state.
- Restore and Archive jobs fail with error failure reason: job stalled more than allowable limit for image sequences. Issue solved by increasing FFP memory.
- Updated FSP to fix an issue where timecode overlay display exceeds 24:00:00:00 and is not the same as FlexMAM Player display. Add wrap24Hours: true within the timecodeOverlay portion of the request, or set the Consul KV `flex/flex-streamprocessor-service/enableDefaultTimecodeOverlayWrap24Hours to true` and restart FSP.
- Converting DASH to MP4 with audioStreamTemplate copy doesn't copy the audio tracks in the same order, issue fixed by running the re-order manifest tool on the asset.
- Fixed an issue with slow pruning of standalone jobs. Issue solved by adding a new index and forcing the stored procedure used to prune standalone jobs to use the new index.
- AdobePanel: Fixed an I issue where multiple audio name labels are not displayed in FlexXTEND.
- Sporadic errors in FSP Fixed an issue where an error polling the growing state of an asset triggered this error `Growing state of job is undefined after 4 minutes` on other jobs starting at the same time.
- Shared asset/UDO belonging to workspace A should not be visible when a user restricts their search to a specific different workspace.
- Fixed an issue where there is a delay in updating the collection list after deleting any item from a collection list.
- Fixed an issue where deleting a clip from the collection bin or sequence listing page deletes all other clips associated to the same asset.
- Fixed an issue where it was not possible to retrieve hierarchy information for a UDO.
- Fixed an issue where a Timed Action is failing with this error "GenericJDBCException: could not prepare statement error" when user has more than 10k records (assets) with the matching metadata input values given as part of configuration.
Enhancements FlexMAM
- Not possible to update non editable fields of an Asset/UDO if fromUi header is sent when updating metadata.
- FlexMAM Collection: Support for Collection deep linking on launch.
Fixed Issues FlexMAM
- Fixed an issue when performing bulk metadata update on complex fields with multiple cardinality removed existing values. The fix sets the behavior for bulk metadata update for complex fields: Metadata is merged when original field cardinality is 1 and updated field cardinality is 1, in all other cases multiple existing metadata values are overwritten with the new values.
- Bulk Panel: Fixed an issue where the "Add to Collection" and "Edit Metadata" option under Quick Actions for bulk assets are not working correctly.
- Fixed an issue where it was not possible to filter on a metadata field in FLexMAM.
- Fixed an issue where shift-click on the second page of the Bulk Assets view was not working properly.
- Fixed an issue where wizard launch and legacy upload freeze when the associated metadataDefinition includes a drilldown udo type.
- Return the option to create markers via hotkey on the summary panel
- Template: Added support for drilldown field added in custom tile template in the tile view for an asset.
- Flex-Cut: Fixed an issue where searching collection in FlexCUT showed this error No results found.
- Fixed an issue were the Chip modal does not show the search value when filtering with a user object field.
- Flex Cut: Fixed an issue where a project is not considering an existing VO as local file and is repeating the upload process.
- UDO object/ drilldown: Disable navigation when creating a UDO from udo modal, reviewer session modal and uploader.
- Fixed an issue where Marker listing page shows no results on applying created date filter when timezone is set for specific user.
- Task Player: Disable Navigation from UDO in Task modal and remove navigation icon removed since navigation is disabled to prevent this error Invalid task, please contact System Administrator.
- Bulk panel: Fixed an issue where UDO values are not displayed in the udo drill down field from bulk panel.
- Fixed an issue 0n bulk edit metadata on any field inside complex fields with multiplicity 0...1, original values are erased.
- [Flex Cut] Override dialog: Fixed an issue where two conflicting messages appear after saving a project with a video asset.
- [Flex Cut] Local VO Recording: Fixed an issue where the Save dialog does not open after the override dialog has opened and the OK button is pressed. The Save As function is working correctly when recording a local VO in FlexCUT.
- Fixed an issue where the Marker hotkeys help menu is displayed poorly.
- Fixed an issue where redirection to FlexMAM from any internal apps [FlexREVIEW, FlexADMIN, FlexMOVE] through app switcher is not working.
- Collection: Fixed an issue where the Add/ Remove asset from collection listing using "manage collection" options did not show the toast message.
- Fixed an issue where FlexMAM Sequence 'Save as' fails if sequence asset does not have associated metadata or metadata instance contains a required field.
- Fixed an issue where Collection item is shown as a double entry in the Working Collections after it has been activated.
- Metadata Form: Fixed an issue where metadata in a complex field of a complex field was not saved properly.
List of Services upgraded between 2023.4.0 and 2023.5.0 (LTS)
For the new 2023.5.0 (LTS) release, most services have changed.
Comments
0 comments
Please sign in to leave a comment.