Release Notes Blackbird

Consor Universal Blackbird ist der neue Major Release nach Consor Universal 7.
Die Umbrella-Version Consor Universal Blackbird besteht aus den folgenden Modulen:

  • Consor Universal Design Engine und Underwriting Plattform v8
  • Object Manager v2
  • System Manager v2
  • Policy Manager UI v1

Die Underwriting-Plattform wurde neu mit Vaadin 23 implementiert und es wurden viele Bereinigungen und Optimierungen vorgenommen.
Neue Features werden auf diesem Release entwickelt.

Neuerungen:

  • Aktualisierte Oberfläche für die Underwriting Plattform
  • Wording View
  • System Manager 2.0
  • Neue Plugins
  • Neue Funktionen und Erweiterungen im Formeleditor
  • Online-Dokumentation Consor Universal
  • 3rd Party Library Aktualisierungen
  • Datenhaltung im Memory zwingend mit JAXB statt DOM

Universal


null
Design Engine

10.2.2025

Datamart 2.0

Im bisherigen Datamart wurde zwingend eine relationale Datenbank zur Speicherung der Daten aus dem Geschäftsvorfall benötigt.
Es gibt jedoch Fälle, bei denen eine relationale Datenbank fachlich nicht erforderlich oder sogar unerwünscht ist.
Wenn die Datamart-Daten beispielsweise an ein externes System, wie z. B. eine Messagequeue (Kafka), gesendet werden sollen, ist eine relationale Speicherung in einer Datenbank nicht notwendig. Solche Fälle liessen sich mit dem bestehenden Datamart nur ungenügend abbilden.
Aus diesem Grund wurde der Datamart überarbeitet.
Mit dem neuen Datamart 2.0 ist es nun möglich,
das Zielmedium zu wählen. Aktuell werden die relationale Datenbank und die Kafka Message Queue unterstützt.
Aus Sicherheitsgründen werden die Daten dabei verschlüsselt an den Kafka Server übertragen.

Datamart Mapper V2.0

Mit dem neuen Datamart Mapper wird der Datamart 2.0 in Universal eingebunden.
Mittels JSON-Definitionen wird festgelegt, welche Daten aus einem Geschäftsvorfall in welche Datenstrukturelemente des Datamarts übernommen werden.
Die Datamart-Daten werden dann abhängig vom «SenderType» Parameter in der Universal Konfigurationsdatei entweder in eine Kafka Queue oder in die Datamart DB geschrieben.

Parallelbetrieb mehrerer Parser-Generationen

In Universal werden mehrere Generationen von Parsern/Rechnern für die Formelsprache verwendet. Der bisherige Parser (RPN) war toleranter bezüglich Fehlern in Formeln.
Mit Universal Blackbird wurde ANTLR der Default-Parser. ANTLR ist strikter und weist Fehler – wie z. B. eine fehlende Klammer am Ende einer Formel – konsequent aus.
Neu ist es möglich, für unterschiedliche Vorlagen und Geschäftsvorfälle unterschiedliche Parser-Generationen zu verwenden. Dafür muss das Property «FORMULA_CALCULATOR_TYPE» auf «ADAPTIVE» gesetzt werden (Default).
In den Meta-Informationen der Vorlage oder des Geschäftsvorfalls wird die verwendete Parser-Generation gespeichert. Dadurch kann bei Verträgen, die auf alten Vorlagen basieren, weiterhin der alte Parser und bei neuen Verträgen ANTLR verwendet werden.

Performance beim Editieren von Formeln optimiert

Beim Editieren von Formeln wurde die Performance verbessert.

Mappertabellen-Import: Änderung in Spalte «Key» wird übernommen

Wenn eine bereits vorhandene Mappertabelle über den Mappertabellen-Import aktualisiert wurde, wurde eine Änderung in der Spalte «Key» nicht übernommen. Dies wurde behoben.

Grafiken werden korrekt angezeigt

Wenn Grafiken aus dem Repository in einen Baustein in der Design Engine gezogen wurden, konnte es vorkommen, dass diese Grafiken im Baustein nicht richtig angezeigt wurden (rotes Kreuz anstatt der eigentlichen Grafik). Dies konnte insbesondere dann auftreten, wenn die Verbindung von der Design Engine zum Universal Server über einen Proxy Server läuft. Dies wurde korrigiert.


