Version 4.2.4

Die Version 4.2.4 wurde initial im Juni September veröffentlicht.

Changelog (Release)

Bitte beachten Sie die folgenden Hinweise zu diesem Update

Für Betreuer

  • Denken Sie daran, das SqlUpdate für die installierten cardo4 Anwendungen aufzurufen (wenn das Monitoring aktiviert ist, wird dies bei korrekter Konfiguration selbständig ausgeführt).

  • Fragen Sie die anderen Hersteller Ihrer cardo4 Anwendungen, ob die "Hinweise für Entwickler" umgesetzt wurden.

  • Sollten Versionen übersprungen worden sein, informieren Sie sich im Changelog auch zu den Hinweisen der vorherigen Version(en)

Für Entwickler

  • Sie sollten auf die TypeScript Version 5.2 aktualisieren.

November 2023

  • Neu: Das Feld mit den internen Bemerkungen für Ebenen und Ordner ist jetzt als mehrzeiliges Feld vorgesehen - d.h. Zeilenumbrüche bleiben dort neuerdings erhalten. Wurden bisher schon Bemerkungen mit Zeilenumbruch erfasst, sind diese beim Speichern verloren gegangen. (#8800)

Oktober 2023

Release 4.2.4.56738 (27.10.2023)

  • Fix: Einige Fehlerbehebungen und Verbesserungen in der neuen Merge-Funktion des AnySourecEditor:

    • bei ausgeblendeten Feldern ist es zu Skript-Fehlern (TypeError: Cannot read properties of undefined) bei der Merge-Funktion gekommen.
    • Merge (Union, Collect) einer Geometriespalte die NULL Werte enthielt führte zum Fehler "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt".
    • u.U. trat ein Skript-Fehler auf (TypeError: value.clone is not a function) wenn in der Datenliste des Editors die Geometrie-Spalte mit zur Anzeige gebracht wurde.
    • Textfelder mit leeren Inhalten werden als leerer Eintrag angezeigt.
    • Fehlerbehebung beim Datentyp Dezimal. War dort ein Wert 0 notiert, wurde dieser bisher ignoriert und nicht zur Einzelauswahl angeboten.
    • Doppelte Zahlen, Textfelder oder Selectboxen werden in der Einzelauswahl nur einmal angezeigt.
    • Fehlerbehebung beim Zurücksetzen der Datenfelder. Es wurde bei der Einzelauswahl des Primärdatensatzes nach dem Zurücksetzen der falsche Geometriewert angezeigt.
    • Bei Auswahlfeldern wird in der Beschreibung jetzt nicht mehr der Wert, sondern der Titel angezeigt.
    • Wird bei der Geometrieerfassung nur ein Geometrietyp zugelassen und entsteht aber bei der geometrischen Zusammenführung ein anderer Geometrietyp (bspw. bei Linien eine Fläche) erhält der Nutzer einen Hinweis und das Feld wird geleert. Über Einzelwert kann die jeweilige Geometrie wieder ins Feld geladen werden.
    • Sind Metadaten Spalten vorhanden, so wird deren Wert nur über die Datenbank gesetzt. Hier trat ein Fehler auf, als versucht wurde, in eine Spalte zu schreiben. Dies gilt auch für disabled Felder, hier wird der Wert des Primärfeldes übernommen.
  • Fix: Bei dem allgemeinen Geodatenexport (Kontextmenü ...) im Format-Shape gibt es Anpassungen am Format der erstellten DBase Datei.

    Es wurden Probleme von ArcGIS Nutzern gemeldet, dass die Daten in der DBase Datei bei der Bearbeitung in ArcGIS korrumpiert wurden.

  • Neu: Verbesserungen und Fixes beim Anzeigen von Geodaten der Formate KML und DXF, siehe auch Iwan7 Changelog.

Release 4.2.4.56529 (06.10.2023)

  • Fix: Bei bestimmten Auswahlfeldern war die Anzeige der Werte defekt und es wurde "undefined" angezeigt.

Release 4.2.4.56522 (05.10.2023)

  • Fix: Beim Erstellen von Beschriftungsebenen zu Ebenen aus dem Datenbrowser wurden alle Ordner und Ebenen aus der Baumansicht der Karte entfernt. Dies ist nun korrigiert.
    • Dieser Fehler hatte auch Auswirkungen bei der Wiederherstellung von Sitzungen, die solche Beschriftungsebenen enthielten. Dort löste es den Scriptfehler TypeError: n.parentNode is null oder TypeError: Cannot read properties of undefined (reading 'depth') aus.

September 2023

4.2.4 (29.09.2023 )

AnySourceEditor

  • Neu: Im Editor können jetzt Datensätze zusammengefasst werden.

    Dazu wurde das Selektions-Modell überarbeitet und eine Mehrfachselektion ermöglicht.

    Diese ist in der Datenliste möglich (mit Maustaste und gehaltener STRG-Taste) und auch bei den Aktionen die über die Karte initiiert werden. In der Karte am Maptip gibt es neben dem bekannten "Dateneditor hinzufügen" die weiteren neuen Aktionen "Selektion ersetzen" bzw. "Zur Selektion hinzufügen."

    Merge

    Diese so selektierten Datensätze können dann zu einem Objekt zusammengefasst werden. Die Funktion wird bei Mehrfachselektion im Menü des Editors aktiv oder kann über das Kontextmenü aufgerufen werden.

    Die Art der Aggregation kann der Benutzer pro Spalte festlegen. Bei Geometriespalten ist das dann bspw. "Union" oder "Konvexe Hülle", bei Zahlen Summe, Mittelwert, bei Texten "längster Text", "Zusammengefasst" etc.

    Merge

    Merge

    (weitere Infos in der OnlineHilfe)

  • Neu: Im Dateneditor können Geometrien geteilt werden. Dazu muss eine weitere Geometrie (Splitgeometrie) in der Karte erfasst werden (Freihandgeometrie oder Sketch).

    Über diese Geometrie kann im Kontextmenü die Teilungsfunktion aufgerufen werden.

    Split Split

    Der Dialog zeigt farblich unterschiedlich die Geometrien, die durch die Teilung entstehen würden. Mit Übernahme in den Editor entsteht ein oder mehrere neue Objekte, das bestehende Objekt wird bezüglich der Geometrie aktualisiert.

    Split

    Entstehen durch die Teilung verschiedene neue Geometrien können diese auch zu einer Gruppe zusammengefasst werden. Diese Zuordnung wird über das Kontexmenü im Teilungsdialog gesteuert.

    Split Split

    In diesem Beispiel entsteht ein neues Objekt statt 3 neuer Objekte im Dateneditor.

Karte

  • Neu: Der Status der Ordner (auf-/zugeklappt) im Themenbaum der Karte wird jetzt auch für "Eigene" Daten im Sitzungsstatus mit gespeichert.

  • Neu: In der Karte kann im Themenbaum bei bestimmten *1) Ebenen die Anzahl der in der Ansicht dargestellten Elemente am Ebenentitel mit angezeigt werden.

    Karte

    Datenquelle: Landeshauptstadt Dresden, dl-de/by-2-0, opendata.dresden.de

    Diese Option ist standardmäßig nicht aktiviert, siehe Einstellungen der Karte.

    Karte

    Zusätzlich kann in der Legendenliste die Option "dynamisch" eingestellt werden. Es werden dann nur die Legendeneinträge angezeigt, die in der aktuellen Kartenansicht enthalten sind.

    Karte

    *1) Hinweise:

    Diese Funktion steht nur für Iwan7 Vektorebenen zur Verfügung, diese entstehen ggf. auch "adHoc", bspw. wenn die Aktion "Symbolik anpassen" verwendet wird.

    Die angezeigte Anzahl und gefilterten Legenden können von der tatsächlichen Anzeige in der Karte abweichen, da die Bounding-Box der abgefragten Ebenen etwas größer als das Kartenbild ist.

    Im PDF Ausdruck ist das Ausdünnen der Legende mit Iwan7 Ebenen damit auch möglich. Nutzen Sie dazu die Einstellung "reduzieren" im Reiter Legende des Druckdialogs.

  • Fix: Fehlerbehebung bei der Animation von Dimensionsebenen. Die Bereichseingrenzung funktionierte nicht mehr korrekt.

  • Fix: Bei der URL-Aufruf-Aktion "Select" (cardo4.COM) wird die Teil-Aktion "Tabelle anzeigen" nun immer unabhängig vom Ergebnis der evtl. zuvor stattfindenden Teil-Aktion "Zoom auf Karte" ausgeführt, um den Umstand zu berücksichtigen, dass es Datensätze mit leeren Geometrien geben kann. Auch die Warnmeldung bei erfolglosem "Zoom zur Karte" wurde angepasst, um diese Möglichkeit mit einzuschließen.

