Universal Messenger 6.1.0
Für die allermeisten Einsatzfälle gibt es mit dieser Version 6 keine inkompatiblen Änderungen zur vorhergegangenen 5'er Version des Universal Messenger. In den meisten Fällen ist keine Änderung an den Konfigurationsdateien notwendig und der Universal Messenger kann nach dem Upgrade sofort weiter eingesetzt werden. Ein Upgrade von Version 5 ist jederzeit möglich.
Kompatibilitätshinweise
In der neuen Release entfallen ist lediglich die Funktion zur Klartextanzeige der Passwörter der Einträge (cmsbs.password.showadmin = true). Eine Klartextanzeige der Passworte ist generell nicht empfehlenswert und beim Einsatz verschlüsselter Passworte auch nicht mehr möglich, deswegen wurde diese Konfigurationsoption gestrichen.
Eine Anpassung der Konfiguration ist notwendig, wenn die Einstellung cmsbs.tracker.anonymous verwendet wird, Details siehe unten.
Für den Betrieb des Universal Messenger 6.1 wird eine neue Lizenzdatei benötigt. Bitte fordern Sie die Lizenzdatei vor dem Upgrade unter Angabe der bisherigen Lizenz-ID bei unserem Support an. Die neue Lizenzdatei muss nach dem Upgrade und vor dem ersten neuen Start des Universal Messenger eingespielt werden.
Sollte in Ihrem Projekt ein kundenspezifischer Wizard zum Einsatz kommen, muss dieser eventuell minimal angepasst werden, um Darstellungsprobleme zu vermeiden.
Sollten in Ihrem Projekt kleine JavaScript-basierte Anpassungen auf GUI-Ebene verwendet werden (PageCode), dann müssen diese angepasst werden. Durch die Überarbeitung der Benutzeroberfläche des Universal Messenger haben sich viele IDs und DOM-Strukturen im HTML-Code geändert. Die PageCode-API wurde aber beibehalten und verbessert, so dass sich die Funktionalität leicht wieder herstellen lässt.
Bei der Installation werden nun Verzeichnisse gelöscht und aktualisiert, die unter der Kontrolle der Applikation liegen. Inoffizielle Erweiterungen in cmsbs-conf/cse/api werden überschrieben bzw. gelöscht und gehen verloren!
Der Installer fragt nun nicht mehr nach, ob ein Update oder eine Neu-Installation erfolgen soll, wenn ein bereits existierendes Verzeichnis ausgewählt wird. Da es kaum Situationen gibt, in denen man hier wirklich ein Installationsverzeichnis zerstören und neu aufsetzen will, ist diese Option nun entfallen. Der Installer führt immer eine Aktualisierung durch, wenn das Unterverzeichnis "cmsbs-conf" gefunden wird.
Die spezielle Bibliothek pinuts-security.jar wird in das spezielle "endorsed"-Verzeichnis des Tomcat gelegt. Bisher war es im "shared"-Verzeichnis, was aber in neuen Tomcats nicht mehr korrekt ist. Die alte Kopie wird gelöscht.
Neue modernisierte Benutzeroberfläche
Die Benutzeroberfläche des Universal Messenger wurde grundlegend überarbeit. Sie ist nun moderner, "luftiger" und wurde von Usability-Experten für die Anforderungen der Anwender optimiert.
Die Mindestanforderungen an den Browser sind entsprechend gestiegen:
Internet Explorer ab Version 9
Mozilla Firefox ab Version 18
Google Chrome ab Version 24
Apple Safari ab Version 6
Neu eingeführt wurde die "Grafische Suche", mit der einfache aber vor allem auch komplexe Suchabfragen intuitiv erstellt werden können, ohne mit der Abfragesprache des Universal Messenger vertraut sein zu müssen. Die grafische Suche erleichtert damit vielen Anwendern die Segmentierung nach Zielgruppen und die Erstellung von virtuellen Channeln.
Die Liste der Jobs ist nun aufgeteilt, damit die zeitgesteuerten, automatischen Jobs leichter von den manuell gesteuerten Jobs zu unterscheiden sind.
Import / Export Wizards
Neue Wizards erleichtern erheblich die Ausführung von Imports und Exports, für die vorher Jobs und Map-Dateien manuell angelegt werden mussten. Die Wizards bieten eine leistungsfähige Benutzeroberfläche zur Ausführung des Imports bzw. Exports von CSV-Dateien. So können Sie in kürzester Zeit Datensätze in den Universal Messenger importieren. Die Wizards begleiten Sie dabei Schritt für Schritt.
Plugin-Infrastruktur
Projektspezifische Anpassungen und Entwicklungen per Core Scripting Engine (CSE) können jetzt in "Plugins" gebündelt werden. Damit wird es möglich sein, das Gesamtsystem aus einzelnen Funktionsbausteinen zusammenzusetzen. Mit den kommenden Releases werden diese Funktionen ausgebaut werden und nützliche Plugins bereitgestellt werden.
REST-Schnittstelle und REST-Proxy
Mit der Core Scripting Engine CSE können im Universal Messenger realisierte Businessprozesse per REST-Schnittstelle von externen Anwendungen genutzt werden. Die REST-Schnittstelle wird ebenfalls eingesetzt, um aus modernen mit JavaScript entwickelten Website-Formularen den Universal Messenger per Ajax anzusprechen, z.B. für eine Newsletteranmeldung. Die Business Logik und die REST-Schnittstelle können zu einem Plugin zusammengefasst und im Universal Messenger installiert werden.
Da die mit JavaScript entwickelten Website-Formulare im Browser des Internet-Nutzers ausgeführt werden, muss die Ajax-Kommunikation zwischen Browser des Internet-Nutzers und dem Universal Messenger besonders abgesichert werden. Der Universal Messenger wird meist innerhalb einer DMZ oder im internen Firmennetz installiert und darf nicht direkt aus dem Internet erreichbar sein. Mit dem Universal Messenger wird deswegen ein REST-Proxy ausgeliefert, der in einem aus dem Internet erreichbaren Netzbereich installiert wird. Der REST-Proxy filtert die aus dem Internet eingehenden Anfragen, führt diverse Sicherheitsprüfungen aus und leitet nur die zulässigen Anfragen an den Universal Messenger weiter. Für hohe Sicherheitsanforderungen und komplexe Netzwerkarchitekturen können meherere REST-Proxy in einer Kette installiert werden, um mehrstufige Netzwerkumgebungen zu bedienen.
Der REST-Proxy bietet folgende Funktionen:
Schutz der internen Infrastruktur (Universal Messenger, Datenbanken usw.)
Schutz vor (D)DOS-Angriffen (Distributed Denial of Service)
Trennung von geschützter und öffentlicher API (Internet vs. Extranet)
Lastverteilung für den Clusterbetrieb
Caching von statischen Ressourcen
Die Details sind in eigenen FAQs und der Dokumentation zu finden.
Datenschutzgerechtes Tracking
Der Universal Messenger ermöglichte bisher ein personenbezogenes Tracking des Nutzungsverhalten zu einem Newsletterversand. Das ist aber nicht immer gewünscht und nicht immer rechtlich auch möglich. Verschiedene Tracking-Modi ermöglichen daher die Berücksichtigung der individuellen Datenschutzanforderungen, so dass das Tracking abgestuft von einem personenbezogenen Tracking bis zur vollständigen Deaktivierung des Trackings an die jeweiligen Datenschutzrichtlinien angepasst werden kann.
Hierfür wurde die Konfigurationsoption cmsbs.tracker.anonymous durch cmsbs.tracker.mode ersetzt. Die Anpassung dieser Konfigurationsoptionen muss manuell beim Upgrade erfolgen, siehe hierzu diese FAQ.
Bounce-Management
Bei eingehenden Bounces durchsuchen die Bounce-Listener nun noch mehr Felder im Header der Bounce-E-Mail nach einem gültigen VERP DeliveryTicket, um den Bounce zuordnen zu können. Die Namen der E-Mail-Header können pro Listener konfiguriert werden. Mit dieser Ergänzung kann ein Bounce-Management per VERP jetzt mit noch mehr SMTP/IMAP-Server-Kombinationen realisiert werden.
# Default
cmsbs.bounce.verp.envelopeToHeaders = "Envelope-To X-Original-To Original-Recipient Original-Recipients X-Original-Recipient X-Original-Recipients"
# Pro Bounce-Listener
cmsbs.bouncelistener.[NAME].verp.envelopeToHeaders = "..."
Nicht automatisch klassifizierbare Bounces, die an den Postmaster weitergeleitet werden, wurden bisher mit den Absenderangaben so weitergeleitet, als ob sie vom ursprünglichen Sender des Bounces kommen würden. Die Bounces erscheinen beim Postmaster nun mit den Absenderangaben des Universal Messenger.
Um die originalen Daten aus dem ursprünglichen Header nicht zu verlieren, werden diese Daten wie folgt in den Header der Mail eingefügt:
X-UM-Original-Recipient - "To" des eingegangenen Bounces
X-UM-Original-Envelope-to - "Envelope-to" des eingegangenen Bounces
X-UM-Original-Return-Path - "Return-Path" des eingegangenen Bounces
X-UM-Original-From - "From" des eingegangenen Bounces
Return-path: <> (verhindert erneute Bounces)
From: Bounce Handler <$(cmsbs.properties: cmsbs.mail.senderaddress)>
Admin-Rollen
Zur einfacheren Erstellung von Admin-Rollen wird nun die Datei cmsbs-conf/adminRoles/__prototype.properties ausgeliefert und gepflegt. Sie enthält alle möglichen Konfigurationsoptionen zu einer Admin-Rolle als Kopiervorlage.
Administration
Die Log-Ausgaben wurde reduziert. Die neue Konfigurationsoption cmsbs.debug = true schaltet die Log-Ausgaben wieder an und erlaubt die genaue Konfoguration über die log4j.properties. Achtung: Die Änderungen in der Log4J Konfiguration werden bei einem Update überschrieben und müssen anschließend wieder neu gesetzt werden.
LDAP-Anbindung
Mit der Konfigurationsoption password.hashAlgorithm = SSHA können Passwörter nun so verhasht werden, dass sie direkt in einem LDAP-Server verwendet werden können und dort als {SSHA}-Kodierung direkt nutzbar sind.
Core Scripting Engine
Die API der CSE (Core Scripting Engine) wurde erweitert und in Details verbessert sowie mit der neuen Rhino-Engine aktualisert. Dadurch können einige Funktionen beschleunigt werden.
Die Benutzeroberfläche des Universal Messenger kann per CSE nun flexibler gestaltet werden. Dadurch werden bessere spezialisierte Nutzer-Schnittstellen möglich. Auch die Arbeit mit Attribut-Definitionen und -Werten wurde verbessert. Einige Callbacks können erkennen, welcher Admin-User einen Eintrag bearbeitet hat und welche Channel-Subscriptions sich geändert haben. Dadurch werden komplexere Datenmodelle möglich.
Der Zugriff auf andere JDBC-Datenquellen per db.pool.POOLNAME wird jetzt analog zur Datenbank des Universal Messenger konfiguriert. Dadurch stehen nundb.pool.POOLNAME.connectCode und db.pool.POOLNAME.catalog zur Verfügung. Das Auto-Commit ist in der Standardkonfiguration nun abgeschaltet.
Die Funktion UM.newsletterArchive.send() kann nun Event-Dateien in der Queue ersetzen, so dass bereits eingestellte Aussendungen noch verändert werden können.
Die Personalisierungsengine für einen Eintrag kann nun genau wie in den anderen Connector-Bibliotheken auch Newsletter, Benachrichtigungen und einfache Texte personalisieren.
Personalisierung
Die CSE-basierten Personalisierungskonstrukte
{ifcse:showBrowserLink(): ... }
und
gehören jetzt zum Lieferumfang.
Diverse Verbesserungen
Beim Download von Newsletter-Inhalten von einer URL ist es nun möglich, Usernamen und Passwort für eine Basic-Authentication als Teil der URL mit anzugeben.
Die internen Namen von Channels erlauben nun das Minus-Zeichen.
Die CSV-Import/Export-Funktion wurde etwas robuster gemacht, so dass sie jetzt logisch leere Datensätze ignorieren kann.
Updates und Fixes
Die JavaMail-Bibliothek wurde auf Version 1.5 aktualisiert, was die Kompatibilität mit einigen Mailservern verbessert und kleinere Bugfixes beinhaltet.
Einige andere Bibliotheken wurden ebenfalls aktualisiert.
Wie immer wurden diverse kleinere Bugfixes in Kernfunktionen und Connectoren vorgenommen.