Dalet is excited to present the April 2025 release of Dalet Flex 2025.4.0
This release of Dalet Flex provides the new features, quality and security enhancements, bug fixes, and other changes listed below.
Dalet Flex
New Features
Support asset status and status flow management in Dalet Flex
Dalet Flex 2025.4.0 introduces the infrastructure in Dalet Flex for supporting asset statuses and status flow. Currently asset status and lifecycle management is only supported via API.
API documentation is available here:

The current workflow is:
Create Status → Create Status Flow → Create Variant with Status Flow ID → Create Assets Associated with Status Flow Variant
Create Status: Each Status has a unique name, unique abbreviation, description, color. The created status has a unique id.
Create Status Flow: Each Status flow has a unique name, sets the Start Status (single value) and End Status (can be multiple values) and all supported transitions between source status and target status. Once created the Status Flow has a Status Flow ID.
Create Variant with Status Flow ID: Create a new variant with the Status Flow ID or assign the Status Flow ID to an existing variant.
Create Assets Associated with Status Flow Variant: Create assets and associate them to the variant with the status flow.
Permissions for working with the status flow are assigned via the Status Flow object in the Role for User(s) and or Groups(s). The permissions control the creation/update/ deletion of statuses and status flows, you must have edit permissions on an asset to change the status of assets according to the configured status flow. If you do not have appropriate rights, an error is thrown.

Events of type Status Flow are indicated using this icon,
.
Support Extract EXIF Technical Metadata using a plugin
From Dalet Flex 2025.4.0, the Extract Image Technical Metadata plugin has been updated to include setting a configuration option to support the extraction of image technical metadata using Exiftool or Mediainfo engines. If one of these engines is specified in the Extract Image Technical Metadata action, JAE sends a request to FSP to use the defined engine to extract technical metadata.

The metadata extracted using this action is stored in Arango database in the extendedTechnicalMetadata field for the asset.
In the File tab in Flex CORE, the Extended Technical Metadata section is added and it displays the name of the field and the UUID for the raw metadata stored in the database. This information is not displayed in FlexMAM.

You can retrieve the information via the asset API with includeDetails=true.

For example

If no engine is specified, the Extract Image Technical Metadata action remains unchanged and the standard technical metadata is extracted and populated in Flex Core and in FlexMAM. To retrieve the standard technical image metadata, you MUST run the extract engine with NO Forced Engine configured.
Support FCPXML import and render to high res
Media assets are delivered to Dalet Flex in different formats from different sources, for example from NLEs. From version 2025.4.0, Dalet Flex supports importing an FCPXML using the Import Edit plugin in the Import action type and automatically creating a Flex AFF for use in Flex Cut. Once you have completed your edit you can render your project to a hires file that can be distributed on different platforms.
To support this workflow, a new option, Create Dalet Cut Edit, has been added to the Import Edit plugin. In addition, you must set the Output AAF parse tmp file to Yes.
To support this functionality the dalet-cut-service has been created.

Support extracting subtitles from a Flex Cut AFF asset
Dalet Cut supports importing ttml subtitles on to the Timeline and allows you to edit and create additional subtitle segments. From this version of Dalet Flex, once you have completed working on your project, you can conform your project and either extract only the subtitles as a ttml file or create a new media asset and a ttml file.
To extract the subtitle as a ttml file:
In Extract plugin type, select Extract Subtitle and in the configuration, set the Output Format to ttml. Select the aff asset and run the Extract Subtitle job.

To create a media asset and extract the subtitles as a ttml file:
In the Transcode action type in the Conform plugin, a new option Extract Subtitle has been added. When Extract Subtitle is selected and a conform action is run on an AFF asset, a media file is created and a ttml file is extracted and a Subtitle asset is created. The subtitle asset is created as a child of the asset which the Conform action was executed on.