null
Underwriting Plattform

Neue Suchfunktion in der Wording View

Neu steht in der Wording View eine praktische Suchfunktion zur Verfügung. Damit kann in Bausteinnamen, Bausteintiteln und Bausteintexten gesucht werden. Mit einem Klick auf das Lupensymbol in der oberen rechten Ecke öffnet sich die Suchfunktion.

Wording View: Reihenfolge der Bausteine ändern

Neu kann die Reihenfolge der Bausteine mittels Drag & Drop geändert werden. Die Reihenfolge kann nur innerhalb eines Kapitels geändert werden (beispielsweise von 3.4 zu 3.1, aber nicht zu 4.1).
Der Benutzer benötigt dafür das Recht 18 «Geschäftsvorfall: mutieren».

Wording View: Anzeige von nicht druckbaren Bausteinen

Bisher wurden in der Wording View ausschliesslich «druckbare» Bausteine (Bausteintyp «Textblock» in der Formatvorlage) angezeigt.
Neu kann in der Formatvorlage auch der Bausteintyp «nicht druckbar» gewählt werden.
Ein Baustein mit diesem Bausteintyp wird in der Bausteinstruktur nicht angezeigt und auch nicht gedruckt.


Bausteine des Typs «nicht druckbar» können im 3-Punkte-Menü mit Klick auf «Nicht druckbare Bausteine anzeigen» (1) wieder angezeigt werden. Damit sie von den anderen Bausteinen unterschieden werden können, werden sie «ausgegraut» (3) dargestellt.
Ergänzend können auch «nicht selektierbare Bausteine» in der Bausteinstruktur ein-/ausgeblendet werden (2).

Wording View: Anzeige von Kapitelreferenzen

Neu können im Texteditor Kapitelreferenzen eingefügt werden. Es kann gewählt werden, ob die Referenz als Kapitelnummer und/oder Kapiteltitel und/oder Seitennummer angezeigt werden soll.
Eine Referenz wird im PDF-Dokument als Link angezeigt, über welchen auf die gewünschte Seite gesprungen werden kann.

Wording View: Neuer Dialog «Tabelleneigenschaften» zum Definieren von Spaltenbreite und Rahmen

Neu ist es möglich, über den Dialog «Tabelleneigenschaften»/«Spalteneinstellungen» (2) die Spaltenbreite auf Millimeter genau zu definieren.  Über die «Tabelleneinstellungen» (3) kann der Rahmen definiert werden.

Standardfelder mit Format «Zahl» (Policennummer) werden korrekt dargestellt

Beim Eingeben einer Zahl in ein Standardfeld mit dem Ausdruck Format «Policennummer» wurde die Zahl beim Verlassen des Feldes gelöscht. Dies wurde behoben.

Mehrmalige Freigabe eines Geschäftsvorfalls wird verhindert

Es war bisher möglich, dass ein Benutzer während des Freigabeprozesses in einem anderen Tab denselben Geschäftsvorfall erneut freigab. Dies wurde korrigiert.

Kopieren einer Tabelle mit Standardfeldern ohne Fehlermeldung

Beim Kopieren einer Tabelle mit Standardfeldern kam es zu einem Fehler. Dies wurde behoben.

Anlagen zum Geschäftsvorfall hochladen mit PostgreSQL

Beim Hochladen von Dateien in die Anlagen zum Geschäftsvorfall kam es unter Verwendung der PostgreSQL-Datenbank zu einem Fehler. Dies wurde korrigiert.


null
Object Manager

Grid: Kein Excel-Import/Export bei ungespeicherten Änderungen

Neu wird bei ungespeicherten Änderungen im Grid der Excel-Import/Export-Button ausgegraut angezeigt. Dadurch wird verhindert, dass nicht gespeicherte Daten verloren gehen.


null
Diverse Anpassungen

Upgrade TinyMCE

TinyMCE wurde auf die Version 5.10.9 aktualisiert.

Libraries aktualisiert

