Universal Messenger 7.52.0 (EN)
Release 7.52.0 Build 1870 was released in June 2023. This release includes:
Service Desk App
Functional improvements and bug fixes
Improvements in UM query language: REFERENCED … MATCHES; duplicateEmail()
Update of various components
Optimization of the internal data model (update of the database schema, DB backup strongly recommended!)
Support for Java 8 and 9 will be discontinued as of Release UM 7.53
Preparations before starting the update
Several database schema adjustments are made when updating to UM Release 7.52.
It is therefore strongly recommended to create a complete database backup before running the installer. Furthermore, the update process should - as far as possible - be tested beforehand in a test or staging system with a comparable configuration.
Service Desk App
As of Release 7.52, the Service Desk App is always installed automatically. Without a separately available Service Desk license, only a limited range of functions is available here. In particular, the App can be used to visualize incoming e-mails.
The Service Desk App is automatically activated in new installations; in existing installations, however, it must or can be activated by making the appropriate adjustments in the configuration files.
Activation in an existing installation
In an existing installation, the attribute configuration must be extended. For this the following line must be appended to the end of the cmsbs-conf/additional.attributes
file:
include: @de.pinuts.servicedesk/servicedesk.attributes
In addition, the installation must meet the following conditions:
The login mode (configuration variable
cmsbs.gui.login
) must be set tointernal
or betterdefault
.Entry types must be configured and active.
The attribute `email `must not be set to globally unique. Recommended setting in
cmsbs-conf/additional.attributes
:email.isUnique = false isUnique = email entrytype
A mail inbox should be set up so that incoming emails can flow into the Service Desk App (see Bounce management configuration).
Updating an existing installation with Service Desk
When updating an existing installation with Service Desk already installed, the following steps are required:
Adjusting the include statement in the file
cmsbs-conf/additional.attributes
:
old:include: cmsbs-conf/cse/plugins/de.pinuts.servicedesk/servicedesk.attributes
new:include: @de.pinuts.servicedesk/servicedesk.attributes
Delete old plugin directories:
cmsbs-conf/cse/plugins/de.pinuts.servicedesk
cmsbs-conf/cse/plugins/de.pinuts.servicedeskform
Adjust admin roles
Existing admin roles may need to be modified to make the Service Desk menu items visible. Example:
gui.areas[] = AddOn.de.pinuts.servicedesk
# Enable certain features:
area.AddOn.de.pinuts.servicedesk.ViewTicket = true
area.AddOn.de.pinuts.servicedesk.DeleteTicket = true
# ... (see manual "Service Desk App")
Configure backoffice URL
The configuration variable cmsbs.mail.guiUrl
in the global configuration file cmsbs-conf/cmsbs.properties
must contain the URL of the UM backoffice so that outgoing notification emails with working deep links to individual tickets can be sent to Service Desk users. Example:
Functional improvements
The History log now also records when an Entry has been edited. The OID, UID and e-mail address of the Entry and the name of the backoffice user or job that caused the change are stored here.
For bounce tracking, the name of the detection rule that led to the classification as a hard or soft bounce or autoresponse is now stored:
Query language
REFERENCED <ref-attr> MATCHES ( <sub-query> )
This new query construct allows to query the properties of an Entry "linked" by a REFERENCE attribute within the scope of a sub-query.
Example:
This query returns all Entries of type sd_ticket (i.e. Service Desk tickets) that have the status new and whose reference attribute sd_assigned_user_oid points to an Entry whose first name is John and whose last name is Doe.
duplicateEmail()
The query predicate duplicateEmail()
allows searching for Entries whose email address (in the email attribute) is assigned to at least one other Entry.
duplicateAttribute(<attrname>)
This new query predicate represents the generalization of duplicateEmail()
: it allows searching for duplicate values for any primary attributes such as first name, last name, etc.
Example:
Returns all Entries that do not have a unique last name.
Core Scripting Engine
Callback on deletion of plugin instances
It is now possible to register callbacks that are executed directly before a Plugin instance is deleted:
Entry.toSeedJSON()
The Entry class has been extended by the .toSeedJSON()
method, which returns a JSON representation of the Entry. This JSON representation can be used together with the Seed plugin (version 1.2.0 and newer) to create - e.g. in a development or test environment - the respective Entry automatically.
First Level Cache
The integrated first level cache for Entries now has a limited capacity, which is allocated according to LRU principle. This should now make explicit emptying of this cache via UM.test.emptyEntryCache()
(e.g. when interacting or paginating large numbers of Entries) unnecessary.
The maximum size of the cache (per thread) can be adjusted via configuration option if necessary:
Bug fixes
When exporting and importing segments, the query qualifier is now also taken into account.
In the System / additional.attributes view, the automatically included configuration files from the cmsbs-conf/conf.d/
directory are now also taken into account.
An error in the calculation of the target segment size when sending newsletters manually has been corrected.
Update of various components
Device Detector (User Agent detection for Newsletter Tracking): Update to version as of 2/16/2023
Apache FOP 2.8
Apache Tika 1.28.5
Support for Java 8 and 9 will be discontinued as of Release UM 7.53
As of Release 7.53, Java 11 or 17 will be required to run Universal Messenger.
Java 8 or 9 will then no longer be supported.
Note: Officially, only Java versions designated as Long Term Support (LTS) are supported.