# Core Engine Release 4.2
November 2023
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
# Administrator News Board
4ALLPORTAL news, helpful links and tips relevant for administrators are now displayed directly on the snap-in overview pages of the administration area.
# Maintenance Mode: Move and Automatic Restart
We moved the maintenance mode to admin snap-in System settings/Maintenance
. After activating it, the system now restarts automatically.
# Object Image Service Improvements
For the object image configuration and the download profile configuration, we now also support multiple watermarks and parameter metadata
to set the EXIF or XMP metadata in a download file.
# Additional Improvements
- Login screen: We now hide action "Reset password" for all providers other than the default username-password-provider.
- Tooltips: We added tooltips for download profiles in the quick download pop-up
- Error messages: We improved the error handling so error messages are more informative now.
# Technical Changes & Admin Instructions
# API News
- Use new API in frontend for object create/edit
- Use new API in frontend for object delete
- Use new API in frontend for relation set/relation delete
- We added object link(s) support to update relationships
# Upgrade Script for Layout Migration from Version 3
An automatic upgrade tool helps to migrate custom layouts from version 3.x to 4.2 or higher. In version 4.0, we made name changes in layout actors, components, and parameters that must be applied to custom layouts to keep them working (4.0 release note). This script checks all custom layouts and layout changes and automatically updates the following:
- renaming of components and actors (e.g.
polymer-list
is now calledcm4ap-buffered-list
) - renaming of parameters (e.g. for lists
factory
is now calleditemRenderer
) - renaming of parameter values (e.g. for a ListItemRenderer,
components.lists.DefaultBaseBeanTileListItemRenderer
is replaced withcm4ap-default-base-bean-tile-list-item-renderer
) - removing of type prefixes of components and actors (e.g.,
com.cm4ap.ce.global.CEPidTreeActor
is now calledCEPidTreeActor
)
Please note: This tool does not consider custom apps. They need to be checked manually.
Multiple Changes: This tool will not check for and update multiple changes, which we support from version 4.0. This needs to be checked manually (4.0 release note).
# New Selection Renderer Attribute
We added new attribute multiple_value
for visual type dropdown
(more details).
# New PID Actions: Dropping, Create Parent, Delete
We added four new actions for the handling of objects in a PID tree: pid_tree-link_external
and pid_tree-link_internal
enable the dropping of elements into a PID tree (external) and the dropping of elements within a tree (internal). Frontend actions pid_tree-create_parent
and pid_tree-delete_recursively
display as tree actions. They allow to create a parent object and to delete a complete branch (including children).
All four actions can be configured in a PID layout. pid_tree-link_internal
, pid_tree-create_parent
and pid_tree-delete_recursively
are already activated and configured by default. For all details and to configure pid_tree-link_external
, refer to this guide.
# Additional Technical Changes
- Allow changing a field type in a preset field renderer by setting the necessary field type in the preset XML configuration
permission/field_renderer/field/type
- Convert the CEMap property to CEVarcharList by writing an array of map entries, where an array element is a "key=value" string
- Adjust the order of
@ControllerAdvice
so that apps can add their own error handlers with e.g.@Order(Ordered.HIGHEST_PRECEDENCE + 1000)
- Prevent unnecessary requests after a dimension change
- Add support for parameter
fileFormat
(required e.g. for the DAM image editing) - Image renderer: We added attribute "show_alpha" for object images to the image renderer
# Solved Bugs
- Fix reference renderer so a double click on a chip now opens its detail view
- Fix too high search result in complex searches (we use distinct id for count now)
- Fix support for instructions (e.g. LIST_ADD, LIST_REMOVE) to update the virtual relationships
- Fix wrong position of the close button on "Not available" bubble
- Fix useless null values in reference renderer
- Fix showing not usable modules in the mega menu during maintenance mode. They are not displayed anymore.
- Fix module menu which was empty under some circumstances
- Fix field renderer specification "disabled", which was not supported properly
- Fix the not working decoding color of the preview and watermark configuration
- Fix the not working padding to place watermarks
- Fix the not working import of bitmap colorspace
- Fix not working "defaultSortField" for subpanels
- Skip adding a prefix for files in the application directory when building the runtime
- Fix missing information about required password length for system registrations
- Fix the not working dragging of text from outside the 4ALLPORTAL into the 4ALLPORTAL
- Fix show compare action buttons in object comparison view
- Fix missing tooltip on mass update checkbox "set null"
- Fix the display of long radio button labels in selection renderers
- Fix selection renderer specification "single_value" for visual type "radio", which allowed to select more than one value
- Fix metadata renderer in create view, which displayed the groups of a renderer horizontally instead of vertically
- Fix display issues of object renderers which did not load list entries under some circumstances
- Fix erroneous behavior when sending e-mails with e-mail configuration parameter "ReplyTo" set to "true"
- Fix writing the header field of the webhook module
- Fix automatically set parent to not deleted when deleting a parent with existing children in a PID tree. Now the parent element is also deleted.
- Fix unexpected DatePopup closing in current Safari version
- Fix the naming behaviour of pid_tree elements, so you can now use a space when entering multiple words
- Fix entering a custom value in the ComboBox
# How to Get These Improvements
- Upgrade 4App Core Engine to version 4.2
- No licensing required
# Patch releases
# Version 4.2.1
- Log an error message instead of thrown an exception when an object renderer subtype or type was not supported
- Fix display of assigned view profiles in role configuration
- Fix generating custom object renderer sets from presets
<module>.renderer.(simple|subpanel)_<renderer-name>
- Fix error after saving saved search
- Fix validation
not_null=false
with regex validation - Fix overflow of autocomplete bubbles
- Fix sending wrong
rendererName
parameter in eTicket - Fix concurrently modification errors during request jobs execution
- Fix security vulnerabilities
- Fix slow verification of additional permissions when permission is restricted by user and role
- Fix the slider display in the comparison view
- Fix - avoid that deleted data records are included in search queries
- Fix upgrading object renderers and layouts from 4ALLPORTAL:3.10
- Add new status
FINAL_SUCCESS_DO_RESTART
to the update scripts, which will restart 4ALLPORTAL after the current update has been successfully completed - Fix stuck generating renderer and layout sets during migration (update script 117.IT)
- Fix unexpected "save changes" popup in role configuration
- Fix comparing date values