Universal Messenger 7.34.0

Das Release 7.34.0 Build 1600 wurde im April 2020 veröffentlicht. Dieses Release umfasst:

  • Erweiterung der Abfragesprache: NOT-Operator

  • Personalisierbare Absenderadressen beim Newsletterversand

  • Konfiguration: Secrets in der Datenbank

Abfragesprache: NOT-Operator

In der Abfragesprache des Universal Messenger ist nun der NOT-Operator verfügbar. Beispiel:

not (firstname="Hans" and lastname="Müller")

Der zu negierende Ausdruck muss dabei – wie im Beispiel zu sehen – immer geklammert werden.

Aktuell ist der neue Operator noch nicht in der grafischen Segmentierung verfügbar. Die Anpassung an dieser Stelle folgt in einem der kommenden Releases.

Personalisierbare Absenderadressen beim Newsletterversand

Beim Versand eines Newsletter ist es nun möglich, per Core Scripting Engine die Absenderadresse für jeden einzelnen Empfänger dynamisch anzupassen. Dazu kann in einem RenderEntryCallback die Absenderadresse im templateContext überschrieben werden:

RenderEntryCallback.prototype.setSender = function() { if (this.entry.get('firstname') == 'Hans') { this.templateContext.senderName = ''; this.templateContext.senderAddress = 'andere-adresse@acme.com'; } }

Im HTML-Body der Mailingvorlage kann dieser Callback dann wie folgt aufgerufen werden:

{withcse:setSender():}

Konfiguration: Secrets in der Datenbank

Die sechs Konfigurationseinstellungen, die Secrets bzw. Salts repräsentieren, wurden bisher durch den Installer mit Zufallswerten belegt. Dieser Schritt wird nun beim Start durch den Universal Messenger selbst ausgeführt. Der Installer belegt nun bei einer Neuinstallation folgende Variablen mit “magischen” Werten:

Beim initialen Start des UM werden für die so gesetzten Variablen Zufallswerte gewürfelt und in der Datenbank in der neuen Tabelle configvalues gespeichert.

Bei allen folgenden Starts werden die Werte aus der Datenbank gelesen und verwendet. Die o.g. Variablen können allerdings weiterhin in der cmsbs.properties-Datei mit konkreten Werten belegt werden, die dann wie gehabt ab dem nächsten Neustart gelten (und die Datenbank geschrieben werden).

Diese Änderung ist vor allem für Docker-basierte UM-Installationen wichtig, da hiermit diese wichtigen Werte in der Datenbank gehalten werden und nicht mehr im lokalen Dateisystem.

Core Scripting Engine

Die Arbeit mit Multi-Value-Attributen ist nun komfortabler möglich: Die neue Methode getArray(attrName) in den Klassen Entry und TableRow liefert ein Array der Werte, falls es sich um ein Multi-Value-Attribut handelt. Die Methode set(attrName, value) der beiden Klassen kann nun als value auch ein Array entgegennehmen und speichert die Werte korrekt als UM-Multi-Value-String.