Release Notes calcIT Version 2022.1
Feature-Highlights
Dashboards für einen besseren und schöneren Homescreen
GAEB Konverter für mehr Flexibilität beim Umgang mit GAEB Files
Neue Features und Funktionen
Oberflächen
Es können nun Dashboards definiert werden, die für ausgewählte User oder Usergruppen den bisherigen Home-Screen in calcIT ablösen und nach dem Login direkt in calcIT angezeigt werden. Dashboards werden als spezielles TLO definiert und können über einen passenden Kontentypen über den bekannten Knotentypdesigner beliebig modelliert werden.
Die Projektliste sowie beliebige Listen von TLO-Instanzen können nun auf allen Komponenten- und Knotentypen als Control eingebaut werden. Dabei können bereits Filter vordefiniert werden und das Filterpanel aus- oder eingeblendet werden.
Es können nun Kuchendiagramme modelliert und auf beliebigen Knoten verwendet werden.
Für die Auswahl von darzustellenden Attributen in der Spaltensicht wurde ein Schnellfilter eingebaut, mit dem die List der verfügbaren Attribute schnell und komfortabel durchsucht werden kann.
TLO-Listen können nun über Spaltenheader in der Spaltensicht sortiert werden.
Es wurde eine Systemeinstellung hinzugefügt, mit der Bibliotheksbäume innerhalb von Projekten versteckt werden können und man nur den Filter für das Durchsuchen der jeweiligen Masterbibliothek sieht.
Die dynamische Kennzeichnung eines Knotens per Farbe und speziellem Icon, sobald Einfüge-Operationen unter dem jeweiligen Knoten gestartet wurden, ist nun auch in der Projektbibliothek verfügbar.
Es ist nun möglich, im Filter nach kompletten Kalendertagen filtern zu können.
Das Kontextmenü für Knoten in der Filterergebnisliste wurde überarbeitet und erweitert.
GAEB Konverter
Mit dem neuen GAEB Konverter in calcIT können nun GAEB Files beliebiger Versionen in calcIT eingelesen, ggf. in eine andere Version umgewandelt, mit Preisen und anderen Informationen angereichert und dann wieder als GAEB File ausgegeben werden.
GAEB Dateien können nun über einen einfachen Dialog importiert werden.
Neue GAEB und ÖNORM Attribute wurden ergänzt.
Der neue GAEB-Import fügt zu gesetzten Longstrings HTML-Tags hinzu.
Man kann nun im Designer ein Rich-Text-Feld als GAEB-Editor kennzeichnen. Dies ermöglicht dem Benutzer über ein Plugin eine GAEB-Textergänzung hinzuzufügen oder zu bearbeiten.
Tools und neue Möglichkeiten für die Verwendung von Array-Attributen und Array-Grids
Es können nun Composite Array-Grids verwendet werden, über die mehrere definierte Array-Attribute in einem Tabellen-Grid zusammengefasst werden können. Man kann die Spalten, die im Composite Array-Grid dargestellt werden sollen, einzeln über den Designer auswählen und dabei auch die Reihenfolge definieren.
Es können nun verschachtelte bzw. mehrstufige Array-Grids mit Gruppierungsebenen aufgebaut werden, die mit oder ohne Summenzeilen dargestellt werden können.
In Arrays können nun auch masterdata, tlodata und tlonodedate Attribute verwendet werden. Diese können in Array-Grids nun in Combobox-Zellen verwendet werden.
Es kann nun eine Schloss-Logik in Array-Grids verwendet werden. Die Logik entspricht dabei der Schloss-Logik in den normalen Feldern, sprich bei geöffnetem Schloss zählt nur die manuelle Feldeingabe, bei geschlossenem Schloss die ggf. hinter der Zelle definierten Berechnungen. Das Schlossicon im Array-Grid kann pro Zeile/Spalte oder pro Zelle in Position und Farbe formatiert werden.
Undefinierte Array-Achsen können nun über neue tools-Funktionen so angepasst werden, dass der schon vorhandene Inhalt nicht verloren geht.
Bestehende format-Funktionen wurden erweitert, um Formatierungen auch auf Spalten- und Zeilenheader anwenden zu können.
Man kann nun Spalten und Zeilen von Array-Grids mittels format-Funktion ausblenden.
Es gibt eine neue tools-Funktion, mit der Daten via SQL direkt in ein Array-Attribut geschrieben werden können.
Durch zusätzliche Parameter in tools-Funktionen können Arrays nun explizit aufsteigend bzw. absteigend sortiert werden.
Mit einer neuen tools-Funktionen können nun Werte von Spalten und Zeilen in Array-Grids aufsummiert werden.
Über eine neue tools-Funktion können Filterausdrücke definiert werden, deren Ergebnismenge in ein Array-Attribut übergeben wird. Die gefilterten Attribute werden dabei in die Spalten des Arrays übergeben und die einzelnen Ergebnisse in die Zeilen des Arrays.
Array-Attribute werden in Debug-Ausgaben nun einfach leserlich dargestellt.
In Array-Grids kann man nun über das Drücken der Enter-Taster in einer Zelle in die Zelle der nächsten Zeile darunter in derselben Spalte springen.
Für undefinierte Arrays kann nun ein einheitlicher Datentyp für alle Zellen gesetzt werden. Diese undefinierten Arrays können vertikal über die Knotenhierarchie aufsummiert werden.
Der Array-Grid Designer ermöglicht nun die Definition eines individuellen Anzeigenamens inklusive Übersetzung für Zeilen und Spalten sowie die Definition der Breite einzelner Spalten (prozentual oder fix in Pixeln). Zudem lässt sich im Designer die Reihenfolge von Spalten und Zeilen individuell verändern. Des Weiteren wurde der Designer um drei Color-Picker erweitert, mit denen verschiedene Farben gewählt werden können für Textfarbe, Hintergrundfarbe und Rahmen.
Für Decimal-Spalten/Zeilen/Zellen können in den Systemeinstellungen nun beliebig komplexe Formatvorlagen definiert und über ein eindeutiges Kürzel abgespeichert werden. Damit ist es nicht mehr notwendig, die Formatierung einzeln für jede Spalte/Zeile/Zelle vorzunehmen.
Ungültige Einträge bei Comboboxen in Array-Grids werden nun rot hervorgehoben.
Weitere Tools für die Modellierung
Vollständige Überarbeitung der Attributverwaltung, um die Erstellung und das Bearbeiten von Attributen besser und stabiler zu gestalten.
Es gibt eine neue tools-Funktion, mit der Projekte dupliziert werden können.
Es gibt eine neue tools-Funktion, mit der per Rechenregel Berechnungsjobs angestoßen werden. Dabei kann per Parameter festgelegt werden, auf welcher Hierarchiestufe unterhalb des aktuellen Knotens die Berechnung starten soll.
Beim Start eines Berechnungsjobs ist es nun möglich, Parameter zu übergeben, mit denen gesteuert werden kann, welche Berechnungsgruppen oder einzelne Rechenregeln ausgeführt werden sollen.
Es ist nun möglich, in tools.sendMail() Mail-Empfänger direkt in Textform einzugeben, ohne den Umweg über ein Attribut.
Es gibt eine neue tools-Funktion, mit der aus Texten in RFT-Format Texte in HTML-Format erzeugt werden können. Dies ermöglicht unter anderem die schnelle und bequeme Migration von Texten im RFT-Format nach calcIT.
Es ist nun möglich, in DataSelect tools-Funktionen komplexe Filterausdrücke mit Klammern und mehreren Operatoren (AND und OR) zu verwenden.
In Third Party Templates können Ergebnisknoten nun frei benannt werden.
In Combobox-Queries können nun Systemattribute für die Anlage und die letzte Änderung eines Knoten (Person und Datum) verwendet werden.
Es wurden format-Funktionen ergänzt, mit denen dynamisch erzeugte Formatierungen zurückgesetzt werden können.
Es ist nun möglich, bestehende Cron Jobs zu editieren inklusive ggf. hinterlegten Dateipfade.
In der Filterverwaltung können definierte Filter nun einzelnen oder mehreren TLOs zugewiesen werden. Die entsprechenden Filter sind dann nur im entsprechenden Kontext der gewählten TLOs aufrufbar. Beim Erstellen oder Editieren eines Filters können direkt im Filter-Designer die TLOs ausgewählt werden, für die der Filter definiert sein soll.
Radio Buttons können nun gesperrt werden.
Buttons können nun mit einem Tooltip versehen werden.
Nicht gültige Zeichen in Attributnamen werden nun farblich markiert.
Admin-Funktionen
Die in calcIT eingesetzte Java Version wurde von Version 8 auf Version 11 aktualisiert.
Mailserver-Konfigurationen werden nun direkt im Admin-Panel in calcIT angezeigt und können dort auch editiert werden (Admin-Rechte vorausgesetzt). So ist es nun möglich, die Mailserver-Konfiguration zur Laufzeit zu ändern.
Warnmeldungen, die beim Ausführen von Third Party Templates generiert werden, wurden überarbeitet, erweitert und übersetzt.
Es ist nun möglich, Jobprotokolle (Warn- und Fehlermeldungen) automatisiert abzurufen und an hinterlegte E-Mail Adressen zu versenden.
Debug-Ausgaben bzw. Log-Files liegen nun in unterschiedlichen Detailstufen vor. Der Anwender kann beim Herunterladen die entsprechende Stufe auswählen.
Es ist nun möglich, sich die ID und UUID von Projekten, Bibliotheken, Third Party Templates, Berichtstemplates und Dokumententemplates im Designer anzeigen zu lassen.
Bei horizontalen Berechnungen auf einem Knoten wird nun eine Warnung erzeugt, wenn ein ungültiges Ergebnis erkannt wird (etwa wenn in einer Rechenregel durch 0 geteilt wird). Die Darstellung der Warnung kann über eine Systemeinstellung aktiviert oder deaktiviert werden. Für Bestandskunden wird standardmäßig wie bisher keine Warnung angezeigt.
Es können nun mehrere Berichtsvorlagen auf einmal gelöscht werden.
Transportsystem
Es können nun Transport-Templates für den Transport von calcIT Elementen zwischen zwei calcIT Systemen definiert werden. Mit Transport-Templates müssen beim Export aus dem Quellsystem nicht immer neu alle zu transportierenden Elemente manuell ausgewählt werden, sondern es wird direkt die im Template gespeicherte Auswahl geladen, die dann noch angepasst werden kann für den jeweiligen Customizing-Export.
Es ist nun möglich, für den Transport von Komponententypen alle alten Komponententypversionen mit zu exportieren.
Attribute und Attributkategorien können nun einzeln zwischen calcIT Systemen transportiert werden.
Performance
Die Ladezeit für das Aufrufen der zuletzt geöffneten Projekte, Bibliotheken und TLO-Instanzen wurde verbessert.
Notifications und geupdatete Daten werden nun in einer Map zurück gegeben für ein Array. Dies ermöglicht ein schnelleres Setzen und Aktualisieren von Werten in Arrays.
Für DataSelect Abfragen wurde ein einheitlicher Cache implementiert. Dies beschleunigt das Abrufen von Werten aus Listen.
Der Import aus Third Party Datenbanken wurde deutlich beschleunigt, da Einsparungen beim Auslesen von Pfaden erreicht werden konnten.
Der Aufruf von Filterergebnissen konnte beschleunigt werden.
Für das gleichzeitige Kopieren großer Datenmengen (>100 Elemente) aus Bibliotheken in Projekte wird nun eine andere Methode verwendet, die für große Datenmengen deutlich schneller funktioniert und das System weniger belastet.
Bugfixes
Das manuelle Anlegen von Versionen über einen bereits vorhandenen Versionsnoten (Kontextmenü -> Komponente Version hinzufügen auf gleicher Ebene) konnte dazu führen, dass die Versions-ID nicht korrekt gesetzt wurde und damit diverse Folgefehler ausgelöst wurden.
In bestimmten Konstellationen konnte es dazu kommen, dass Bibliotheken nicht mehr korrekt dupliziert werden konnten.
Wenn man Projekte mit Struktur anlegte, erschien eine „Loading“ Meldung über dem Menü, die nicht mehr weg ging.
Parametrisiberare Comboboxen warfen Fehler, wenn in abhängiger Combobox noch kein Wert ausgewählt war.
Parametrisierbare Combobox aktualisierte nur, wenn die „component“-Abhängigkeit in einer Combobox war.
Login-Dialog: Business Unit wählen funktionierte nicht bei verschachtelter Organisationsstruktur.
Die Third Party Connection konnte nicht von mehreren Jobs gleichzeitig verwendet werden.
Fehlerhaftes Customizing in RR auf Komponenten warf nicht zuverlässig und für alle Fälle entsprechend sinnvolle Fehlermeldungen.
Exportieren von Bildern konnte das System durch Überlaufen des RAMs lahmlegen.
Bei der Ausgabe von Reports kam es zu „specialValuesCache is not alive“ Fehlern.
TLO-spezifische Spaltensichten ließen sich nicht transportieren.
In der Oberfläche wurden auf Komponenten teilweise Feldbezeichnungen mit „null“ angezeigt.
Die Höhe von Eingabefelder konnte in bestimmten Konstellationen nicht mehr verstellt werden.
Für Jobs erzeugte Caches konnten hängen bleiben und den RAM überlaufen lassen.
Cron Jobs ließen sich nicht mehr aus der Verwaltung löschen.
Die Rechenregel tools.setFocus() führte zu einem Fehler, wenn sich die zu fokussierende Komponente in einem anderen Tab befand.
Beim Öffnen der Instanzliste mit Filter und input-Parameter erschien eine Fehlermeldung, dass der Administrator kontaktiert werden sollte.
Die Einstellungen für Toast-Nachrichten wurden teilweise nicht richtig geladen.
Die Einstellungen für Toast-Nachrichten wurden teilweise nicht richtig geladen.
Bibliothekseigenschaften wurden fehlerhaft gesetzt beim Import eines Projekts.
Bei einem Sprachwechsel durch den Benutzer konnte es vorkommen, dass bei der Berechnung Werte in der falschen Sprache abgelegt werden.
Durch einen Transport war es möglich, ein Hierarchieattribut in ein normales Attribut zu verwandeln.
Wenn Übersetzungen von Rechenregeln im Rechenregel-Editor fehlten, konnte der Editor nicht mehr geschlossen werden.
Der letzte Parameter in strukturierten Berichten konnte nicht mehr in der Parameterliste gelöscht werden.
Der Übersetzungsassistent skalierte nicht mehr korrekt.
Die Umbenennung von Attributen führte zur Umbenennung von gleichnamigen Kürzeln in Rechenregeln.
Auf Oracle konnten DB-Locks durch die parallele Berechnung entstehen.
Rand und Rahmen von Rich-Text-Feldern wurden unten nicht angezeigt.
Kopieren von Arrays mit dem Datentyp tlonodedata war nicht möglich.
Die TLOTransferCalculation hatte einen falschen Cache für die Rechenregeln verwendet, wodurch die Berechnung weniger effizient war.
Das Hinzufügen von Seitenumbrüchen im Rich-Text-Editor führte nicht zu Seitenumbrüchen im ausgegebenen Dokument.
Bilder konnten nicht bis an den rechten Seitenrand skaliert werden in Ausgabedokumenten.
Hierarchieimport-Settings speicherten berechnete Attribute nicht.
Der Projektbaum wurde beim Anlegen von Knoten nicht automatisch aktualisiert.
Im Vollbildmodus funktionierten im Rich-Text Editor keine Comboboxen.
Neuen Filter mit Sprachvektoren anlegen war nicht möglich.
Rechenregeln in RR-Gruppen suchen konnten zum Absturz der Oberfläche führen.
Radio Button sendeten Wert als string, obwohl das Zielattribut vom Datentyp decimal war.
TLO-Listen konnten nicht mit Hierarchieattributen umgehen.
Bei mehrfacher Aktualisierung von Knoten im TLO wurden die Unterknoten nicht mehr richtig angezeigt.
Beim schnellen Drag&Drop mehrerer Komponenten in eine zugeklappte Komponente wurden nicht alle verschobenen Komponenten eingefügt.
Halbseitig definierte Arrays können im Designer nicht mehr bearbeitet werden.
Der 3rd Party Import konnte in bestimmten Konstellationen Zeilen überspringen.
Umbrüche im Bezeichner sorgten dafür, dass sich Textfelder aufspannen, die von anderen Elementen überlappt werden.
Beim Konvertieren von RTF zu HTML gingen Formatierungen verloren.
Bei der Anmeldung mit falschen Benutzerdaten erschien eine Meldung mit Internal Server Error.
Als Datum formatierte Arrayattribute wurden in Word nicht als Datum ausgegeben.
Beim Löschen eines Transfer Templates stimmte der angezeigte Hinweistext nicht.
Beim Löschen von temporären Bilddaten wurde pro Datei bis zu 10s versucht, diese zu löschen.
Bei der Eingabe von Prozentwerden im Array wurde die Eingabe mit 100 multipliziert.
Update von Array-Zellen funktionierte nicht in Masterbibliotheken.
Das Wechseln von Tabs konnte in bestimmten Konstellationen die Oberfläche zum Absturz bringen.
Das gleichzeitige Exportieren von Komponententypen und Attributen konnte zu Fehlern führen.
Das Öffnen von Projekten mit Nachladeknoten konnte zu Fehlern führen.
Der RAM konnte überlaufen beim Berechnen von Bibliotheken mit mehr als 10.000 Knoten.
Nach dem Neuladen des Browsertabs musste man sich in calcIT neu anmelden.
Wenn Rich-Text-Felder auf nur lesen gesetzt waren, konnte es in bestimmten Situationen zum Absturz der Oberfläche kommen.
Die Änderung der Hintergrundfarbe für einzelne Zellen im Word-Designer änderte ungewollt die Hintergrundfarbe von Texten darin.
Schlossfelder in Arrays wurden fehlerhaft gesetzt.
Die Funktionen für das Entsperren und Sperren von Versionen über die Spaltensicht waren falsch bezeichnet.
Horizontale Linien im Rich-Text-Editor wurden nicht in Word ausgegeben.
In Arrayzellen konnten per CSV-Zellen keine Kommazahlen importiert werden.
Der Filter auf eine Komponente mit Backslash oder Anführungszeichen im Text konnte systemseitig nicht funktionieren.
Die schnelle Eingabe von Werten bei Schlossfeldern konnte zu einem unerwünschten Schließstatus führen.
Das Kürzel der Dokumentenvorlage wurde durch den Transport beim Aktualisieren der Werte durch die Duplikatprüfung der Kürzel verändert.
Die Berechnung eines einzelnen Knotens mit Arrayattributen in einer TLO-Liste führte zu Fehlern bei sperrbaren Arrayzellen.
Der Transport von TLO-Listen hat die Werte von Hierarchieattributen nicht korrekt übernommen.
Die übergreifende Rechenregelsuche konnte bei sehr schneller Dateneingabe kaputt gehen.
Das Löschen von Knoten im Papierkorb oder das Löschen nicht verhängter Knoten dauerte sehr lange und blockierte andere Berechnungsjobs.
Die gemeinsame Verwendung von tools.sequence() und tools.lcokContextTypeUntilCalculationFinished() konnte in bestimmten Konstellationen zu einem Datenbank-Deadlock führen.
Formatierungsregeln auf Array-Grids aktualisieren die Oberfläche nur mit Verzögerung.
Ausgeblendete Tabs werden im Projekt zu Beginn angezeigt.
Öffnete man ein TLO im TLO-Designer und speichert sofort ohne das Tab „Standard Spaltensichten“ anzuzeigen, so kam es zum Fehler „Invalid state, missing Name“.
Beim Anlegen neuer Projekte und unmittelbarer Projektberechnung konnte die Oberfläche kaputt gehen.
Rechenregelgruppen konnten teilweise nicht korrekt kopiert werden, wenn sie untereinander referenziert waren.
Das Admin-Panel ging nicht mehr auf.
Fehlermeldungen im Baum wurden bei fehlerhaften Rechenregeln nicht mehr korrekt angezeigt.
Attribute wurden teilweise doppelt ausgegeben bei mehrzeiligen Tabellenvorlagen.
Die Anpassung der Höhe eines Charts konnte zum Absturz der Oberfläche führen.
Das Berechnungssystem wurde in der Masterbibliothek nicht mehr korrekt angezeigt.
Die Breite eines Buttons wurde teilweise auf 0 px gesetzt.
Im Firefox bekamen Array-Grids erst nach einem Resize die korrekten vertikalen Scrollbalken.
Beim Duplizieren einer Komponente wurde eine verknüpfte parametrisierbare Combobox nicht richtig geladen.
Beim Einfügen einer Komponente an einer unzulässigen Stelle blieb der Import-Dialog ggf. hängen.
Durch das Senden von zu vielen Notifications konnte es zu Out of Memory Fehlern kommen.
TLO-Referenzen wurden im Baum nicht farbig hervorgehoben.
Die Umwandlung von Stringattributen konnte zu Out of Memory Fehlern führen.
In tools.sendMail() Funktionen konnte nicht auf Array-Attribute zugegriffen werden.