Datenbrowser

  • Neu: Wenn im Datenbrowser Vektordaten geladen werden, wurde bisher immer eine Standard-Symbolik vergeben (Grau ...). Jetzt werden die Farben vom System ausgewählt. Das ist dabei nicht ganz zufällig, der Farbwert wird aus dem (internen) Ebenennamen generiert. Somit sollten beim erneuten Öffnen wieder die gleichen Farben für die Darstellung gewählt werden.

    Karte

    Es gibt dazu zwei Möglichkeiten:

    • Berechnen eines RGB Wertes (Standardverhalten) oder

    • Verwendung einer Farbe aus einer zu hinterlegenden Farbcode-Tabelle (siehe dazu Hinweise in der web.config.template, "DefaultVectorCssColorTable").

      Hinweis: Wir belassen es vorerst zum Testen als Konfiguration, ggf. passen wir das Verhalten nach Ihren Rückmeldungen noch an.

  • Neu: Foreign-Tables werden jetzt in der Tabellenliste bei PostgreSQL Datenbankdatenquellen mit angezeigt.

  • Fix: Bei der Verwendung von Tabellen aus dem Datenbanktyp PostgreSQL wurde die Meldung In der Datenbank ist kein Objekt mit dem Namen "xy" vorhanden. angezeigt, wenn die Tabelle per CREATE FOREIGN TABLE .... erstellt ist.

