Dalet is excited to present the August release of Dalet Flex 2022.7.0. This release of Dalet Flex provides the new features, quality and security enhancements, bug fixes, and other changes listed below.
Support for dynamically repackaging Flex HLS to an MPEG DASH proxy
Dalet Flex supports a single proxy per asset. To support different operating systems and streaming environments, at runtime it is now possible to request dynamic repackaging of a Flex HLS package to deliver either a Flex HLS or an MPEG DASH proxy. Currently this works for single video and multiple audio stream HLS proxies produced by Flex.
Conflict prevention for updating metadata instances
Asset and UDO metadata instance conflict prevention has been added to SDK metadata manipulation performed in FlexCORE or using scripts. When two users (or processes) update the same metadata instance simultaneously (any fields), if the metadata instance has been updated and a second user (process) overwrites the first change, the system detects this, fails the update and informs the user that a conflict has occurred. To support conflict prevention when changes are made to the same metadata instance using API calls, the revision header must be added to the update request. NOTE: Metadata instance update conflict detection has not been added to FlexMAM.
Change in availability of storage/folder resource based on visibility when configuring inbox/folder resources
The availability of Hot folders, CDN Resources, Unmanaged Resources, Storage & Folder resources referenced in configuration screens has changed and is now more limited. These resource types are available in the drop down lists when configuring inbox/folder resources based on the explicitly selected visibility of the resource. Upwards visibility of resources is still supported.
This limitation is supported in all object configuration screens where folders or storage resources are referenced, such as inboxes, folders, actions etc.
|Selected account Visibility for the Hot folders, CDN Resources, Unmanaged Resources, Storage & Folder resource||Availability for use in configuration screens that reference Hot folders, CDN Resources, Unmanaged Resources, Storage & Folder resources on master account||Availability for use in configuration screens that reference Hot folders, CDN Resources, Unmanaged Resources, Storage & Folder resources on child account||Availability for use in configuration screens that reference Hot folders, CDN Resources, Unmanaged Resources, Storage & Folder resources on sub-account|
|Master Account & Child Account||√||√||X|
|Master Account & Sub-account||√||√||√|
|Child Account and Sub-account||√||√||√|
|Master Account, Child Account & Sub-account||√||√||√|
NOTE: All resources are displayed in the Resources List page in all accounts regardless of their visibility.
Change an asset/object type in FlexMAM
The Type field in Details tab is no longer read-only. It is possible to change an Asset/Object Type from the Details tab in the Summary Panel/Manage Page. This is available for any object that supports variants. When you click in the Type field, a dialog opens to select a new Type and a Metadata Schema for the new type. NOTE: If you change the type, the underlying metadata instance is replaced and ALL metadata values are removed from the asset. You cannot undo this operation.
Default column width can be set in templates
It is possible to specify table column widths when you create column templates in FlexMAM. This allows you to minimize the width of columns and improves control over use of space on the screen. In the Edit Template dialog, you can set the column width in pixels for each field used in the column template. The value must be larger than 0. If no value is set, a default value is assigned and the value of the column is set to Auto. Fields with a fixed width, are not editable and are displayed with the text Fixed. If you change the width of a column by dragging with the mouse, when you select a different template, the width of the column resets to the width configured for the template.
Arabic language support in FlexMAM UI
A right-to-left GUI has been implemented in FlexMAM. If you select a right-to left-language in the Profile panel, the GUI changes to a right-to left display. Some objects are always displayed in English, for example, user defined object names or Flex Enterprise error messages.
- Fixed JEF SDK Javadoc generation so that services and methods are not missing
- Authentication and Authorisation services: Owner ID added to all events that are published. This is the id of the owner of the object to which the event is related.
- Add support for dynamic repackaging of ABR multi-video stream Flex HLS proxies to MPEG DASH. Can repackage video only/audio only/audio+video. Video may have multiple renditions and audio may have multiple stream alternatives.
- Improved efficiency of checks for failed workflows for any Asset
- Added support of overriding the consul host using CONSUL_HOST environment variable
- Add support for dynamically repackaging a Flex HLS proxy to an MPEG DASH package
- Saving a metadata field of type “Asset” failed when the referenced asset was not located in the user’s default workspace. Flex now considers all of the user’s workspace memberships when saving these fields.
- Events are raised whenever a child object is added/removed to/from a UDO
- Error message that is displayed when making changes to a metadata instance that references a deleted object has been improved
- Added an optional Width field in gridConfiguration with a minimum positive value of 1, to fix the width of columns in a FlexMAM table. If set, any manual changes to the width of a column in FlexMAM will not be saved on a template load.
- Added an internal suggestions endpoint for filtering on Collection names. This will be used in an upcoming feature.
- Revised the way VFSLocation paths are fetched from the FlexResourceApiFacade cache to ensure that the correct path is received.
- Flex Enterprise Core application now detects and notifies the users if an asset or UDO metadata is being updated by two different users at the same time. The later attempt fails, and an error message is displayed.
- The Extract Technical Metadata plugin now supports Alibaba Cloud storage.
- Add metadata revision support to asset and UDO metadata REST API. The metadata instance revision is returned as an HTTP header when running a GET command.
- Asset and UDO metadata instance conflict prevention added to SDK metadata manipulation performed in FlexCORE or using scripts.
- The User Type parameter is now added to the User Added event to other user-related events. User Type. The events data is also used in the Flex Authentication Service.
- Service users creation event in the Flex Authentication service now creates a client credentials pair in the oauth_client_details table.
- User deletion events in Flex Authentication service now triggers the removal of any relevant rows in the oauth_client_details table.
- Added an SDK method to set a default workspace for a user.
- Flex Enterprise now accepts Authorization bearer tokens signed by either the Authorization signing key and the OAuth signing key, depending on the session type.
- Flex Enterprise now has more flexibility in deriving the user ID for Bearer token auth, by using an additional header, ActAsUseId, which acts as the identifier if the UserId header is missing.
- Added a Flex Authentication service endpoint to delete a specific user client entry based on UserId.
- Flex Authentication service endpoint now lists IDs, descriptions and last-used date and time for client entries registered for a given user, instead of the client ID and secret.
- Added enhanced token generation for user-related client ID/secrets, to populate the token with the following fields: userId, accountId, tenantId, username, email (blank for service users), firstName and lastName.
- Added support for special characters in taxonomy name, category and taxons
- Flex-Authentication service endpoint created to generate client ID/Secret pair for user
- Fixed issue where technical metadata replication failed for Quicktime assets
- Default behavior of enableUseLatestPluginVersion is set to true in LTS
- Vantage transcoding support removed from Enterprise due to discontinued SOAP integration support
- Removed ability to add comments on non-persisted variable instance
- Enterprise Import: support subpath for import
- Add JEF SDK context methods to get/set workflow object variables
Fixed Issues DaletFlex
- There was an issue that a user could not edit a metadata instance that they have rights for because they did not have edit rights to a different multi-option variable instance in the Metadata Definition (that they were not editing). Fixed the issue that was caused by incorrect handling of permissions for empty values in the schema.
- To prevent NullPointerExceptions in Enterprise Consul lookup, if a KV has a blank value, the default KV value is used.
- Fixed in an issue where a Baton Resource is in a failed State and cannot restart
- Fixed an issue where Flex JEF SDK fails to set Date parameters in an Assets Api Query because the date parameters were not being converted correctly
- Fixed an issue where Asset and Resource listing did not work if a secret is not found in flex-secrets-service.
- Fixed an issue where the hasField method of the JEF SDK throws exception when a field does not exist rather than returning a Boolean (False)
- Fixed an issue where the import button in the workflow definition screen is not working.
- The drop down selection field defined in a metadata definition used in a wizard was displaying assets that have already been purged from the system. This issue fixed the problem where a metadata asset list displays assets that have already been purged from the system.
- Fixed an issue where when editing the details of a Timed Action, it was not possible to save the changes due to this error: “Mandatory “Interval” field is missing”. The issue was solved by adding a hidden input field to pass the interval value whilst updating the JEF Timed Script.
- Fixed an issue where users were not disabled after multiple failed logins.
- Fixed an issue where metadata definitions with a multi-option field detected changes every time a new metadata definition version was saved.
- Fixed an issue where In/Out timestamps on WebVTT subtitles, converted from TTML, were reading as frames instead of milliseconds.
- Fixed an issue where In/Out timestamps on SRT subtitles, converted from TTML, were reading as frames instead of milliseconds.
- Feature toggle created to support legacy behavior that 23.97 and 59.94 were considered drop frame (videoStreamDropFrameNullIfNoTimecodeEnabled: default to true)
- Fixed an issue in the FlexXtend Adobe Panel that caused the environment dropdown icon to flicker when the Settings screen opens.
- Added missing Thesaurus service classes and external ID methods to JEF SDK
- Fixed issue where extract keyframes job is failing with an error “File does not exist”
- Added SDK method to get asset syndication
- Validation has been added to the preferredStartTimecodePolicy KV in Consul
- Fixed an issue where job history was not displayed in the job logs because jobs are not flex objects. The issue was solved by retrieving all events related to the job.
- Fixed an issue where a user that does not have permissions for a workspace but does have ACL access to assets that are children in a UDO could not see the assets. The issue was fixed by the system checking ACL permissions when a user does not have workspace permissions.
- A bug in Core REST API did not return the correct values for fileSize and compressionLevel. To solve this, changes have been made to ImageContext fileSize and compressionLevel.
- Fixed an issue where upload was failing because the date-time field could not be parsed. The issue was fixed by modifying the default data-processor used for date-time processing.
- Variable names in a Metadata Definition must be unique. More than one variable with the same name in a Metadata Definition is not allowed
- Fixed in an issue in Metadata Merge where the Key values are missing Key after updating the location of variables in a hierarchy of a metadata instance
- Fixed an issue where FlexStreamProcessor jobs were failing failing after upgrade to 9.1.10
- Tweaked FSP Transcode to reduce Job Slowness
- Fixed an issue where users could delete Complex Field instance even if they did not have the proper permission.
- Fixed an issue where jobs are running without failing or doing anything for a long time
- Fixed issue where proxies for QuickTime AVC files failed to create
- Duration added as a metadata column in templates for custom markers
- Names of languages in the Language drop down list are displayed as translated names and not in the language of the current UI.
- Hotkeys added: HOME to jump to the start of media/sequence and END to jump to the end of media/sequence. The hotkeys are available for the player in Summary Panel, Manage Page and Sequence Editor.
- Incorrect French translations corrected
- Right-to-left FlexMAM GUI implemented
- Possibility to set a default column width in the Edit Templates configuration dialog
- Minimum width of 50 px set for table columns. Non-fixed width columns can all be resized to the same minimum size of 50 px.
- Support changing an Asset/Object Type from the Details tab in the SummaryPanel/Manage Page
- Show gopStartTimecode in VideoStream Technical Metadata tab
- Sort keyframes by ascending/descending timecode on the Keyframe tab in the SummaryPanel/Manage Page.
Fixed Issues FlexMAM
- Fixed an issue in FlexMAM where using the Keyboard shortcut “Space” scrolls down the “Customer Maker” display page. Fixed by updating scroll bars in the Search app so they cannot be controlled by the keyboard.
- Fixed an issue where a group asset inside a group asset is not displayed
- Fixed an issue where the duration of a Spanned Clip asset was not displayed in the Assets Results table
- Fixed an issue where the animation would lag when dragging the playhead on the timeline.
- Fixed an issue where dragging an asset from the Collection items view page to a different collection fails because an invalid itemkey field being passed to the endpoint.
- Fixed an issue where the thesaurus field did not show “use” relationships.
- Fixed an issue where the Download button was only available after a clip was played
- Fixed an issue where image preview did not display if the account was not defined in the account setting.
- Fixed an issue where users were unable to jump to a 0 timecode keyframe
- Fixed an issue where when performing bulk edit metadata, existing values of complex child variables that are not modified are overwritten instead of merged
- Fixed an issue where the “magnifying glass” search field did not return results when searching a Boolean field value.
- Fixed an issue where a taxonomy value in the Results rable displayed two tooltips at the same time, one on the table cell and one on the chip.
- Fixed an issue where the Marker type drop down list was not displayed in the Marker tab when clicking in the Marker header column to filter Markers
- Subtitle asset added to standard supported FlexMAM set. This fix means that when selecting a UDO that contains a subtitle asset as a child, the asset and its children are always displayed correctly.
- Fixed an issue where sequence creation is failing for span Media Asset
- Fixed an issue where a collection was not being created because the variant did not have a metadata schema associated to it. To prevent creating a collection failing, the variant Id is not sent to the collection service if no metadata schema is required.
- Fixed an issue where Upload and Download icons were not available for assets, child assets and attachments in FlexMAM after assigning Upload/Download permissions using Group role permissions
List of Services upgraded between 2022.5.0 (LTS) and 2022.7.0
|arangodb_version: 3.1.5||arangodb_version: 3.1.7|
|consul_version: 0.3.6||consul_version: 0.4.6|
|elasticsearch_version: 2.3.1||elasticsearch_version: 2.5.2|
|hz_version: 1.1.8||hz_version: 1.2.5|
|mongo_version: 1.0.10||mongo_version: 1.1.2|
|rabbitmq_version: 0.4.0||rabbitmq_version: 0.5.3|
|redis_version: 0.3.2||redis_version: 0.4.2|
|redis_sentinel_version: 0.3.1||redis_sentinel_version: 0.3.3|
|registrator_version: 0.1.25||registrator_version: 0.2.0|
|flex_nginx_proxy_version: 0.4.20||flex_nginx_proxy_version: 0.4.24|
|flex_admin_app_version: 4.3.4||flex_admin_app_version: 4.3.11|
|flex_assettransfer_service_version: 1.8.15||flex_assettransfer_service_version: 1.8.28|
|flex_authentication_service_version: 15.0.27||flex_authentication_service_version: 17.4.12|
|flex_authorisation_service_version: 8.2.48||flex_authorisation_service_version: 8.2.82|
|flex_blackpearl_service_version: 3.3.27||flex_blackpearl_service_version: 3.3.58|
|lex_cm_version: 4.1.36||flex_cm_version: 4.2.8|
|flex_collection_service_version: 6.9.52||flex_collection_service_version: 6.10.12|
|flex_dataaggregation_service_version: 2.18.23||flex_dataaggregation_service_version: 2.18.55|
|flex_db_pruner_version: 3.2.12||flex_db_pruner_version: 3.2.18|
|flex_divarchive_service_version: 4.4.28||flex_divarchive_service_version: 4.4.59|
|flex_eventhandler_service_version: 2.7.4||flex_eventhandler_service_version: 2.8.31|
|flex_events_service_version: 7.3.26||flex_events_service_version: 7.4.35|
|flex_executionconfiguration_service_version: 2.4.83||flex_executionconfiguration_service_version: 2.7.15|
|flex_fastobject_service_version: 188.8.131.52||flex_fastobject_service_version: 14.6.31|
|flex_fileprocessor_service_version: 1.3.88||flex_fileprocessor_service_version: 1.4.26|
|flex_filereplication_service_version: 1.2.67||flex_filereplication_service_version: 1.3.20|
|flex_filescan_service_version: 1.1.75||flex_filescan_service_version: 1.2.24|
|flex_forms_service_version: 2.0.25||flex_forms_service_version: 2.1.19|
|flex_hotfolder_service_version: 3.5.0||flex_hotfolder_service_version: 3.5.33|
|flex_imageproxy_service_version: 5.2.83||flex_imageproxy_service_version: 5.3.23|
|flex_indexelastic_service_version: 13.15.1||flex_indexelastic_service_version: 13.16.4|
|flex_job_version: 2022.5.0||flex_job_version: 2022.7.0|
|flex_jobasyncexecutor_service_version: 8.1.44||flex_jobasyncexecutor_service_version: 8.3.27|
|flex_jobengine_service_version: 5.3.20||flex_jobengine_service_version: 5.4.25|
|flex_jobexecutionmanager_service_version: 3.1.79||flex_jobexecutionmanager_service_version: 3.2.23|
|flex_jobremoteengine_service_version: 3.3.23||flex_jobremoteengine_service_version: 3.4.28|
|flex_login_app_version: 5.15.6||flex_login_app_version: 5.18.33|
|flex_master_version: 2022.5.0||flex_master_version: 2022.7.0|
|flex_metadatadesigner_app_version: 5.4.25||flex_metadatadesigner_app_version: 5.5.15|
|flex_metadatamerge_service_version: 5.3.29||flex_metadatamerge_service_version: 5.4.30|
|flex_metadata_service_version: 8.0.10||flex_metadata_service_version: 9.0.24|
|flex_publish_service_version: 184.108.40.206||flex_publish_service_version: 13.9.32|
|flex_publishindexer_service_version: 6.8.4||flex_publishindexer_service_version: 6.9.32|
|flex_registry_service_version: 6.3.22||flex_registry_service_version: 6.4.24|
|flex_replicationgateway_service_version: 4.4.9||flex_replicationgateway_service_version: 4.5.25|
|flex_reviewer_app_version: 5.6.12||flex_reviewer_app_version: 5.7.20|
|flex_searchelastic_service_version: 14.11.8||flex_searchelastic_service_version: 14.12.2|
|flex_secrets_service_version: 4.1.74||flex_secrets_service_version: 4.2.27|
|flex_sequencemanifest_service_version: 0.2.45||flex_sequencemanifest_service_version: 0.3.24|
|flex_streamprocessor_service_version: 9.1.0||flex_streamprocessor_service_version: 9.1.21|
|flex_tag_service_version: 8.2.75||flex_tag_service_version: 8.3.31|
|flex_taxonomy_service_version: 4.0.47||flex_taxonomy_service_version: 4.1.30|
|flex_thesaurus_service_version: 3.5.25||flex_thesaurus_service_version: 3.6.25|
|flex_videoproxy_service_version: 1.2.78||flex_videoproxy_service_version: 1.5.0|
|flex_webtransfer_app_version: 10.4.31||flex_webtransfer_app_version: 10.5.30|
|flex_workflowdesigner_app_version: 9.4.1||flex_workflowdesigner_app_version: 9.4.28|
|flex_writeobject_service_version: 5.5.11||flex_writeobject_service_version: 5.6.30|
|flex_operationsdashboard_app_version: 3.3.22||flex_operationsdashboard_app_version: 3.4.32|
|flex_panels_app_version: 5.3.20||flex_panels_app_version: 5.4.30|
|flex_xtendadobepanel_app_version: 1.3.36||flex_xtendadobepanel_app_version: 1.4.32|
|flex_xtendamepanel_app_version: 1.3.26||flex_xtendamepanel_app_version: 1.4.30|
|flex_fmp_app_version: 4.2.59||flex_fmp_app_version: 4.3.7|
|flex_fmpadmin_app_version: 1.0.157||flex_fmpadmin_app_version: 1.1.20|
|flex_globalheader_app_version: 3.2.133||flex_globalheader_app_version: 3.3.29|
|flex_search_app_version: 4.0.439.1||flex_search_app_version: 220.127.116.11|
|flex_usersettings_service_version: 1.7.53||flex_usersettings_service_version: 1.9.12|