Universal Messenger 7.52.0

Das Release 7.52.0 Build 1870 wurde im Juni 2023 veröffentlicht. Dieses Release umfasst:

  • Service Desk App

  • Funktionserweiterungen und Fehlerkorrekturen

  • Erweiterung der Abfragesprache: REFERENCED … MATCHES; duplicateEmail()

  • Updates diverser Bibliotheken

  • Optimierung des internen Datenmodells (Update des Datenbankschemas, DB-Backup dringend empfohlen!)

  • Einstellung Unterstützung für Java 8 und 9 ab Release UM 7.53

Vorbereitungen vor Beginn des Updates

Beim Update auf UM-Release 7.52 werden mehrere Datenbankschemaanpassungen durchgeführt.

Es wird daher dringend empfohlen, vor der Ausführung des Installers ein vollständiges Datenbankbackup zu erstellen. Darüber hinaus sollte der Updatevorgang – soweit möglich – zuvor in einem Test- oder Stagingsystem mit vergleichbarer Konfiguration getestet werden.

Service Desk App

Ab Release 7.52 wird die Service Desk App immer automatisch mitinstalliert. Ohne eine separat erhältliche Service Desk-Lizenz steht hier nur ein eingeschränkter Funktionsumfang zur Verfügung. So kann die App insbesondere zur komfortablen Bearbeitung eingehender E-Mails verwendet werden.

Die Service Desk App wird nur bei Neuinstallationen automatisch aktiviert; in Bestandsinstallationen muss bzw. kann sie aber durch entsprechende Anpassungen in den Konfigurationsdateien aktiviert werden.

Aktivierung in einer Bestandsinstallation

In einer Bestandsinstallation muss zunächst die Attributkonfiguration erweitert werden. Dazu muss die folgende Zeile an das Ende der Datei cmsbs-conf/additional.attributes angehängt werden:

include: @de.pinuts.servicedesk/servicedesk.attributes

Zusätzlich muss die Installation folgende Bedingungen erfüllen:

  • Der Login-Modus (Konfigurationsvariable cmsbs.gui.login) muss auf internal oder besser default stehen.

  • Entry-Types müssen konfiguriert und aktiv sein.

  • Das Attribut email darf nicht auf global eindeutig gesetzt sein. Empfohlene Einstellung in cmsbs-conf/additional.attributes:

    email.isUnique = false isUnique = email entrytype
  • Ein Eingangspostfach sollte eingerichtet sein, damit eingehende E-Mails in die Service Desk App einfließen können (siehe Konfiguration des Bounce Management).

Update einer Bestandsinstallation mit Service Desk

Beim Update einer Bestandsinstallation mit bereits installiertem Service Desk ist die folgende Anpassung erforderlich:

  • Anpassen des include-Statements in der Datei cmsbs-conf/additional.attributes:
    Alt:
    include: cmsbs-conf/cse/plugins/de.pinuts.servicedesk/servicedesk.attributes
    Neu:
    include: @de.pinuts.servicedesk/servicedesk.attributes

  • Löschen der alten Plugin-Verzeichnisse:

    • cmsbs-conf/cse/plugins/de.pinuts.servicedesk

    • cmsbs-conf/cse/plugins/de.pinuts.servicedeskform

Admin-Rollen anpassen

Ggf. müssen vorhandene Admin-Rollen angepasst werden, um die Menüeinträge des Service Desk sichtbar zu machen. Beispiel:

gui.areas[] = AddOn.de.pinuts.servicedesk # Einzelne Features: area.AddOn.de.pinuts.servicedesk.ViewTicket = true area.AddOn.de.pinuts.servicedesk.DeleteTicket = true # ... (siehe Handbuch "Service Desk App")

Backoffice-URL konfigurieren

Die Konfigurationsvariable cmsbs.mail.guiUrl in der globalen Konfigurationsdatei cmsbs-conf/cmsbs.properties muss die URL des UM-Backoffice enthalten, damit ausgehende Benachrichtigungs-E-Mails an die Nutzerinnen und Nutzer des Service Desk mit funktionieren Deep-Links auf einzelne Tickets versendet werden können. Beispiel:

Funktionserweiterungen

