# Core Engine Release 4.3
February 2024
We upgraded! What's new? Learn more about new features, technical changes and solved bugs in 4App Core Engine.
Note on upgrading: If you skip a version when upgrading, check all release and patch notes in between for important information. They apply cumulative.
Note on individualization: If your 4ALLPORTAL is highly customized or if you installed individual apps, please contact your implementation partner before upgrading. We recommend checking your custom contents, especially layouts and object renderers, carefully after an upgrade.
# New Features and Improvements
# Accessibility: Keyboard Compatibility
The 4ALLPORTAL is now usable with the keyboard only: Users can access and select elements such as panels, buttons, fields, or forms using the Tab key. The current focus is highlighted with a frame, starting in the upper left corner. The Tab or Shift + Tab keys move the focus to the next or previous element. The Enter or Space keys select/activate the highlighted element. The arrow keys can be used to move the focus within drop-down menus.
Exception: Freehand actions such as cropping or setting markups cannot be supported. Please note: By default, the frame to highlight the focus uses the primary color of the active theme.
# Accessibility: Resize Text
Users can now increase text and controls in the 4ALLPORTAL by up to 200 percent without losing content or usability. Foldable menus are automatically minimized after a certain size to focus on the main view. Views with a lot of information (such as lists) can be scrolled vertically and horizontally. Pop-up-windows are enlarged as a whole.
# Additional Improvements
- Icons: All icons now have an enlarged click area around them proportionate to their size, which helps to click even small icons.
- Open in new tab: We added HTML links in some places, e.g. object references, which allow targets to be opened in a new tab (CTRL/CMD + click).
- Friendly name: The friendly names of objects (e.g. the name of a collection) are now loaded reliably, even if a user has no access rights to other fields of this module (access right "only friendly name").
# Technical Changes & Admin Instructions
# Permissions for module_access "Yes" Extended
If a role has full access to a module (module_access = "yes"), the friendly name of its objects will now always be loaded, even if the "read" permission was set to "no" or "only own". So module_access = "yes" now has the same rights as module_access "only friendly name".
Possible impact: If a user has module access but no read permission, they can now still access the friendly name of all objects in that module.
What to do: Please check if the friendly name of a module contains potentially sensitive data. A user could query this data as long as they know the exact ID of an object.
# API: Operations API Response Object
We changed the operations API response object, which did not work properly in all cases.
What to do: If you have one of the operation classes extending the OperationBase.class
and use additional properties that need to respond to the frontend, you should override method protected <T extends OperationBaseApi> @NonNull T convertToApi(@NonNull T target)
and add your properties to the target map, e.g. target.put("yourProperty", getYourProperty())
.
# Additional Technical Changes
- Request priority: We have added a priority for request jobs (higher priority will be executed first). 4ALLPORTAL users who have logged in via the GUI will automatically get a higher priority for their request jobs.
- Permissions: We have added an advanced permission resolver to support the output of inaccessible fields (e.g. to ensure that every friendly name is loaded for permission "only friendly name" without errors).
- Update Scripts: We have added new status
FINAL_SUCCESS_DO_RESTART
, which automatically restarts the 4ALLPORTAL after the current update has been successfully completed. - API: We restricted method PATCH
/api/modules/{module}/objects
to only 15.000 ModuleObjects. This avoids very long database table locks. - API: We now allow to set API key by Java option
system.api.key
or environment variableSYSTEM_API_KEY
- Sync connector: Changes to a sync connector take effect immediately. It is no longer necessary to reload the 4ALLPORTAL.
- Full text fields such as
index
andindex_re
are now automatically added when the reference index is configured.
# Solved Bugs
- Fix errors caused by saving a friendly name too long for the database field. Generated friendly names are shortened now, if required.
- Fix problems caused by long table locks by changing API method PATCH
/api/modules/{module}/objects
- Fix duplicate toast after creating a saved search filter
- Fix missing marking option for module rows in the role permission configuration
- Fix errors occurring when concurrently changing the rank field (
_rank
) - Fix the not working module permission "only friendly name" (
friendlyname
) for API requests - Fix including deleted data records in search queries. They are not included anymore.
- Fix sometimes duplicate session expired popup
- Fix overlapping menu over session expired popup
- Fix label translations via right-click menu, so only edited translations will be saved. This avoids e.g. saving empty label translations.
- Fix unexpected navigation when resizing the browser window
- Fix unexpected missing translation logs for admin news board
- Fix wrong
visual_type
fallback for selection renderers - Fix the not working websocket fallback to long polling. The response was no longer chunked because a filter had consumed it.
- Fix metric renderer style for read-only values
- Fix unexpected error log message: The renderer
file:simple/clean_database
could not be found - Fix sporadic errors in the main view search renderer when searching via ObjectSelection
- Fix not showing "not available" information for objects with module_access=no
- Fix updating the ranking fields
- Fix issue with full-text search when a search text contains an
@
character
# How to Get These Improvements
- Upgrade 4App Core Engine to version 4.3
- No licensing required
# Patch releases
# Version 4.3.1
- Fix some video files failing with the message "Too many packets buffered for output stream"