Release v6.14.0 (2024-10-31)

Published 2024-10-31 16:07:18Z

Server

New

  • Plugin Custom Mapping: Plugins can publish custom mapping to be used in fylr's metadata mapping (/api/eas, /api/xmlmapping, /api/collection). Plugins can dynamically add source fields to import profiles retrieved by /api/xmlmapping. Recipes got a displayname field. Make sure to only execute each metadata recipe once. [bf2e8d6d] [f71f0ade] [9af237b26]

  • Metadata Request Only: Metadata mapping can be performed on request only. Before all metadata mapping was performed upon file upload and couldn't be postponed to later processing. This approach proved unsuitable for AI produced metadata which usually takes a few seconds to process. With this new flag metadata_request_only, produce configs can be set to produce particular metadata only on request.

  • JSON in import mappings: Metadata mapping can use JSON based selectors to map metadata to objects. Before we only supported Xpath for that.

  • ChatGPT Plugin: A new ChatGPT plugin is available as Beta for interested parties. Please contact support@programmfabrik.de for more information. The plugin allows to create custom ChatGPT questions and map that dynamically to your metadata.

  • /inspect/files: A new action check filesum allows to check the checksum of migrated files. We use the file reference to perform this check. easydb5 and fylr sources are supported of fylr restore was used. The action calculates the checksum of the local stored copy of the file with the checksum of the file in the source system. [621f7d8b]

  • Base config: New setting to show "forgot password" on the login page. Existing instances are migrated to set this to on (like it was before). [99eceedc]

  • /api/export: New parameter include_parents: With this full parents are rendered into JSON and XML outputs. [f1c4b308]

  • /api/export|db: Render _level in objects if path api has no read but the object type is a hierarchy. [f1c4b308]

Improved

  • fylr backup / restore: Support for collection pin code and other minor improvements. [86a742e9] [4a7cd6c5]

  • /inspect/files: Show metadata JSON on the file detail page. Also, allow searching for a specific file id by prefixing the search with id: [f71f0ade] [5ae60b2c]

  • /inspect/migration: Add support for --insecure parameter. [b9372715]

  • Web server: The fylr web server can be configured to also serve request to the /api endpoints. Before this was routed through a reverse proxy configuration from the web server to the internal api server. The config directive fylr.services.webapp.reverseProxy.api sets the address of the internal api server. It can now be set to bind letting the web server serve /api directly. This is in addition to the internal api server which is still needed to answer requests from the exec server. This change result in a 7-10% performance in some tests we did. It also fixes issues we saw with the reverse proxy on Windows not answering all requests when accessed with many parallel requests. In such cases, the web server would answer with http status 502 Bad Gateway. The setting bind is the new default in fylr.default.yml. [bee8a477] [7421e4d6]

  • Database: Support for Postgres 17. [09387925]

  • File renditions: Set default JPEG quality to 80 (was 92). The lower quality results in much smaller files and is now the same as it was in easydb 5 [9de7ee78]

  • Startup: Improved logging at startup, wait for servers to actually bind to the TCP port. Output welcome message even if the log level is above info. [58ff922c] [f6b07794]

  • /api/config: Improved unique check for xslt prefixes. Skips "". [3cd3132c] [f2923a97]

  • OAUTH password flow: Support for ldap user logins. [d9d17d6a]

  • Lookup: Lookups now support multiple language selection. So now, you can select data with multiple languages set. This can be used to exactly find a linked object during metadata mapping. The LoadContext got a new field SkipFoundTooMany. This tells the lookup code to pick the first match if there is more than one. This is the new behavior during metadata mapping. So, if a value is matched multiple times, the first one (sorted by _system_object_id ascending) is used without an error message. [71f0adeb]

  • /api/xmlmapping: New attribute for fields: name. The name is used to update definitions from more curren t versions of a profile. [f71f0ade]

  • /inspect/customdata: When manually running the Custom Data Type Updater, only run records from the current page, acknowledging limit and offset. This helps when debugging long running updates. [a13cc517]

  • /api/suggest: Use tokens_mode when searching linked objects with linked_objecttypes. Before this, the suggest search was not adding any wildcards to the underlying linked object search making it not very useful. [84e8c2f94]

  • S3 storage: Added a maximum number of retries of 10 using the new AWS-SDK (v2) which provides an improved retry strategy. [8d25a764]

  • Base config: Allow jpeg (and not just jpg) for logo and background uploads. [2ccb7763]

  • Custom Data Type Updater: Support batch sizes greater than 100 (new limit is 1000). Also, generation of custom data identifiers is now more predictable as new entries are sorted by UUID. [741374fb]

