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