GeoSQL

  • Neu: Neue, z.Z. noch experimentelle QueryEngine auf Basis von "DuckDB", siehe Iwan7 Changelog.

"Wegekastaster"

  • Neu: Die Anwendung wurde um eine für Mobilgeräte optimierte Version erweitert.

    Wegekataster03

    Ziel ist es, ein generelles Werkzeug zu schaffen um (Teile) von Fachanwendungen für eine sinnvolle mobile Nutzung zu ertüchtigen. Im hier umgesetzten "Wegekataster" kommt cardo.Puzzle als Dateneditor zum Einsatz. Die Anwendung wollen wir dann später allgemein nutzbar umsetzten (für Puzzle-Kategorien).

    Diese mobile cardo4 Version wird in (einer ...) der nächsten Version(en) als eigenständige Anwendung herausgelöst.

    Wir haben auf unserem Testserver eine Demo-Version bereitgestellt, auf Anfrage teilen wir Ihnen gerne die Zugangsdaten mit.

Puzzle

  • Neu: Für Validierungen steht jetzt die Methode uxPuzzle.IsEmpty zur Verfügung.

  • Neu: In der Workbench steht für TabPages die neue Eigenschaft textBefore zur Verfügung, hiermit können "Zwischenüberschriften" eingefügt werden.

    So richtig sinnvoll nur im Zusammenhang mit "TopLevelTabs" mit der Ausrichtung "Links"

  • Neu: Die Sortierung der Lookup-Listen Einträge wurde angepasst, es gelten folgende Regeln:

    • Die Werte werden sortiert nach LABEL, oder wenn vorhanden, nach Sorthint + Label sortiert zurückgegeben.

    Für den SortHint wird nach einer Spalte in der LU Klasse geprüft, die:

    • Simple-Type INTEGER hat,
    • kein Array ist,
    • als SortHint den Wert LU_SORT hat (unter Beachtung der Groß-/Kleinschreibung)
  • Fix: Ein Layout für eine neue Kategorie hat nicht das evtl. vorhandene Layout von SubKlassen bei der Initialisierung übernommen.

  • Fix: Beim Speichern eines Layouts wurden nicht alle Expressionen auf ihre Gültigkeit getestet.

Gazetteer

  • Neu: Es steht ein neuer Importer 'GazetteerAdressenAdrHkDe5Importer' zur Verfügung - mit diesem können Hauskoordinaten im Datenformates der amtlichen Hauskoordinaten Deutschland (HK-DE) in der Version 5 importiert werden. Bisher war nur Version 4.3 implementiert. In der Version 5 gibt es nur noch eine ASCII-Datei mit den Adressen als "Tabelle", in der sowohl die Schlüssel als auch die Adressen enthalten sind. In der Version 4.3 gab es noch zwei getrennte Dateien.

PiB-Anwendungen

  • Neu: Bei der Anzeige einer Arbeitsaufgabe wird das Formular zur Bearbeitung nur dann geladen, wenn die Aufgabe bearbeitet werden kann (nach Übernehmen). Bisher war die Ansicht des Formulars im Hintergrund "blass" sichtbar.

Betroffenheitsrecherche

  • Neu: Besseres Verhalten in der Oberfläche, durch Anzeige eines Overlays während die Abfragen laufen. Die Ausgabe wird erst nach Abschluss aller Teiloperationen generiert, wodurch ein "Flackern" der Anzeige vermieden wird.

  • Neu: Die Abfragen werden in eine Log-Datei geschrieben (Datei yyyy_mm_dd.Betroffenheitsrecherche.htm im Log-Ordner)