Flex Cut supports adding subtitles with media
From Dalet Flex 2024.11.4, TTML format subtitles associated as children of a Flex asset are automatically imported into Flex Cut in a dedicated CC track when the parent asset is added to the Timeline. You can edit the CCs in the track using the CC panel and all changes, including font and size, are saved as part of the EDL project. When the project is reopened in the Timeline all the saved changes are available.

Monitoring files on a playout server storage
In a broadcast environment, media files are uploaded to target storage locations on video servers for playout. To ensure that content is delivered as planned, it is vital to have real-time monitoring of the state of the media files uploaded to the video servers. From this version, 2025.4.0, Dalet Flex supports file presence monitoring on targeted storage locations. This ensures that files published to specific storage destinations are automatically tracked, enhancing reliability and providing visibility of the status of exported files.
NOTE: Currently this has been validated for static files uploaded using FTP to a Dalet Brio server.
When a file is published using the Video Playout Publish plugin, hotfolder service monitors and registers its state: Transferring, Online, Offline. If the file is unpublished or becomes unavailable, hotfolder service monitors the changes and updates its state. The default supported state transitions are:
TRANSFERRING -> ONLINE
ONLINE -> OFFLINE
OFFLINE -> ONLINE
ONLINE -> ONLINE
OFFLINE -> OFFLINE
TRANSFERRING -> TRANSFERRING
Additional monitoring information, such as the file creation time and last modified time are also recorded by hotfolder service and are written to the database. A file can have a single state at any one time. Currently the monitoring information is not available in the GUI and can be retrieved by calling the enterprise API syndication monitoring endpoint: /api/assets/$ASSET_ID/syndications/$SYNDICATION_ID/monitoring.
Support extracting thumbnails for existing markers/annotations
From Dalet Flex 2025.2.0 it is possible to auto generate and store thumbnails for markers/annotations using a System REST Extract Thumbnail action. From Dalet Flex 2025.4.0, the JEF Extract Thumbnail plugin has been created. The plugin includes a configuration to support extracting thumbnails for existing markers/annotations.
In the Extract plugin type, select the Extract Thumbnail plugin.

In the Configuration tab, select the System REST Transcode Resource, (Flex Stream Processor). When you run the action manually, you must set timecodes that thumbnails should be extracted for. You can use the expression @@timecode@@ so the timecode of the execution context is used by the action by default.