Im History-Log wird nun auch protokolliert, wenn ein Eintrag bearbeitet wurde. Gespeichert werden hier OID, UID und E-Mail-Adresse des Eintrags und der Name des Backoffice-Users bzw. Jobs, durch den die Änderung hervorgerufen wurde.

Beim Bouncetracking wird nun der Name der Erkennungsregel gespeichert, der zur Einordnung als Hard- oder Softbounce bzw. Autoresponse geführt hat:

Abfragesprache

REFERENCED <ref-attr> MATCHES ( <sub-query> )

Dieses neue Abfragekonstrukt ermöglicht es, die Eigenschaften eines per REFERENCE-Attribut "verlinkten" Eintrags im Rahmen eines Sub-Querys abzufragen.

Beispiel:

Diese Abfrage liefert alle Einträge vom Typ sd_ticket (also Service Desk-Tickets), die den Status new haben und deren Referenzattribut sd_assigned_user_oid auf einen Eintrag zeigt, dessen Vorname John und dessen Nachname Doe lautet.

duplicateEmail()

Das neue Abfrageprädikat duplicateEmail() erlaubt die Suche nach Einträgen, deren E-Mail-Adresse (im Attribut email) noch mindestens einem weiteren Eintrag zugewiesen ist.

duplicateAttribute(<attrname>)

Dieses neue Abfrageprädikat stellt die Verallgemeinerung von duplicateEmail() dar: es erlaubt die Suche nach doppelten Werten für beliebige Primärattribute wie z.B. Vorname, Nachname usw.

Beispiel:

Liefert alle Einträge, die keinen eindeutigen Nachnamen haben.

inChannelWithTag(<tagname>)

Dieses neue Abfrageprädikat stellt eine Abwandlung von inChannel(<channelname>) dar: es erlaubt die Suche nach Einträgen, die mindestens einer Liste mit entsprechendem Semantiktag zugeordnet sind.

Beispiel:

Liefert alle Einträge, die mindestens einer Liste zugeordnet sind, welche den Semantiktag “test” trägt.

notInChannelWithTag(<tagname>)

Dieses neue Abfrageprädikat stellt die Negierung von notInChannelWithTag(<tagname>) dar: es erlaubt die Suche nach Einträgen, die keiner Liste mit entsprechendem Semantiktag zugeordnet sind.

Beispiel:

Liefert alle Einträge, die keiner Liste zugeordnet sind, welche den Semantiktag “test” trägt.

Core Scripting Engine

Callback beim Löschen von Plugin-Instanzen

Es können nun Callbacks registriert werden, die direkt vor dem Löschen einer Plugininstanz ausgeführt werden:

Entry.toSeedJSON()

Die Klasse Entry wurde um die Methode .toSeedJSON() erweitert, die eine JSON-Repräsentation des Eintrags zurück liefert. Diese JSON-Repräsentation kann zusammen mit dem Seed-Plugin (ab Version 1.2.0) verwendet werden, um – z.B. in einer Entwicklungs- oder Testumgebung – den betr. Eintrag automatisiert anzulegen.

First Level Cache

Der integrierte First Level Cache für Einträge hat nun eine beschränkte Kapazität, die nach LRU-Prinzip vergeben wird. Damit sollte nun das explizite Leeren dieses Caches per UM.test.emptyEntryCache() (z.B. beim Interieren oder Paginieren großer Mengen von Einträgen) überflüssig werden.

Die maximale Größe des Caches (pro Thread) kann ggf. per Konfigurationsoption angepasst werden:

Fehlerkorrekturen

Beim Export und Import von Segmenten wird nun auch der Query Qualifier berücksichtigt.

In der Ansicht System / additional.attributes werden nun auch automatisch inkludierte Konfigurationsdateien aus dem Verzeichnis cmsbs-conf/conf.d/ berücksichtigt.

Ein Fehler bei der Berechnung der Zielsegmentgröße beim manuellen Newsletterversand wurde korrigiert.

Updates diverser Bibliotheken

Einstellung Unterstützung für Java 8 und 9 ab Release UM 7.53

Ab Release 7.53 wird zum Ausführen des Universal Messenger Java 11 oder 17 erforderlich sein.

Java 8 bzw. 9 werden dann nicht mehr unterstützt.

Hinweis: Offiziell werden immer nur die als Long term support (LTS) ausgewiesenen Java-Versionen unterstützt.