Mit der Aktualisierung von 3rd Party Libraries werden Fehler in diesen Libraries behoben und potenzielle Sicherheitslücken beseitigt.
Folgende Libraries wurden aktualisiert:


null
Underwriting Plattform

20.6.2025

Speichern von Suchkriterien bei der Geschäftsvorfall-Suche: Neuer Systemparameter 32/39

Mit dem neuen Systemparameter 39 (in Systemtabelle 32) kann gesteuert werden, ob die Suchkriterien für die Geschäftsvorfall-Suche pro Benutzer gespeichert und nach dem erneuten Einloggen des Benutzers wieder angezeigt werden. Wenn der Systemparameter auf «on» ist, werden die Suchkriterien gespeichert. Ist er auf «off» (oder einem anderen Wert), werden die Suchkriterien nicht gespeichert.

Radio-Buttons: Erster Radio-Button standardmässig ausgeblendet

Wenn in einem Geschäftsvorfall Radiobuttons verwendet werden, wird standardmässig der erste Radiobutton ausgewählt. Wenn keine Vorauswahl angezeigt werden soll, werden mehrere Radiobuttons erstellt und der erste wurde bisher mittels CSS ausgeblendet. Neu wird der erste Radiobutton standardmässig ausgeblendet.

Mapper «Bausteine Kopieren aus Vorlage mit Dialog»: Suchfunktion gibt alle Datensätze zurück, die den Suchwert enthalten

Mit dem Mapper «Bausteine kopieren aus Vorlage mit Dialog» kann nach einem bestimmten Merkmal in einem vordefinierten Feld gesucht werden. Bisher wurden im Suchergebnis nur die Datensätze angezeigt, die exakt dem Suchwert entsprechen. Neu werden alle Datensätze angezeigt, die den Suchwert enthalten.

Wording View: Suchfunktion verbessert

In der Wording View wurde die Suchfunktion verbessert. Neu wird unter anderem der gefundene Text im Bausteintext farblich hervorgehoben.

Wording View: Suche zeigt nur Treffer von gewählten Bausteinen

Bisher wurden bei der Suche in der Wording View alle Treffer angezeigt, auch von nicht druckbaren Bausteinen. Neu werden nur Treffer von Bausteinen angezeigt, die der Benutzer auch sieht (die im 3-Punkte-Menü zur Ansicht ausgewählt wurden).

Wording View: Berechtigungsprüfung beim Hinzufügen/Entfernen von Standardfeldern

Neu wird beim Hinzufügen und Entfernen von Standardfeldern geprüft, ob der Benutzer über die entsprechende Berechtigung verfügt.

Texteditor: Neuer Default beim Einfügen von Bildern

Beim Einfügen von Bildern in den Texteditor werden die Bilder neu standardmässig in zwei Spalten angeordnet mit einer Leerzeile unterhalb (für die Bildbeschreibung).

Texteditor: Rahmen wird korrekt gedruckt

Wenn der Texteditor geöffnet und mit «OK» wieder geschlossen wurde, wurde der Rahmen im Text nicht korrekt gedruckt. Dies wurde behoben.

Druckdialog: E-Mailadresse wird geprüft

Neu wird beim Versand von Dokumenten per E-Mail geprüft, ob das Format der erfassten E-Mail-Adresse gültig ist.

Geschäftsvorfälle in mehreren Browser-Tabs

Neu ist es möglich, in mehreren Browser-Tabs unterschiedliche Geschäftsvorfälle offen zu haben und zu bearbeiten.

Performance-Verbesserung

Bei der Geschäftsvorfallsuche konnte die Performance optimiert werden.

Workflow: Freigabe möglich

Bisher konnten Geschäftsvorfälle nicht mehr freigegeben werden, sobald ein Workflow gestartet wurde. Dies wurde behoben.


null
Object Manager

Grid: Diverse Optimierungen

Im Grid wurden diverse Verbesserungen und Korrekturen vorgenommen.

  • Wenn ein Pflichtfeld nicht ausgefüllt wird, ist es neu nicht mehr möglich, den Geschäftsvorfall zu speichern.
  • Nach dem Bearbeiten eines Vertrags und Klick auf «Übernehmen» bleibt die Ansicht des Grids bestehen (und springt nicht an den Anfang).
  • Felder, die erst nachträglich ausgefüllt werden, werden korrekt gemappt.
  • Der Parameter «previewSize» für den Excel-Import wurde entfernt.

