Dalet is excited to present the January release of Dalet Flex 2025.1.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
Dalet Flex API - Asset level media usage rights
Added API methods to Create, Get, List, Update and Delete Asset usage rights.
As a part of an asset’s metadata, API users can now set and retrieve usage restrictions for an asset.
The media usage rights info on an asset is set in predefined editable fields:
- Media Usage Rights Type – select from a predefined list
- Media Usage Rights Description – free description
- Media Usage Rights Embargo Date – the date when the use embargo is lifted
- Media Usage Rights Expiry Date – the date when the license to use the asset expires
Restriction Types list:
- Not Defined – no restrictions have been placed, or the asset has not yet been reviewed
- Always permitted – free to use
- Always restricted – never use
- Permitted for period – can be used from the embargo date to the expiry date
- Embargoed – can be used after the embargo date
- Licensed – can be used until the expiry date
When retrieving Media usage information about an asset, the answer contains the field ‘Media Usage Rights Status’, which will change depending on the current date compared to the embargo and expiry dates (whether the asset is permitted or not permitted for use).
Note that only a user with Write permission on an asset can view and edit the Media Usage Rights of this asset. A user with Read permission on an asset can only view the usage rights of this asset
Primary membership in Collections
As part of the overall changes to the Collection ACL, this feature clarifies several points which are also important for the Dalet Pyramid integration:
- Assets can only be in 0 or 1 “primary” collection; and can be in any number of collections without having a “primary collection.
- A collection can always be deleted without clearing the collection of items. Any permissions on the asset inherited through the membership of a collection are deleted when the collection is deleted.
Updates to the `flex-fileaccess-service` download service
From Dalet Flex, 2024.11.0, 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.
FlexMAM UI Refresh
Improved the Flex UI in several ways:
- Table columns can now be resized
- Better UI indications on what table header fields are searchable
- Improved hover behavior on one or more selected items
- Improve the Type menu item selection visibility
- Added configurable auto refresh to allow for a defined period of time before the page is refreshed automatically.
Support Subtitle Assets
Subtitle assets are now supported in Flex, and appear as assets in FlexMAM asset result views.
Users can search and filter by the Subtitles Asset type and view the basic metadata for subtitle assets.
Improve resilience of message consumption from workflows
Dalet Flex has improved the resilience of messages sent back to Flex Enterprise on workflow job execution. Job Listener message consumption has been improved, and Job Dashboard has been updated.
FLEX-68827 JEF-Enterprise message consumption/TX revision + common JEF & Enterprise NotifyStateChange
FLEX-72144 Requeue OptimisticLocking and Stale Exception in case of NotifyStateChangeCommand message, now going to DLQ
Improvements in the JEF Launch Vantage Workflow plugin
This release contains improvements and fixes in the JEF Launch Vantage Workflow plugin to cover scenarios that were available previously in the deprecated Enterprise plugin.
- Correct unique reference names for child assets are assigned when multiple outputs are generated by the Vantage workflow.
- Windows file storage location mappings using backslashes are correctly resolved by the plugin.
- Option to use a Wildcard, `*`, in the Vantage Output Name field, to input all multiple output files generated by Vantage as child assets without specifying expected Vantage nicknames. NOTE: When `*`, is any output that has the same nickname as an input will NOT be imported again. So, if the Vantage workflow takes 'Original' as an input, and produces two outputs, 'Original' again and 'Copy', only 'Copy' will be imported.
Improvements to Storage Resource management of resource items with managed in subpath asset
Import Action with Resource Item and Files in Subpath under Resource Storage Basepath as Managed Assets:
From Flex 2024.7.0, Import Action performed on assets located in a subpath of the base Storage Resource are imported as Managed Assets as follows:
- Resource Item with subpath is supported and generates a Managed Asset
- Target Move and Copy with subpath are supported and generate a Managed Asset
- "Source Storage Resource Subpath + Filename" Copy-Target Storage Resource Subpath” and “Move- Target Storage Resource Subpath” options in the Import Action configuration should be used.
- These fields in the Import Action are deprecated: Source VFSLocation, Source Resource Item, Move > Target Storage Folder Resource, Move > Target VFS Location, Copy > Target Storage Folder Resource and Copy > Target VFS Location and are not recommended for use.
For more information, please see this article or contact your Flex representative
Added a warning and prevented saving a configuration with nested Storage Resource where the basepath of the SR is under an existing SR for all vfs-providers (S3, file, azure).
Introduced a KV `flex-enterprise.featureToggles.allowResourceWithSameBasePath` that defaults to false. When KV is false and `isSameHostNameResource && isSameBasePathResource && isSameBucketResource` then fail saving the new Storage Resource with a validation error that declares the clashing resource name. `isSameBasePathResource` means one resource fullPath is the basePath of another resource. When KV is true and `isSameHostNameResource && isSameBasePathResource && isSameBucketResource` then save the new Storage Resource and publish an event with a message that warns about the clashing resource. See this article for information on a Stored Procedure that can be used to identify storage resources in an environment with the same base path.
Rename KV for WORKFLOW_SCHEDULER_INTERVAL_IN_SECONDS to reflect its purpose
The WORKFLOW_SCHEDULER_INTERVAL_IN_SECONDS KV has been named from `flex/enterprise/workflow/workflowLimitSyncIntervalInSeconds` to `flex/enterprise/workflow/workflowSchedulerPollingIntervalInSeconds` to correctly reflect its purpose to set the polling interval of WorkflowScheduler.
Changelog
2025.1.0
Enhancements DaletFlex
- Added the ability to manually change the priority of workflows (lowest, low, normal, high and highest) in Flex Core. This applies to running workflows as well.
- Added an optional includeAncestors parameter to the relevant API (/api/v1/all/collections/{collectionUuid}) in CollectionService which, if specified, makes the API return an ancestors list, showing the ancestry, top-level ancestors in descending order.
- Added new metrics to the Job Dashboard regarding the message consumption pipeline.
- moved to an asset syndication property called ‘assetSyndication.provider.purgeRestricted` to decide if asset deletion or purge is allowed.
- Create Archive, Extract Archive: Support any type of asset source for Create Archive/Extract Archive (previously only Spanned and Imaage Sequence assets were supported). Additional parameters added to Create Archive action – startIndex, manifestFormat, format, compression. Additional parameter added to Extract Archive action – manifestFormat. Enterprise and FastObject Asset API and Fast Object, Index Service and Search Service support additional fields – startIndex, archiveFormat, compression, manifestFilename, manifestFormat.
- Added bulk metadata endpoints for objects, annotations and collections; and a data model and request validations.
- UI improvement in FlexADMIN in Account Management > Flex Authentication.
- Support workspace search and lookup in the left-hand navigation panel.
- A new field has been added in the “Action Configuration” tab called “Complete job on failure”. When enabled, job failures within a workflow will be ignored, and jobs will be marked as completed. If config is set to true and in launch job the complete on failure checkbox is not marked, the job will fail. In this case the launch job configuration takes precedence. For decision jobs like decision, multidecision and Baton, if these jobs are configured to complete on failure, then the transition value will be always set to “true”, i.e. the branch that is configured for “true” will be picked and executed.
- Add functionality to import caption and graphic assets included in the AS02 manifest, if they are in a supported caption/image format. Files referenced in the manifest that are located 2+ layers deeper in the directory structure are imported correctly.
- Improved parsing methods for extracting technical metadatas.
- Added the ability to export ALE_EDL with Spanned Media including Relative (Edge) TC and Camera FSP.
- FlexADMIN: Fix the behavior of Default Saved search configuration in FlexADMIN.
- Enabled read-only access to full Technical Metadata in FlexREVIEW.
- AS02: Add functionality to import file and qc entries included in the AS02 manifest, if they are in a supported caption/image format. File and qc assets are created as child assets of the AS02 asset. Assets with unknown file extensions are created as to Text assets and a warn event is published reporting the name of the file and that it is mapped to Flex Asset Text as there is no matching extension in Flex types.
- Cap long tags values in Extract Technical Metadata job to prevent jobs failing. Consul KV `flex/flex-jobasyncexecutor-service/extractMetadataTagCharacterLimit`, defaults to 20000.
- The variable type “Priority” is now available in the JEF Vantage plugin configuration screen.
- Use and pass configured Folder Resource from action plugin instead of Storage Resource to Enterprise to skip finding Folder Resource by passed Storage Resource in Enterprise which causes an issue where assets are not found.
- The size of the file path columns has been increased to support long file paths (up to 2,000 characters) for these asset types: Spanned Media File Info, Camera Card File Info, Image Sequence File Info, and OP Atom File Info.
- If RabbitMQ goes down when a job is in the executor or execution phase, the job failure will be captured, and the job will be retried when RabbitMQ is running.
- Added SDK method to generate a presignedURL.
- Resource type “OpAtom” has been added to the Flex Enterprise API.
- Updated Enterprise API to display any existing technical metadata for purged assets in FlexMAM if it exists; otherwise it returns proxy information.
- Added a configuration option for creating child assets from a source asset. By default, the new asset will be marked as a child asset. If a different option is selected, the asset will not be a child.
- Removed the legacy WebTransfer UI, now supporting only the new UI.
- All Flex Core Uploader buttons now open the new FMP Transfer app instead of the legacy Uploader UI.
- Added support for facets in Flex indexes.
- Added support for extensions with a shared mimetype (e.g. jpeg/jpg, ps/psd).
- Introduced a new configuration variable ‘Update Workflow Variables’ in JEF ‘Wait for Script’ plugin. If configured as Yes, it fetches the latest workflow variables from Enterprise to be used in a script.
- Fixed an issue in Bulk metadata editing fields with multiple cardinalities. Fixed by disabling multiplicity when editing bulk metadata.
- Added a dedicated HTML page to notify users when they try to access an application for which they are not authorized.
- Support channelMix and "audio fill" on output audio profile for stitch and sequence jobs and support transcode actions if some clips do not have audio.
- Added an API method to the “AssetService” which returns the next available statuses based on the current status of the Asset/Object and the transitions configured on the status flow, considering the user’s permission on the transitions while returning available statuses.
- Added an API method to the “AssetService” to return Asset Status details.
- Updated the existing API search methods in the “AssetService” to search Objects/Asset by Status
- Added user permission to manage Status Flow allowing users to Create, Get the details of a Status Flow, assign a status to an asset, and Allow the transition between statuses. This also enabled access to some needed parts of the Flex Core.
- Added a dedicated event for status transitions.
- Resolved and issue where creating DASH and HLS packages when commas are included in text or audio stream names.
- Calculate timecode overlay absolute box height based on font size rather than relative text border.
- Updated EN, AR and JA fonts to Noto Sans to solve a font weight issue.
- Added support for detection of variable frame rate. If detected the video stream in the job result will have a new property `isVariableFrameRate: true`.
- To fix excessive memory usage and logging in large image sequence jobs that cause jobs to get stuck in a running state, add logic to reduce log level if extracting from image sequences. Fix logic to ensure large image sequences are handled in chunks. Fix logic to ensure large amounts of spawned process kill functions are not retained unnecessarily.
- Improved error handling and documentation for the Event Service API shim in Enterprise.
- Updated API documentation so that an UnrecognizedPropertyException thrown during a REST API operation includes information on how to resolve.
Fixed Issues DaletFlex
- Fixed an issue with logic applied to a UUID filename appearing as an image sequence index.
- Fixed an issue where poster frames, keyframes and proxy images were not displayed in FMP, and the Download from FMP function failed due to an incorrectly-set expiry windows for role-based credentials auth in AWS.
- Fixed an issue with UTF8 in path not supported in Shaka packaging.
- Users are not accessible after CM commit (they need specific /api/authentication... setPassword). Bug fixed by creating a new request command in CM to interact with the Enterprise endpoint using GET, PUT, and POST
- Add support for Kubernetes native service discovery (for Flex Enterprise). Default discovery uses Consul. Toggle to Kubernetes service discovery by setting the environment variable "KUBERNETES_SERVICE_DISCOVERY".
- In Job History, display this warning `Workflow variables have case insensitive duplicate keys [offset, offSet], Fix these keys to avoid conflicts while update/add/delete` to warn that Remove WorkflowContext variable removes variables regardless of case.
- Relationship tab: Fixed an issue where the Run option is missing for assets in the Relationship tab. There is no Run action on UDOs and attachments.
- Fixed an issue so that the Wizard button works when you click on the icon or on the text.
- Asset type icons are now displayed based on object type instead of asset origin, resolving issues with incorrect asset type icons being displayed on child assets.
- Fixed an issue so adding multiple assets in multiple collections using Bulk Asset feature is successful.
- Fixed an issue where the Player playhead did not start on the clip IN position due to an order-of-events issue.
- Fixed issue: Technical metadata extraction is now possible even if the tags contain unsupported characters (e.g., emojis, special characters).
- Fixed issue: The recording start time will now be displayed for growing files (live recordings) in the Media Info of the asset in Flex MAM.
- Fixed issue: The correct duration of growing files (live recordings) will be displayed in the Media Info of the asset in Flex MAM.
- Fixed an issue where if a user deleted a collection ACL for a group to which that user belongs, an error is returned even though the user did have sufficient rights at the time of deletion.
- Fixed an issue where VO asset appears as video instead of audio. VO assets are saved as Audio asset types and have an Audio icon.
- Fixed an issue where the Recommendation and search result popups do not reappear if the user selects the check box to hide them.
- Fixed an issue where it is not possible to make selections using the asset checkbox.
- Fixed an issue with the date picker in the Metadata section where the month value returned incorrect search results.
- Increased the size of the font of the Total Number of Search Results at the bottom of the search results list.
- Fixed an issue where a marker metadata was not saved even if mandatory fields are filled.
- Fixed an issue where asset downloaded files do not include file extension if Accept header is not present.
- Fixed an issue where an error was received upon creating a sequence due to missing sequence metadata.
- Fixed an issue where Segmented asset purge fails because it is not possible to delete a segmented proxy file in Azure blob. Issue fixed by adding support delete of imaginary file and folder for azure blob storage.
- Fixed an issue where channel layout strings return an “unknown” value in an API call by Fixing the logic to report improved channel layout names so that they match the names supported in transcode profiles. Because this changes the values of returned channel layout names for asset info, introduced a new Consul KV `flex/flex-streamprocessor-service/enableLegacyChannelLayoutNames` (defaults to true) which can be set to false once upstream integration is performed and the legacy names are no longer required to be returned from FSP.
- Fixed an issue where when editing annotation metadata, users were able to remove tag values even if the tag field was not editable.
- Fixed an issue in annotation metadata, users were able to edit tag values even if the tag field was not editable.
- Fixed an issue where users without Edit permissions were able to remove memberships from assets which were children of UDOs.
- Fixed an issue of incorrect mapping of H264 and MPEG2 profile values.
- Fixed an issue where users were unable to adjust column width in Asset Results.
- Fixed an issue where marker annotations created via API could be created where the IN time was greater than the OUT time.
- Remove character restriction from search input field.
- Fixed an issue with the Enterprise REST API documentation for `addTagCollection()` body.
- Fixed an issue with ALE_EDL Export Spanned Media not copying all spanned media files.
- Fixed an issue which accidentally enabled debug logging when spawning ffprobe, greatly increasing log sizes.
- Fixed an issue where it took a long time to load the Preview pane.
- Fixed an issue where a permitted user could not set a value in a metadata definition.
- Fixed an issue where the Cloud Restore action failed if the object was not in the right storage class.
- Fixed an issue with Timed actions not executing properly and increased timed actions resilience.
- Issue fixed in ffmpeg that was throwing an error when using a Create Proxy transcode. Patched ffmpeg to allow larger entries in STTS box in MP4 file as per spec.
- Fixed an issue with proxy filenames containing special characters (such as #) not playing in preview.
- Audio asset: Fixed an issue in Audio asset preview where the Play timeline selection and jump to start and end of the media commands were not working properly.
- FlexMAM: Fixed various issues where the horizontal scrollbar is overlapping and hiding the pagination in different screens.
- Fixed an issue where the Date filter for the the same day was showing previous day results. The fix deals with all date, date time, duration and time code queries where `from` and `to` are identical in FQL.
- Fixed an issue where the Player progress bar does not extend to the full length of the player.
- Fixed UI styling and translation issues with Arabic language.
- Fixed an issue where Hot Folder is not enable status while applying playwright bundle in e2e environment using CM.
- Fixed an issue where Image Validation Process fails for image assets due to ClassCastException.
- Fixed an issue where a user does not inherit collection manage permission from membership of a group (collection ACL).
- Fixed an issue where Flex CM does not allow setting of Manage ACL role permission in the flex Default Role.
- Fixed an issue where dummy metadata indexing failure throws this error: The variable type ... does not belong in this container and drill down fields are not nested correctly.
- JAE: Fixed an issue where targeting by Datacenter / Tags does not send request to correct datacenter instance. Issue fixed by moving LoadBalancerClient annotations to Application.java to ensure they are picked up and the linked configuration applied.
- Metadata Designer: Fixed an issue where Date and Time fields do not perform any validation on the Format field that is specified.
- Fixed an issue where UDO Panel in fmp is empty and does not load the workflow list.
- Fixed an issue where advanced search filtered by asset type and file type-media was not displaying the correct results.
- Fixed an ACLissue where a user cano create a UDO child with UDO Read Only permissions.
- Added skipping a permission check in the GET call System Tags, allowing users to get system tags even if the Account has no permission. All other calls have not been altered.
- Fixed an issue where an expanded field had automatically collapsed, and its icon still indicated it was expanded.
- Fixed an issue where Keyframes were downloaded with the filename instead of keyframe title.
- Fixed an issue where a wrong value was displayed instead of the date in the Create Sequence panel.
- Fixed an issue where deselect bulk assets in one page removed the selection from assets in all the pages.
Comments
0 comments
Please sign in to leave a comment.