Fixed

  • /api/collection: Do not store _count when received via POST. The API would store the _count information as received from the client possibly not reflecting the actual object count of the collection. This led to wrong count values after fylr restore where the _count was double after import. [e1316d16]

  • Locking: Fixed subtle bugs in our locking code which could lead to out-of-sync indexed documents. [7421e4d6]

  • Hotfolder: When importing via hotfolder we now import JPG files after a file with the same name and different extension was imported. By doing that we have a improved way of handling RAW files which are imported alongside with a JPG file better. Also in this patch, when merging nested entries which do not contain a file id, we now append the nested entry found to the existing nested. With this, mapping the filetypes or other info from a RAW + JPG import into one nested is supported. [34063ae1]

  • Startup: Plugin dependency fix at loading time has been fixed. This patch skips disabled plugins when checking their dependencies avoiding a wrong warning. [9c1b5e73]

  • /api/db: Fixed updating custom data type columns in group mode (if nothing else was changed). This broke in 6.13.0 when we introduced skipping of unchanged objects in group mode. [fed3c9a9]

  • /api/export: When exporting an CSV where no requested field provided data for a CSV column, the export would fail. Now fylr produces an empty CSV with a column instead. [5d58577a]

Frontend

New

  • Nested Tables Popup Editor: Added a new popup editor for nested tables, allowing configuration to display a set of summary fields and an edit button. Pressing the edit button opens a popover with all editable fields for the nested row. The configuration of this new mode and the summary fields is managed via custom mask settings. This new way of visualizing nested tables allows for a much more compact organization in objects with very complex nested tables.

  • Polyhierarchies: Implemented multi-parent field support for group editor operations, starting with the "replace all" feature, with more options ready for future updates.

  • Metadata Mapping: Added compatibility for field names as unique identifiers without _id while preserving backward compatibility.

  • Export Manager: Enabled parent information inclusion in XML exports, providing extended options for data structure visibility.

  • Search Replace: Introduced a new DOM layout for group editor "search and replace" mode in nested fields, including UI adjustments to distinguish replace icons from editing options.

Improved

  • Produce Config: Introduced display name support for metadata recipes. Now, recipes display even without extensions, hide parameters if none exist, and include a checkbox for metadata_request_only.

  • Asset Browser: Enhanced image handling with validation checks for image formats to prevent unsupported formats like EPS from being shown as broken images in the asset browser.

  • User Search: Optimized search to support wildcard-only queries, resolving a previous error that prevented this functionality.

  • Root Menu: Ensured consistent rendering on the left edge of the app window, improving accessibility, especially in low-network conditions.

  • Nested Popup Fields: Implemented an internal property to manage and display summary fields only when necessary, preventing empty fields from being shown helping custom mask splitters implementation.

  • Fylr EAS Info: Updated to show EAS ID as a link, allowing root users quick access to the inspect files endpoint.

Fixed

  • Custom mask splitter detail linked: The rendering of object references has been improved and fixed. An issue has been resolved where not all linked elements were being rendered.

  • Produce Config: Resolved issue with metadata recipes displaying under incorrect classes, such as pdf2text on audio files. Extensions for metadata recipes are now verified and applied correctly.

  • Nested Table Validation: Addressed issues with server validation errors in nested tables, including row-specific validations in nested popups to prevent excessive validation.

  • Asset Browser Info: Corrected undefined text issues in the info panel when encountering failed asset versions, ensuring accurate display of version lists.

  • Editor Modal New: Fixed mask verification in the user's preferences, ensuring correct selection of the saved mask and default fallback options.

  • Pool Manager: Resolved memory leak issues within the Pool Manager by cleaning up EventPoller references, preventing unexpected behaviors during pool changes.

  • Nested Popup Editor: Fixed restore behavior for cancelled nested popups to prevent residual data from impacting subsequent popup usage.

  • Pdf Creator: A bug has been fixed where attempting to render a PDF with many images would result in only the first images being rendered.

Last updated