null
System Manager

Aktivierung von Systemparameter 32/28 und 32/23: Fehler behoben

Wenn der Systemparameter 32/28 (bestimmt, ob Universal mit der internen Benutzeridentifikation arbeitet) aktiviert ist, wird der Systemparameter 32/23 (interne Benutzerverwaltung) auch automatisch aktiviert. Hier wurde ein Fehler behoben.


null
Policy Manager

Neue Systemtabelle «Umsatzabrechnung»

Um bei «Umsatzpolicen» auch eine «Umsatzabrechnung» zu unterstützen, wurde der Policy Manager erweitert.
In der neuen Policy Manager Systemtabelle «Umsatzabrechnung» können Geschäftsvorfälle (identifiziert über ihre externe ID) festgelegt werden, für die eine Umsatzabrechnung gemacht werden soll.
Die eigentliche Verarbeitung findet dabei in zwei neuen Job Steps statt:

  1. «Vorausprämie speichern»
    Wird eine Umsatzpolice abgerechnet, wird über den Step «Vorausprämie speichern» die Vorausprämie in der neuen Policy Manager Tabelle «T_PM_VORAUSPRAEMIE» gespeichert.
  1. «Umsatzabrechnung gegenbuchen»
    Bei der Abrechnung der definitiven Prämie mit der Umsatzabrechnung wird die gespeicherte Vorausprämie (Guthaben) gelesen und mit der definitiven Prämie verrechnet.
    Für den Fall, dass das Guthaben für die betreffende Abrechnungsperiode nicht komplett aufgebraucht wird, wird der Restbetrag dem Kunden ausbezahlt.

Batch-Jobs: Steuerung des Versands für Verarbeitungsprotokolle

Bisher wurde bei Batch-Jobs, die ein Verarbeitungsprotokoll haben, dieses bei jedem Lauf erstellt und per E-Mail versendet. Dies auch für den Fall, dass der Batch-Job gar nichts zu bearbeiten hat.
Neu kann für solche Batch-Jobs festgelegt werden, dass ein Verarbeitungsprotokoll nur dann erzeugt wird, wenn Aufträge verarbeitet wurden. Wenn der Batch-Job keine Aufträge zu verarbeiten hat, wird keine E-Mail versendet. Dafür wird der Parameter «suppressProcessingLogWithNoOrders» auf «true» gesetzt.

Neues Universal Property für Policy Manager Datenbank-Migrationen

Mit dem neuen Universal Property «POLICY_MANAGER_IMPLEMENTATION» kann gesteuert werden, ob PM Datenbank-Migrationen durchgeführt werden oder nicht.
Mögliche Werte sind:

  • «NONE» (Default): Es ist keine PM Datenbank vorhanden, es werden keine PM Datenbank-Migrationen durchgeführt.
  • «UNIVERSAL_CORE»: Es ist eine PM Datenbank vorhanden, PM Datenbank-Migrationen werden durchgeführt.

Tagesendverarbeitung (TEV): Mehrere Folgeprämien-Job-IDs möglich

Falls es für den Job der Folgeprämie mehrere Versionen gibt, können die betreffenden IDs neu kommasepariert in die PM-Systemtabelle «Job ID der Folgeprämie» (24) eingetragen werden.
Damit wird sichergestellt, dass bei Vertragsänderungen auch bereits abgerechnete Folgeprämien richtig berücksichtigt werden.

Boolean als Batchjob-Parameter

Neu können auch boolesche Werte als Batchjob-Parameter verwendet werden. In der Job-Definition muss dafür der Typ «Bit» angegeben werden.


null
Datamart 2.0

Daten-Converter

