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 to internal or better default.

  • 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

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.