Schnellstart

  • Neu: In der Schnellstartsuche ist es nun möglich den ausgewählten Datensatz mit Enter zu öffnen. Diese Funktion führt immer die Erste Aktion des jeweiligen Treffers aus.

Updater

  • Neu: Einige Kunden haben Probleme beim Updater gemeldet, dass das Beenden des IIS Fehlschlug. Es kam eine Meldung der Art Die IIS Dienste konnte nicht beendet werden (iisreset /stop endet mit Code 5). Der Fehler 5 (Zugriff verweigert) tritt beim Überschreiten eines Timeout auf.

    Der Updater ruft iisreset jetzt mit der Option /timeout:95 auf. Tritt der Fehler weiterhin auf, ruft der Updater das iisreset ein zweites mal auf.

  • Neu: Das SQLUpdate wird im "Trockenlauf" des Updaters jetzt nicht mehr ausgeführt. Wenn mehrere cardo Instanzen installiert sind, beschleunigt dies den Vorgang.

    Allerdings erfolgt die Kennwortabfrage dann auch erst, wenn das Update bereits läuft.

API

Client

  • Neu: Unter Kiss.Ui.Core ist nun die Komponente Spinner verfügbar. Die Komponente erzeugt eine Ladeanimation mit Möglicher Fortschrittsanzeige.

  • Neu: Die Input-Klasse hat nun die Eigenschaft autocomplete. Mit dieser können die automatischen Vorschläge des Browsers konfiguriert werden. Doku

  • Neu: Unter Kiss.Lang.Array ist nun die flat() Funktion verfügbar. Diese funktioniert ähnlich wie die Originale JavaScript Flat Funktion. Doku

  • Neu: Wenn der "Clearbutton" in einem Triggerfeld gewählt wird, dann wird das Feld eingeklappt (bspw. bei Auswahl-Listen)

  • Neu: Die Klasse TabView wurde um eine Methode setTabVisibility(tabOrName) ergänzt.

  • Neu: Kiss.Ui.Form.Item ... -der Standwert der Eigenschaft labelVisibility eine ist jetzt InvisibleIfEmpty, -der Standwert der Eigenschaft labelAlign eine ist jetzt ELabelAlign.Left

    Bei Validierungen gibt es die neue Eigenschaft useNullIfIsEmpty, wenn das Field isEmpty() implementiert wird, dann wird an die Validierungen der Wert null übergeben, wenn isEmpty true ergibt.

  • Fix: Der Datentyp in der EnumSelectBox wurde explizit als "new Number" erstellt. Damit funktionierten strikte Vergleiche mit dem "Roh-Wert" des Enums nicht wie gedacht.

Server

  • Neu: Erweiterungen der Klasse CardoManagedApplicationSettings um die Methoden OnBeforeSave und OnLoadForSettingsEditor.

  • Neu: Es gibt jetzt mit DisableGenerateTSCodeAttribute das Gegenstück zu GenerateTSCodeAttribute. Damit kann für Klassen deren Basis-Klasse mit GenerateTSCodeAttribute erstellt wurde, die Generierung des Proxy Codes unterdrückt werden.

ORM

  • Fix: Bei per JoinTable Attribute angefügten Eigenschaften konnte es vorkommen, dass doppelte Spaltennamen im SELECT generiert wurden.

Pib / Presentation

  • Neu: In der Scriban-Extension "uxWeb" steht jetzt über die Eigenschaft HeadingLabelStack ein Hilfsobjekt zur Verfügung, mit welchem HTML Überschriften (H1...) generiert werden können. Dabei stehen die Methoden push("...") und pop() zur Verfügung, die die entsprechenden Hierarchielevel automatisch generieren. Bsp.:

      $hs = uxWeb.HeadingLabelStack;
      $hs.push("Ich werde H1").ToString();
    
      Text ...
    
      $hs.push("Ich werde H2").ToString();
    
      Text ...
    
      $hs.pop
    
      $hs.push("Ich werde auch H2").ToString();
    
      Text ...
    
      $hs.pop
      $hs.pop
    
  • Neu: Neue Methode GetWorkitemInstanceForSingleCall() am WorkflowHandler.

3rd Party

Update externer Bibliotheken:

  • TypeScript 5.1 zu 5.2
  • Font Awesome 6.4.0 zu 6.4.2
  • TSLib 2.5.3 zu 2.6.2
  • Monaco 0.39.0 zu 0.43.0
  • JQuery 3.7.0 zu 3.7.1
  • Markdig 0.31.0 zu 0.33.0
  • Scriban 5.7.0 zu 5.9.0
  • Oracle.ManagedDataAccess 21.10 zu 21.11

Zuletzt geändert: 22.04.2024 18:19:51 (erstmals erstellt 17.12.2023)