Neu gibt es im Datamart 2.0 einen konfigurierbaren Converter für Daten, die aus einem Geschäftsvorfall an ein Umsystem geschickt werden sollen.
Wenn im Geschäftsvorfall beispielsweise der Wert «1» steht, aber das Umsystem dafür den Wert «POL» erwartet, kann dafür ein Converter im Datamart konfiguriert werden.
Die Konvertierungslogik wird in einer separaten Converter-Vorlage (z. B. in einer Formel) hinterlegt. Der Converter wird dann automatisch bei der Ausführung des Datamart angestossen.

«DatamartUpdate» Job

Mit dem alten, bisherigen Datamart-Mapper «Datamart nachführen» werden bei asynchroner Ausführung Datamart-Aufträge in die Datamart-Tabelle «T_ADJUSTMENT_DATAMART_JOB» geschrieben, die mit dem Universal Job «DatamartUpdate» über den Universal Scheduler ausgeführt werden.
Neu ist dies auch mit dem Datamart 2.0 möglich.

UUID zur Identifikation einzelner Ausführungen

Im Datamart 2.0 wird neu pro Ausführung eine eindeutige ID (sog. UUID) generiert. Damit lässt sich nachvollziehen, ob zwei Datensätze aus derselben Ausführung stammen oder nicht und deshalb allenfalls unterschiedlich sind.

Unterstützung von Standardfeldern mit immer gleichem Inhalt

Neu werden Standardfelder für den Datamart 2.0 auch dann gefunden, wenn sie nicht direkt auf dem Datamart-Baustein oder in Unter- bzw. Oberbausteinen liegen. Dies immer dann, wenn das betreffende Standardfeld im Universal Repository als Feld mit
«immer gleichem Inhalt» gekennzeichnet ist.

Speichern der Datamart-Baustein-ID

Falls im Datamart 2.0 auch die Universal Baustein-ID («CompNr») des betreffenden Datamart-Bausteins gespeichert werden soll, ist dies neu in der Konfiguration «StructureBinding.json» über das «docField» namens «compNr» möglich.

Default-Wert in Datenbankfeld

Wenn ein Datamart-Feld nicht im Geschäftsvorfall vorhanden ist, kann im zugeordneten Datenbankfeld ein Default-Wert festgelegt werden. Dieser Wert wird dann verwendet, wenn in der Datamart-Konfiguration kein Wert angegeben wurde.

Globalsuche

Für Datamart-Felder, die im Geschäftsvorfall weder direkt auf dem Datamart-Baustein noch in Unter- oder Oberbausteinen vorhanden sind, kann konfigurativ das neue Suchmuster «GLOBAL» verwendet werden. Dabei wird das betreffende Standardfeld im gesamten Geschäftsvorfall gesucht und das erste Vorkommen verwendet.
Dieses Suchmuster ist vor allem bei der Migration eines bereits vorhandenen Datamart von Version 1.0 auf Version 2.0 sinnvoll, um mit Version 2.0 dieselben Ergebnisse wie mit Version 1.0 zu erhalten.

Variable Kalender-Datentypen und Felder vom Typ «MEMO»

Bisher wurde im Datamart für Kalenderdaten nur der Datentyp «DATE» unterstützt.
Neu werden folgende Kalender-Datentypen unterstützt:

  • «LOCAL_DATE_TIME» → Datum und Zeit, löst bisherigen Typ «DATE» ab
  • «LOCAL_TIME» → nur Zeit, Klasse java.time.LocalTime
  • «LOCAL_DATE» → nur Datum, Klasse java.time.LocalDate

Neu werden auch Universal Felder vom Typ «MEMO» in den Datamart 2.0 übernommen.

Datenfelder mit Millisekunden-Genauigkeit

Für Datamart- Felder vom Typ «LOCAL_DATE_TIME» und «LOCAL_TIME» wird der Zeitanteil nun mit einer Genauigkeit bis auf Millisekunden gespeichert.

Datenbank-Feldnamen mit ungültigen Zeichen werden korrekt gespeichert

Wenn ein bestehender Datamart der Version 1.0 auf Version 2.0 umgestellt werden soll, können aus der bestehenden, alten Datamart-Konfiguration die neuen Konfigurationsdateien generiert werden.
Falls die Datenbank-Feldnamen dabei die ungültigen Zeichen «-» oder «%» enthalten, werden diese automatisch in der betreffenden Konfiguration maskiert, damit die Datamart-Daten trotzdem richtig in der Datenbank gespeichert werden.