To extract thumbnails for existing markers/annotation, create an Extract Thumbnail action with Extract all thumbnail set to true and execute the action on specific assets from FlexMAM. In this case you do not have to set the timecodes.
NOTE: Thumbnails are stored in the Account Folder configured in the Account metadata.
Improve search to support accent-insensitive and apostrophe-formatting-insensitive searches
To improve the search functionality in Dalet Flex to support accent-insensitive and apostrophe-formatting-insensitive searches, the analyser configurations in the index configuration templates defined by flex-indexelastic-service has been updated to use ASCII folding filter.
To use this in Dalet Flex 2025.4.0:
- The Consul KV flex/shared/featureToggles/search/asciiFolding must be set to true
- All instances of flex-indexelastic-service and flex-searchelastic-service must be restarted
- A full reindex must be initiated and completed successfully.
Additional languages added
To improve user experience and accessibility, the following have been added as official languages in the FlexMAM:
- Italian
- Spanish
- German
- Hebrew
Additionally, the existing Arabic translation has been updated. These additions enable users from diverse linguistic backgrounds to fully utilize the platform's features and functions.
API method to retrieve the ids of all assets with a syndication matching some criteria
To get all Flex assets having a specific syndication (in a Dalet Pyramid container), syndication-related matrix parameters have been added to the GET /api/assets "List Assets" API. Can filter by matching:
- Syndication provider (not case sensitive)
Allowed values: "FLEX", "RSS", "VIMEO", "OMNEON", "TWITTER", "YOUTUBE", "VELOCIX", "KALTURA", "FACEBOOK", "JWPLAYER", "BRIGHTCOVE", "DAILYMOTION", "DALET_PYRAMID_MEDIA_BIN", "DALET_PYRAMID_SCRIPT", "DALET_PYRAMID_RUNDOWN", "DALET_PYRAMID_EDL", "DALET_XTEND_PROJ", "VERITONE", "VIDEO_PLAYOUT_MONITORED_SERVER"
- Syndication system id (case sensitive+exact match)
- Syndication resource id
- Syndication embedding id.
For example: To search by syndication provider with all options: {host}/api/assets;syndicationProvider=DALET_PYRAMID_MEDIA_BIN;syndicationResourceId={rId};syndicationSystemId={sId};syndicationEmbeddingId={eId}
Improve tag management from Flex SDK
To enable developers to integrate tag management seamlessly within their SDK-based workflows, improving automation, usability, and consistency with the API, additional methods for asset level tag management have been introduced to Flex SDK.
- Supported object associated tags - getTags(assetId),addTags(assetId, tags), deleteTag(assetId, tag), deleteTags(assetId, tags).
- Add support for Enterprise to allow deletion of multiple associated tags from objects.
Changelog
2025.4.0
Enhancements DaletFlex
- OpAtom MXF: Export Edit: Display correct timecodes for media with multiple framerates for generated EDL. Exported EDL uses the frame rate specified in Edit Asset.
- Expose bulk metadata edit endpoints through JEF SDK. Validated for Assets, Collections, UDOs and Annotations.
- Flex Configuration Packages: P1 Packages. Additional workflows and configuration added to bundles for the productization of Dalet Flex.
- [MongoDB] Implement saving dynamic technical metadata and essence descriptors in MongoDB as part of a move to Mongo DB.
- [JEF Copy Plugin] Add support using JEF Copy plugin to copy a file to an FTP target location (supports sharded storage).
- For bulk metadata improvements, create endpoint to retrieve metadata definitions belonging to a set of objects.
- Expand default whitelisting of classes for JEF script actions to prevent them throwing an error and causing the jobs to fail.
- Validation for object variables for bulk metadata update API.
- Improve performance of IndexElastic by eagerly filtering out "ignorable" event types.
- IndexElastic: Improve indexing operation to prevent user modifications not being displayed in FlexMAM. Handle Locked / Unlocked events with an UpdateByQuery, instead of performing a full indexing operation.
- Separate the aggregation of annotation created/updated/deleted events from the main inbound flow; increase the default aggregation window for these event types; make all aggregation window settings configurable using Consul KVs.
- Enhance Annotation Update API (and corresponding JEF SDK methods) to allow the bulk updating of multiple metadata and timeline annotations.
- [Flex Productization] Support retrieving system folder information in Flex Package setup. Use Account Storage with FR by tags and move to provision Account Storage FR/SR.
- Bulk Annotation Update: Create single ANNOTATION_UPDATED event per asset when one or multiple annotations are modified for that asset.
- [Flex Productization] Template dryRun (default to dryRun only) for normalizeUuid|Name + Prevent deploying Solution Packages on clashing account.
- Add Ability to add output file names inside pack file for multiple disparate pack inputs.
- Vantage plugins to support importing.ts transcode outputs.
- Metadata Commons library: Validation failures updated to include the name of the variable whose validation has failed.
- Index/Search Elastic Service: IndexElastic service updated to support indexing and searching Asset Usage rights fields into Opensearch., Updated IndexElastic service to index assets usage rights fields into Opensearch. The SearchElastic has also been updated with required models.
- Change bulk metadata API to accept assetId along with annotationIds to support bulk updating multiple annotations for individual assets.
- Pass assetId along with annotation while doing bulk update from FlexMAM.
- Fix the logic to fetch only metadata of the asset when an asset and its asset annotation refer to the same metadata definition.
- Enterprise API should return 400 Bad request when field name is incorrect in matrix param. Error message is “Incorrect field name” is an invalid value for sortBy.
- Add support for fragmented/segmented and growing MP4 and DASH packages to be repackaged to HLS packages.
- Support for custom logging contexts. Include flex.ffp.job.id field in logs and in the context of a Flex job include flex.job.id.
- Improve the layout of the technical metadata panel
- [Flex Productization] flex-solution-packages-registration: add to environment/platform deployments.
- Set colour values to defaults to prevent issues with colour conversion.
- Allow shaka player configuration via consul KV flex/flex-fmp-app/shakaConfiguration. After setting the KV, restart flex-fmp-app, and reload the FlexMAM page in the browser.
- Fallback to indirect copy if direct copy does not work for S3 to S3 copy and throws a 403 permission error. Set Consul KV flex/shared/vfs/s3DirectCopyFallbackToIndirect =true.
- Enhance ANNOTATION_UPDATED event to include information on updated metadata. Additional information is added to the Json. Add metadata values in the "Updates" tab of the raw ANNOTATION_UPDATED event for bulk update of annotations. Add metadata values in the "metadata" tab of the raw ANNOTATION_UPDATED event for single annotation update. Display the additional information in the Event Details in Flex CORE.
- Job Search API: Improve searching jobs from API by merging all job search API into one with support for new `workflowId` matrix parameter.
- To solve an issue where FFP Copy jobs fail with this error job stalled more than allowable limit. Adjusted S3 queue size based on part size to constrain memory usage. Improved buffer memory usage in DownloadChunkedReadable logic.
- Support explicit naming of extracted keyframe files to include milliseconds in filename output for keyframe extract jobs.
- Support TTML files in asset map for conforming Dalet Cut projects containing ttml files.
- Handle rotation metadata when extracting keyframes so that keyframes are not distorted.
- Fix sequence handling issue discovered on non-zero padded sequences.
- Pyramid asset syndications should have purgeRestricted property set to false to allow purging an asset even if it is a member of a media bin in Dalet Pyramid.
- Handle .mov extension explicitly set in output name and consolidate implementation so that .mp4 extension is not added unnecessarily.
Fixed Issues DaletFlex
- REST API: Fixed an issue where updating action metadata and asset metadata with expression value with isExpression as false was not working properly.
- Fixed an issue where configurations in nested child options were not being saved well for action plugins, for example, it was not possible to save the configuration Parent Asset ID for action Import plugin Asset Import.
- Fixed an issue where it was not possible to add fields from metadata definitions created in different accounts to display templates even though the metadata definitions are visible to the current account.
- Fixed an issue where a JEF script to migrate metadata backed by taxonomies into timeline annotations stops running and hangs and JAE service seems to hang if it loses connection to the Taxonomy service. See this article for additional configuration information.
- Fixed an issue where Extract Waveform plugin is not generating a VOL file correctly for video assets.
- Fixed an issue where moving large files (2TB+) was failing.
- Fixed an issue where sequence preview in FlexMAM was failing for Mpeg-Dash proxies.
- [FlexCORE] Fixed an issue where the Account’s theme theme was not created on a new master account (applicable for fresh deployment only). For similar problem on existing environments, please contact Customer Services.
- [Technical Data] Fixed an issue where Format Variant information was not displayed, specifically for audio only files.
- Fixed an issue where Add & Remove ACL Plugins throw NPE when non-marked required configuration field ACL Mode is not filled.
- Fixed an issue where Add & Remove ACL Plugins throw NPE when non-marked required configuration field target (group or user) is not filled.
- Allow FQL to filter date fields as negative numbers so you can search using negative millisecond timestamp values (for dates older than 1st Jan 1970).
- Fixed an issue where the logo was missing Flex Web uploader. Issue fixed by adding additional logic to find account using host name if accountName is not found.
- Fixed an issue where the styling of display templates was updated to accommodate larger metadata infos. Previously metadata fields with large amounts of information were truncated in display templates for tile view.
- Add support to import .ts transcode outputs from Launch Vantage Workflow plugin.
- Fixed an issue where Import & Copy jobs are failing with the error Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect). Issue was fixed by fixing the auto-retry for jobs in the case of StaleObjectStateException.
- Fixed an issue where JEF Wait for Script with option Update Workflow Variables = YES overwrite the values of the workflow variables because FlexContextVariable is matching String as a date type variable on receiving WorkflowContextVariable in JEF Wait for Script. For the fix to work set workflow variable use_lenient_for_workflow_date_variable_conversion to false, by default it is true.
- Fixed an issue where Clipbin pagination was not working correctly.
- Fixed an issue where the wrong clip asset count is displayed in the Asset Manage page.
- Improve the ACL Update event to capture the full information about the update in the mode, the old mode and the new mode. For example, userAclModes: 1017:READ_ONLY updated to READ_WRITE,1016:READ_WRITE updated to READ_ONLY and groupAclModes: 1023:READ_WRITE updated to READ_ONLY.
- Fixed an issue with intermittent advance frame freeze for 23.976 fps video.
- Flex Assets API: Fixed an issue where Get Assets filtered by parentAssetId always returned all assets instead of only those matching the filter.
- Fixed an issue where searching through Enterprise with metadata criteria generates FQL clauses which are potentially ambiguous and return incorrect results.
- Fixed an issue where format information such as width, height and format is not being shown in a display template for image assets. Issue fixed by making image height, image width, image format available in Technical section of template configuration. Also added an option to filter for image format.
- Fixed an issue where fields in columns are overlapping each other the in right panel in FlexMAM.
- FlexMAM: Fixed an issue where selecting a saved search to display Marker result was not loading properly unless the page was refreshed.
- FlexMAM: Fixed an issue where search using is/is not filters with no set value was not working properly and required a browser refresh.
- Fixed an issue where workflows were failing because an xlsx file in Groovy Script could not be read.
- Fixed an issue so the Search Results page displays the "..." ellipsis when a column contains data but is not expanded enough to display the data.
- Fixed an issue where Flex panel app does not display a workflow variable properly when the variable is long. Issue fixed by adding a line break for long variables.
- Fixed an issue where FlexMOVE with Aspera file accelerator os-native file selector dialog does not have "all files" filter option available.
- Fixed an issue where square bracket characters `[` and `]` are not always URL-encoded.
- Fixed an issue where bulk metadata editing is not updating metadata on all selected assets particularly for fields including drill down object types.
- Fixed an issue when filtering markers using the column headers in the table on the Custom Markers tab does not work properly for multiple pages of markers.
- Fixed an issue to support sorting child assets in an Image Sequence in FlexMAM.
- Fixed an issue where the value of an object metadata field in a tile display template is not displayed properly.
- Fixed an issue where FFP copy jobs complete but the file is not copied or is not copied to the correct location. The fix supports copying from S3 to S3 across buckets belonging to different AWS accounts and the same AWS account and copying to a root folder.
- JEF SDK mistranslates Date values when delegating to the Enterprise API with matrix parameters (e.g. lastModifiedFrom, lastModifiedTo). Fix ensures that a 24hr 0-23 hour value is used.
- JEF SDK: Fixed an issue where JobService.getJobs() does not correctly map the `includeVariables` parameter through to the Enterprise REST API call.
- [FFP] Fixed an issue where copying data spread in multiple files from AWS to OVH was failing with this error A conflicting conditional operation is currently in progress against this resource. Issue solved by ensuring that the object's parent folder key is only added once when encountering a source folder rather than for each file in the folder.
- Fixed an error when rendering a marker using a wizard in FlexMAM.
- Fixed an issue where image sequence, CPL and AS02 version assets were not displaying the duration in the asset listing in Search Results.
- Wizard: Fixed an issue where it was not possible to login to interplayPamBrowser, Unexpected error occurred is shown in the wizard.
- Flex Panel App: Fixed an issue where a Consul error was displayed when launching a workflow wizard without supplying all mandatory parameters. Improved the error message displayed when mandatory parameters are missing when launching a workflow wizard.
- Flex Panel App: Fixed an issue where a generic error was displayed when launching a workflow wizard without supplying all mandatory parameters. Improved the error message displayed when mandatory parameters are missing when launching a workflow wizard.
- Fixed an issue in the status of workflows when actions fail in a workflow with more than one action after a fork. If any of the actions after the fork fails the workflow is in set to Failed. When retrying any of the actions the workflow will move to Running state however when execution of all nodes of the retried branch finish the workflow is reset to Failed if there are no running jobs and at least one failed job in another branch!
- Fixed an issue where running a search to filter "frame rate" with multiple options including "Other" frame rate gives 500 Internal Server Error.
- Search listing table column width in Custom templates is persisted when refreshing a template or selecting a different template.
- Fixed an issue so that it is not possible to edit a Thesaurus field that is non-editable\read only.
- Fixed an issue where a file was uploaded to the previously selected workspace when Upload before metadata is set to yes is configured for the Inbox used by Web Upload. Issue fixed by adding support for workspace based item detection in web transfer upload.
- Fixed an issue where Command Line Script (deprecated) Action is failing. To use this action you must set these Consul KVs to true:
- enableDeprecatedCommandLineScriptActionPlugin
- enableDeprecatedCommandLineScriptPlugin
- Fixed an issue so that navigating for subtitle asset from other asset relationships tabs is restricted and double click on subtitle assets in relationship tabs is disabled.
- Fixed an issue where page value is not reset to first page when switch between collections.
- AS02/IMP: Fixed an issue where AS02 VERSION/CPL is not pointing to AS02 VERSION/CPL.xml and same with Members .mxf when performing a Move action.
- Fixed an issue with the horizontal scroll bar in the Summary tab ib FlexMAM.
- Copy/move package/sequence asset with rename = true is not supported. These jobs are failed and a proper error message is now thrown for them.
- Fixed an issue where the Extract Waveform action is failing for MPD (Segmented asset).
- Fixed an issue where the checkboxes were missing in the multi select flyout menus.
- Fixed an issue where in bulk edit metadata screen where disabled (non editable \ not have edit permission) fields were not displayed correctly.
- Fixed an issue where fields in the Technical Metadata tab use the wrong font.
- Fixed issues in edit metadata\edit bulk metadata so that Input field is not enabled when Key Value, File and Timecode fields are set to non editable and the filter with type ahead variable works properly.
- Fixed an issue where the 'Reset all changes' action is not enabled when adding a value in a Thesaurus field from bulk edit metadata.
- Edit Bulk Metadata: Fixed an issue where Bulk Listing and marker listing In and Out timestamps do not match.
- Fixed an issue where the hover style was not implemented for "Exit bulk editing" link as specified.
- Fixed an issue where an incorrect message is displayed while hovering over a complex with column layout in bulk edit metadata.
- Fixed an issue where Import/Copy MD is not adding new entries in metadata definition revision table and the values are not displayed in FlexMAM.
- Fixed an issue where the Select All/Deselect All buttons are not working properly.
- Fixed an issue where the “No thumbnail” image is not displayed as specified in the system design.
- Fixed an issue with edit bulk metadata for complex fields.
- Fixed an issue where queued status of bulk metadata is not being handled correctly in FlexMAM.
- Search: Fixed an issue where it was not possible to search custom metadata fields from advanced filter/ metadata form using searchable icon.
- Fixed an issue where creating edit asset with multiple subtitles with media throws this error 413 payload too large.
- Fixed an issue with slowness in displayoing search results from the header search bar.
- Fixed an issue when submitting a Modify Relationship -> "Remove from UDO" action was running for a long time.
- Fixed an issue where the Purge action was failing for segmented assets when the file is missing from the physical location.
- Fixed an issue where the Save icon is hidden behind ordering bar when save the width of template columns.
- Fixed an error when refreshing the clips listing or going to the next page of clips.
List of Services upgraded between 2025.2.0 and 2025.4.0
For the new 2025.4.0 release, most services have changed.
Comments
0 comments
Please sign in to leave a comment.