Universal Messenger 6.3.0

Dieses Release wurde Anfang Dezember 2013 freigegeben. Es enthält neue signifikante Features und Verbesserungen sowie kleine Bugfixes. Mit diesem Release ändern sich die Minimalanforderungen in Bezug auf den verwendete Servlet-Container.

Features

Neuer Attributtyp HTML

Der neue Attributtyp HTML dient der Speicherung von Texten im HTML-Format. In der Benutzeroberfläche des Universal Messenger kann ein solches Attribut mittels eines Wysiwyg-Editors bearbeitet werden. Durch eine automatische Filterung des Attributwertes wird sichergestellt, dass das Feld stets nur gültiges HTML enthält und unerwünschte HTML-Elemente und -Attribute entfernt werden. Bitte beachten Sie, dass dieser neue Attributtyp mindestens die eCRM Edition erfordert. Für technische Details siehe Attributtypen im Entwicklerhandbuch.

Neuer Attributtyp ATTACHMENT

Der neue Attributtyp ATTACHMENT dient der Speicherung von Anhängen, also von Dateien beliebigen Typs, die einem Eintrag zugeordnet werden sollen, z.B. Bilddateien. Bitte beachten Sie, dass dieser neue Attributtyp mindestens die eCRM Edition erfordert. Für technische Details siehe Attributtypen im Entwicklerhandbuch.

Core Scripting Engine (CSE)

Per Callback kann nun auf bestimmte Ereignisse in der Benutzeroberfläche des Universal Messenger reagiert werden, z.B. GUI-Logouts, GUI-Timeouts und REST-Session-Timeouts.

Per preCreate-Callback können beim Anlegen neuer Einträge über die Benutzeroberfläche Attribute dynamisch vorbelegt oder eine Channelvorauswahl getroffen werden.

Per preCommit- bzw. preRemove-Callback kann das Speichern bzw. Löschen eines Eintrags verhindert werden.

Commit-Callbacks können nun von Plugins hinzugefügt werden. Damit kann mehr als ein Commit-Callback aktiv sein, um das Ereignis an verschiedene Plugins weiterzuleiten.

Tracking-Events können nun pro Newsletter-Delivery ausgelesen werden.

Die neue Hilfsfunktion Strings.makeUUID() liefert eine Universally Unique ID (UUID).

REST-Proxy: Caching und Queuing

Der REST-Proxy kann nun Antworten von dem Universal Messenger cachen, selbst wenn die URL-Parameter einem gegebenen Muster entsprechend abweichen.

Der REST-Proxy ist nun in der Lage, bestimmte Requests zunächst eigenständig aus dem Cache zu beantworten, den Request jedoch trotzdem verzögert an den Universal Messenger weiterzureichen. Dazu enthält der REST-Proxy eine Warteschlange (Queue), in welcher er diese Requests sammelt und der Reihe nach an den Universal Messenger sendet. Sollte es dabei zu einem Netzwerkkommunikationsproblem kommen, z.B. weil der Universal Messenger gerade neu gestartet wird, verbleiben die Requests in der Queue und der Proxy versucht nach 30 Sekunden erneut die Zustellung.

Installationsvoraussetzungen

Application Server - Servlet Specification 2.5

Für den Betrieb wird nun ein Servlet-Container benötigt, der mindestens die Servlet Specification 2.5 erfüllt. Apache Tomcat erfüllt diese Anforderung ab Version 6.0.

Installer für MacOS X

Der Installer für MacOS X entfällt bis auf Weiteres. Das Shell-Script für Unix/Linux funktioniert unter MacOS X auch.

Verbesserungen

Attributkonfiguration

Für REFERENCE-Attribute kann nun in einem Entry-Type die Einstellung selectorQuery überschrieben werden.

Adminrollen

In den Rollendefinitionen kann man nun das Bearbeiten und Anlegen bestimmter Entry-Types verbieten, z.B. hier für "b" und "c":

area.EditUser.EntryType.b = false area.EditUser.EntryType.c = false

REST-Proxy

Wird beim Aufruf eines REST-Service der Name der Action in der URL weggelassen, wird nun automatisch die index-Action des betreffenden Controllers aufgerufen.

Die sporadisch auftretenden Verbindungsabbrüche zwischen REST-Proxys bzw. zwischen REST-Proxy und Client wurden beseitigt. Dabei wurde die HTTP-Antwort nach den HTTP-Headern abgeschnitten, so dass jeweils der Body nicht übertragen wurde.

Der REST-Proxy wertet nun auch den Header X-TinyProxy des TinyProxy aus, um die IP-Adresse des Client zu ermitteln.

REST-Services

Die Konfigurationsoption cmsbs.http.encoding wirkt sich nun auch auf die Auswertung der URL-Parameter von POST-Requests aus. Das erwartete Encoding für die Auswertung der Parameter von GET-Requests muss weiterhin über Connector-Einstellung URIEncoding im Servlet-Container (beim Tomcat in server.xml) erfolgen.

Die Angabe der Connector-Einstellung useBodyEncodingForUri (beim Tomcat in server.xml) wird nicht mehr empfohlen, da sie u.U. mit der Einstellung URIEncoding kollidiert.

Import / Map-Dateien

Mapfiles können ihr eigenes Encoding angeben, damit String-Konstanten und CSV-Spaltennamen im richtigen Format angegeben werden können. Dazu dient die Einstellung

csv.mapEncoding = "UTF-8"

Wenn eine solche Zeile nicht vorhanden ist, wird die Datei im System Default Encoding gelesen, wie bisher auch.

Dokumentation

Die Dokumentation kann nun auch als PDF-Datei heruntergeladen werden.

Fehlerbereinigungen

Attributkonfiguration PASSWORD-Attribute

Eigene Attribute des Typs PASSWORD konnten bisher keine Primärattribute werden, die Einstellung isPrimary=true wurde ignoriert. Ab jetzt wird diese Einstellung korrekt angewendet. In bestehenden Installationen muss diese Einstellung daher dringend geprüft werden:

Wenn in der Datei additional.attributes ein Attribut des Typs PASSWORD definiert wird, darf die Option isPrimary nicht auf true gesetzt werden. Sie sollte ganz entfernt oder explizit auf false gesetzt werden. Andernfalls gehen die bereits gesetzten Werte dieses Attributes verloren.

Benachrichtigungen

Beim Bearbeiten von Benachrichtigungen können nun Semtags bzw. Langtags auch wieder komplett entfernt werden. Das war bisher nicht möglich.

Adminrollen

Ein Bug in der Definition von Admin-Rollen wurde behoben, durch den folgende Konfigurationseinstellung ignoriert wurde:

area.*.EditTags = false