Fehler beim Schreiben von Datamart-Daten in separate Datenbank behoben

Wenn Datamart-Daten mit dem Datamart 2.0 in eine relationale Datenbank geschrieben werden sollten und die Datamart-Datenbank separat von der Universal-Datenbank ist, konnten die Daten nicht persistiert werden. Dies wurde behoben.


null
Diverse Anpassungen

Import von Vorlagen-Packages optimiert

Der Import von Vorlagen-Packages wurde optimiert, sodass auch bei sehr grossen Vorlagen-Paketen kein Fehler mehr auftritt.

Autoimport: Richtige Reihenfolge bei Vorlagen mit Produktversionen

Der Vorlagen-Import wurde optimiert, so dass Vorlagen mit mehreren Produktversionen in der Reihenfolge «freigegeben, inaktiv», «freigegeben, aktiv», «in Arbeit» importiert werden.

Libraries aktualisiert

Mit der Aktualisierung von 3rd Party Libraries werden Fehler in diesen Libraries behoben und potenzielle Sicherheitslücken beseitigt.
Folgende Libraries wurden aktualisiert:

  • Apache Commons Collections4 (au die Version 4.5.0)
  • Apache Commons IO (auf die Version 2.19.0)
  • Apache Commons Text (auf die Version 1.13.1)
  • Apache POI (auf die Version 5.4.1)
  • Apache XML Graphics Commons (auf die Version 2.11)
  • Apache XML Graphics FOP (auf die Version 2.10)
  • ArchUnit (auf die Version 1.4.1)
  • Azure Core (auf die Version 1.55.3)
  • Azure Core Http OkHttp (auf die Version 1.12.10)
  • Azure-identity (auf die Version 1.16.0)
  • AWS Java SDK-S3 (auf die Version 1.12.783)
  • Batik Transcoder (auf die Version 1.19)
  • CycloneDX BOM (auf die Version 2.3.0)
  • Eclipse Jersey (auf die Version 2.46)
  • Eclipse-temurin Docker tag (auf die Version 0.27_6-jre-alpine)
  • EvalEx (auf die Version 3.5.0)
  • FasterXML Jackson Core (auf die Version 2.19.0)
  • Gradle (auf die Version 8.14)
  • Gson (auf die Version 2.13.1)
  • Guava (auf die Version 33.4.8-jre)
  • Hamcrest Core (auf die Version 3)
  • Hibernate (auf die Version 6.15.Final)
  • Hibernate Core (auf die Version 6.15.Final)
  • Java JWT (auf die Version 4)
  • JBoss RESTEasy (auf die Version 15.6.Final)
  • JGraphX (auf die Version 3)
  • JUnit Jupiter API (auf die Version 5.12.2)
  • JUnit Platform Launcher (auf die Version 1.12.2)
  • Log4j2 ECS Layout (au die Version 1.7.0)
  • Micrometer (auf die Version 1.14.6)
  • Microsoft JDBC Driver for SQL Server (auf die Version 10.0.jre11)
  • Mockito (auf die Version 5.17.0)
  • Nimbus JOSE+JWT (auf die Version 10.3)
  • OpenCSV (auf die Version 5.11)
  • OpenTelemetry Javaagent (auf die Version 2.15.0)
  • Oracle JDBC11 (auf die Version 8.0.25.04)
  • PDFBox (auf die Version 2.0.34)
  • PostgreSQL JDBC Driver (auf die Version 42.7.5)
  • SonarQube Gradle Plugin (auf die Version 6)
  • Spotless Plugin Gradle (auf die Version 7)
  • Swagger (auf die Version 2.2.30)
  • Swagger Core V3 Swagger Gradle Plugin (auf die Version 2.2.32)
  • Tomcat (auf die Version 9.0.106)

Haben Sie sich schon für unseren Customizing Newsletter angemeldet?

Mit dem Consor Newsletter erhalten Sie alle wichtigen Neuigkeiten rund um Consor Universal und fachliche Themenbereiche aus der Versicherungsbranche. Der Newsletter erscheint mindestens viermal im Jahr.