Version 4.1.0

Hier finden Sie die Historie der Vorgängerversion. Die Änderungen der aktuellen Version finden Sie hier.

Die Version wurde initial August 2019 veröffentlicht.

Bitte beachten Sie die folgenden Hinweise vor der Installation des Updates

Für cardo Systembetreuer: Wir empfehlen den Ausführungen unter "Mein cardo" vor der Installation des Update zu folgen.

Für cardo Anwender: Exportieren Sie evtl. Freihandgeometrien vor der Installation des Updates.

Für cardo Betreuer: Prüfen Sie, ob evtl. die Änderungen der Farbauswertungen in GeoCSS für Sie eine Rolle spielen, planen sie ggf. Zeit für die Anpassungen ein.

Nutzung der jetzt im Managementcenter verfügbaren Iwan7 Typen, als Ersatz für Iwan7-Remote Layer.

Für Entwickler: Wir empfehlen den Ausführungen unter:

besondere Beachtung zu schenken.


Februar 2020

Release 4.1.0.42864 (16.02.2020)

  • Keine Änderung / nur aktualisierte Libs

Januar 2020

Release 4.1.0.42640 (17.01.2020)

  • Fix: Die Suche hatte für AnyDatasource-Elemente, die am administrativen Baum verankert sind, immer die Rechte aus dem Cache verwendet.

Dezember 2019

Release 4.1.0.42514 (17.12.2019)

  • Fix: Im GeoSQL gaben die Methoden ST_Intersection, ST_Split, ST_Snap, ST_Differnce, ST_Simplfy, ST_Buffer fälschlicherweise immer NULL zurück.

Release 4.1.0.42446 (11.12.2019)

  • Änderung: Aktualisierung einer internen Bibliothek (IduIT.GeoLib.Net).

Release 4.1.0.42376 (06.12.2019)

  • Neu: das IwanIxrhTypeUtil wurde um die Methode GetSketchText erweitert, um Sketch-Texte für die MapDecorations erzeugen zu können.

November 2019

Release 4.1.0.42182 (14.11.2019)

  • Neu: die WKT Definitionen für CRS (=EPSG) wurden aktualisiert. Konkret sollte beim Speichern von Shapes-Files die .prj Datei jetzt "ESRI-konformer" sein, siehe auch Changelog zu Iwan7.

  • Fix: u.U. führten die Cache-Benachrichtigungen nicht zum Entfernen der Einträge. Bspw. wurden Änderungen im administrativen Baum erst nach dem Neustart des cardo4 Anwendungspools sichtbar.


Release 4.1.0.42173 (13.11.2019)

  • Fix: Bei WMTS-Hintergrundkarten konnte es beim Umschalten des Bezugssystems der Karte vorkommen, dass "alte" (gecachte) Kachelbilder angezeigt wurden, was zu einer mehr oder weniger verschobenen Darstellung führte.

  • Neu: Die Verwendung von ORF im cardo-Puzzle ist jetzt auch im cardo4 möglich. In diesem Zuge wurde die GSS-Suche von cardo4 angepasst - sie unterstützt jetzt auch den ORF-Context. Dafür ist eine gesonderte structure.xml im Projektordner database/gss/orf zu hinterlegen. Es ist auch die Hinterlegung einer structure_c4.xml für die gesonderte Verwendung in cardo4 möglich.

Release 4.1.0.42110 (05.11.2019)


  • Neu: Das Verhalten beim Laden der nicht initialisierten Ebenen beim cardo-Start wurde etwas überarbeitet, um die Requests an den Kartenserver zu verringern. Fehlerhafte Ebenen werden erst nach 30 Sek. wieder erneut für das Neuladen markiert. Mit jedem Versuch der misslingt, wird die Dauer jeweils um 30 Sek. erhöht. Die Ausgabe beim Starten (nur für Admins) wurde entsprechend angepasst.

  • Änderung: der Clear-Trigger-Button an Formularfeldern im KISS leert Felder jetzt nicht mehr, wenn sie "readOnly" sind.

  • Fix: Im Puzzle funktionierte die Anzeige der Suchtreffer in der Karte nicht korrekt.

  • Fix: Korrekturen an der Sketch-Marker-Darstellung (einfacher Punkt wurde im IE nicht angezeigt; Ankerpunkt der Pfeil-Marker ist nun korrekt).

  • Fix: Task Scheduler - Info-E-Mails wurden nicht in allen Konstellationen korrekt versendet.

  • Neu: Task Scheduler - Angabe eines Textes möglich, der in die Betreffzeile von Info-E-Mails integriert wird, sowie Verbesserungen in den E-Mail Inhalten.

Oktober 2019

Release 4.1.0.42033 (23.10.2019)


  • Neu: Weitere Eigenschaft für die Feldeinstellungen:

    • env.userLogonNameWithoutDomain : Der 2. Teil des Loginnamens des Nutzers nach einen Backslash (Bsp. DOM\MAIER => maier).

    userLogonName und userLogonNameWithoutDomain geben die Namen immer in Kleinschreibung aus.

  • Fix: In der GSS-Suche wurde das Attribut selOffset beim geomType 'layer' bisher nicht ausgewertet. Die Einstellung ist dazu da, den Maßstab (bzw. genauer gesagt, den Abstand zwischen gefundenem Datensatz und Kartenrand) beim "Sprung auf die Karte" festzulegen.

Release 4.1.0.41973 (15.10.2019)


Release 4.1.0.41952 (10.10.2019)


  • Fix: Beim Export von Excel-Tabellen werden Datumsangaben und Zeitstempel (DateTime) nun so ins Tabellenblatt geschrieben, dass Excel die Spalten auch direkt als Datum mit Zeitangabe erkennt und entsprechend anzeigt.

  • Änderung: Verschiedene Anpassungen und Erweiterungen der Breitband-Anwendung.

Release 4.1.0.41910 (09.10.2019)


  • Fix: Beim Export von Ebenendaten als Excel-Tabelle wurden die Spalten u. U. nicht erwartungsgemäß sortiert. Grund war, dass die benutzereigene Sortierung ignoriert wurde.

  • Neu: Die Eigenschaft "Tabname" im Einstellungseditor für Ebenen/Tabellen ist nur noch für Administratoren sichtbar.

Release 4.1.0.41910 (02.10.2019)


  • Neu: In "Mein cardo" gibt es eine neue Aktion, mit der Sketch Zeichnungen und Abfragen aus der cardo3 Ablage in cardo4 importiert werden können.

    In dem Zusammenhang wurden folgende Anpassungen in Sketch vorgenommen:

    • Der Typ "Marker" wurde ergänzt.
    • Der Referenzmaßstab für die Textgröße wird jetzt ausgewertet.
  • Fix: Beim Export von Ebenendaten als Excel-Tabelle wurden die Spalten u.U. falsch sortiert.

  • Fix: Beim Export von Ebenendaten als Excel-Tabelle wurden die Tabelleneinstellungen (Titel, Sichtbarkeit, Formatierung) nicht ausgewertet.

September 2019

Release 4.1.0.41859 (27.09.2019)


  • Neu: Beim Laden von Ebenen mit Sitzungsstatus (bspw. mit der Aktion "Ebene Laden" aus der Sachdatenanzeige) wird jetzt die Kartensitzung mit einem Interval von 5min erhalten, zudem wurde der Standard Sitzungstimeout von 10min auf 30min erhöht.

    Bisher war nach 10 Minuten Inaktivität die Ebene wieder entladen.

  • Neu: Bessere Anzeige langer Ebenenbeschreibungen im Ebenen-Infofenster, z.B. bei Rasterdaten.

  • Neu: Für den EPSG Code 4647 erfolgt jetzt bei der Koordinatenanzeige auch die korrekte Ausgabe der Label (Ost/Nord).

  • Fix: Bei der Aktion "Alle Markierungen entfernen" in der Karte wurde auch die für Snapping dargestellten Bereiche auf der Karte entfernt (und waren dann nicht wieder herstellbar).

  • Fix: Beim Anpassen der Symbolik einer Ebene wurde das Legendenbild leer dargestellt.


Release 4.1.0.41811 (19.09.2019)



Release 4.1.0.41791 (17.09.2019)


  • Fix: Kiss.Ui.Form.Field.Date - hier konnte es immer noch vorkommen, dass bei gleichzeitiger Zuweisung von Datum und Format bei der Initialisierung das übergebene Datum falsch dargestellt wurde.

Release 4.1.0.41716 (06.09.2019)


  • Neu: Im AnySourceEditor werden Felder für die selber keine Gruppe definiert ist und die sich in Tabs befinden, wo mindestens ein Feld eine Gruppe hat, mit der Gruppe "Allgemein" versehen.

  • Fix: Beim Laden einer Sitzung, wo in der Karte keine Grundkarte eingestellt war, wurde die Grundkarte aus den Starteinstellungen verwendet. Dies trat nur bei Grundkarten auf, die asynchron geladen wurden, konkret bei Grundkarten auf Basis eines WMTS Dienstes.

  • Fix: Die Einstellung "Grundkarte über den Themen" wurde u.U. nicht wirksam.


Release 4.1.0.41705 (05.09.2019)


  • Neu: Die Aktionen "Filter setzten" und "Selektionsebene erstellen" sind für Selektionsebenen jetzt nicht mehr im Kontextmenü vorhanden.

  • Neu: Der bei der Betroffenheitsrecherche generierte Filter wurde bisher mit einem evtl. bereits vorhandenem Filter mit AND kombiniert gesetzt, jetzt wird ein evtl. vorhandener Filter überschrieben.

  • Neu: (Eintrag spiegelt den etwas modifizierten Stand vom 14.10.19 wider)

    In der Recherche stehen jetzt die Operatoren

      "Geometrie enthält/schneidet"
      "Geometrie enthält/schneidet/berührt"
    

    zur Verfügung.

    Das interne Verhalten bei geometrischen Verschneidungen variierte bisher etwas, abhängig vom Ebenentyp (Datenquelle). Standardmäßig führten Berührungen nicht zu Treffern, bei Oracle und MS SqlServer jedoch schon. Die Verschneidungs-Operation wurde nun über die Datenquellen hinweg vereinheitlicht und dem Nutzer wird die Wahl gegeben, ob die Verschneidung mit oder ohne die Berücksichtigung von Berührungen ausgeführt werden soll.

    Hintergrundinfo: Eine Verschneidung "mit Berührung" entspricht dem standardmäßigen "Intersect" (ST_Intersects). Die Verschneidung ohne Berührung wird intern mittels der allgemeinen "Relate"-Funktion (ST_Relate) unter Verwendung DE-9IM Maske T******** ausgeführt.

  • Neu: Bei Oracle Ebenen, die in Iwan7 genutzt werden, wird das Argument für die Steuerung der SDE_Version jetzt mit ausgewertet.

    Im Managementcenter können Sie diese Information in der Eigenschaft "iwan7RawJson" in der Form: "sde_version":"meineVersion" angeben.

  • Neu: Kleinere Änderungen am Geometriefeld:

    • Der Sichtbarkeitsstatus bleibt beim Wechseln der Geometrie erhalten (bspw. im AnySource-Editor, beim Wechseln eines Datensatzes).
    • Die Aktion "Zoom auf Geometrie" erzwingt jetzt den Start der Karte.
    • Die initiale Sichtbarkeit der Features kann programmtechnisch übergeben werden.
  • Fix: Der Fehler "Der Wert "NULL" kann nicht in den Typ System.Int32 konvertiert werden." trat bei der Konvertierung in Iwan7 auf, wenn die Quelle eine Oracle Ebene ist und der SRID Parameter den Wert "NULL" hat.


Release 4.1.0.41679 (02.09.2019)


  • Neu: in Sketch können jetzt mehrere Geometrien hinzugefügt werden.

  • Neu: Wird in Sketch ein Feature hinzugefügt, wird die dort evtl. vorhandene Eigenschaft "$title" als Titel übernommen.

  • Neu: Die in einer Sitzung / Karte gespeicherten jetzt überzähligen Freihandgeometrien, können im neuen Eintrag "Restgeometrie" im Menü "Geometrie verwenden" gesichert werden.

  • Fix: Bei aktiver Geometriebearbeitung trat ein ScriptFehler auf, wenn der "Übernehmen" Button in der Karte geklickt wurde, ohne das die Digitalisierung begonnen wurde.

  • Fix: Beim Öffnen der Geometrie-Toolbox trat der Fehler "Die Eigenschaft "OpenlayersComponent" eines undefinierten oder Nullverweises kann nicht abgerufen werden." auf, wenn bisher nicht mind. einmal die Karte geöffnet wurde.

  • Fix: Wenn im Sketch der Markierrahmen sichtbar war, dann wurde bei "Als Freihandgeometrie hinzufügen" nur dieser übernommen, nicht das eigentliche Feature.


4.1.0

August 2019

Karte

  • Neu: Neue Option zum Hinterlegen von Punktfang-Ebenen für die Digitalisierung.

Snapping Init

Dabei können ein oder mehrere Ebenen ausgewählt werden. Für diese müssen die Geometrien auf Anforderung im Kartenausschnitt abgerufen werden, um das Snapping zu nutzen.

Snapping Init

Das Snapping kann vorübergehend deaktiviert werden. Ebenso sind Einstellungen für Kantenfang / Fangtoleranz etc. verfügbar. Der Fang wirkt dabei innerhalb der Karte für alle Arten der Digitalisierung.

Snapping Init

Ist das Snapping aktiv, wird das Umschalten der Kartenprojektion unterbunden.

Die Beschreibung zur Vorgehensweise finden Sie unter https://www.cardogis.com/snapping

  • Neu: Das Speichern des Kartenbildes ist möglich. Dabei kann zwischen dem Erstellen eines "Screenshot" (Standardaktion) des Kartenbildes oder dem serverseitigen Neu-Rendern gewählt werden.

    Copy Map

    Bei der Screenshot-Funktion sind einige Restriktionen mit WMTS Diensten (Stichwort: CORS) zu beachten.

    Beim serverseitigen Abruf wird das Bild in höherer Auflösung neu erstellt. Zudem ist auch TIF mit Tfw als Format möglich.

    Das direkte Kopieren in die Zwischenablage ist nicht vorgesehen (bzw. aus technischen Gründen so nicht mehr realisierbar).

verfügbare Datenquellen

Sachdatenanzeige

  • Neu: Neue Funktion: Schnellgruppierung: Tabellendaten können "on-the-fly" für eine Spalte gruppiert werden.

  • Neu: Bei Nachschlagelisten im Recherche-Werkzeug wurde die maximale Anzahl von Einträgen von 500 auf 50.000 erhöht. Außerdem wird die Liste nun sortiert.

  • Fix: Bei Rechtsklick in die Tabelle wird nun die getroffene Zeile selektiert, wenn sie es nicht schon war.

  • Fix: Im Recherche-Werkzeug wird bei der Darstellung von Zahlen jetzt auf Tausendertrennzeichen verzichtet. Damit deckt sich die Darstellung mit der eventuellen Nachschlageliste.

"Mein cardo"

Geometrie-Feld

  • Neu: Beim Bearbeiten von Geometrien gibt es ein Kontext-Menü, dort sind Aktionen wie Beenden, Stützpunkte anzeigen etc. zu finden.

  • Neu: Für das Hochladen von Hilfsgeometrien in der Toolbox ist neben der Drag&Drop Aktion jetzt auch ein Dateidialog vorhanden (dies löst einige Probleme in Terminal-Server Umgebungen).

  • Neu: Die Checkbox an den Hilfsgeometrien wurde entfernt, das Löschen der Geometrien geht jetzt auf die selektierten Elemente (bisher auf die per Checkbox ausgewählten).

  • Fix: Wenn zulässige Geometrietypen für das Feld eingestellt waren, dann konnte per Toolbox trotzdem eine Geometrie eines beliebigen anderen Typs erstellt werden. Jetzt kommt eine entsprechende Meldung.

Einstellungen für Tabellen

AnySourceEditor

  • Neu: Die Aktion "Gelöschte Datensätze wiederherstellen" ist jetzt auch verfügbar, wenn keine Daten in der Datenliste vorhanden sind.

  • Neu: Der Änderungsstatus der Objekte wird jetzt in der Statusbar links unten angezeigt. Wenn Änderungen vorliegen ist der Fenstertitel mit * - Prefix versehen.

    Any Src Ctx

  • Fix: Die Sortierung für Nachschlageliste wurde für Listenwerte durchgeführt, aber nicht für Tabellenwerte. Das Verhalten war genau umgekehrt wie beabsichtigt.

  • Fix: Beim Bearbeiten eines Datensatzes aus der Sachdatenanzeige mit räumlichem Filter kam bei einer SQLServer Datenquelle der Fehler 'An expression of non-boolean type specified in a context where a condition is expected, near ')'.

  • Fix: In den Einstellungen wurde bei einer Nachschlageliste für ein Feld bei Auswahl des Listentyps "Select" der gewählte Listentyp nach dem Speichern nicht mehr angezeigt.

Desktop

  • Fix: Verbesserungen beim Fenster-Handling beim Wiederherstellen von Sitzungen

    • minimierte Fenster bleiben minimiert,
    • es gibt immer ein aktives Fenster,
    • Fehler behoben, dass mehrere Fenster aktiv waren
  • Neu: Beim Wiederherstellen von Sitzungen oder Anwendungen werden Fehler besser berichtet, wenn die Quelle nicht wiederhergestellt werden kann. Bei der Sachdatenanzeige werden jetzt auch mehr Abhängigkeiten bei der Wiederherstellung geprüft.

  • Neu: Zwischen den Aufrufen von Anwendungen innerhalb einer Sitzung werden die Fensterpositionen und -größen gespeichert.

    Dieser Zustand wird auch lokal (d.h. nicht serverseitig) im localStore des Browsers mitgespeichert.

    Der "Datenbrowser" und "Mein cardo" implementieren auch IVolatileState, d.h. einige Einstellungen über die Position hinaus werden dabei auch gemerkt.

  • Fix: Anwendungsliste/Taskleiste: Im Internet Explorer und Edge wurden manchmal die Breiten der Anwendungsknöpfe falsch berechnet, wodurch der Umbruch der Knöpfe auf mehrere Zeilen falsch war.

  • Fix: Im Suchfeld wurde für die gespeicherten Sitzungen in der Beschreibung das aktuelle Datum, nicht das der Erstellung des Eintrags, angezeigt.

Koordinatenumrechner

  • Neu: Es werden nur noch die Projektionen zur Auswahl angeboten, die das Attribut "ShowInDialogs" haben.

Datenbrowser

  • Neu: Für Tiff Dateien kann in den Eigenschaften das Bild als Grid geladen werden (als Grid verwenden).

  • Neu: Geändertes Verhalten, wenn Kartenebenen, die aus dem Datenbrowser geladen werden, in einer Sitzung oder Einstellung wiederhergestellt werden:

    Beachten Sie diesen Hinweis besonders!

    Es gilt:

    • Wenn eine Datei aus dem Ordner "Meine Daten" geladen wird (Alias:".useruploadroot") und die Einstellung wird für einen anderen Nutzer freigegeben, dann wird trotzdem auf den Ordner des Erstellers zugegriffen. Das System agiert in diesem Moment in dem Ordner des freigebenden Nutzers.
      Bisher wurde die Ebene in diesem Fall nicht neu geladen, das Wiederherstellen ging nur, wenn der Kartenserver die Ebene noch im Zugriff hatte.

    • Vor der Wiederherstellung der Ebenen wird die Berechtigung lt. Datenbrowsereinstellung geprüft (Activatecontent muss gegeben sein)

    • Wird der Status gespeichert, wenn eine freigegebene Datei aus dem Datenbrowser-Homefolder eines anderen Nutzers enthalten ist, wird diese auch mitgespeichert. Im Falle des Freigebens dieser Einstellungen werden die Nutzungsrechte weitergereicht.

Launcher

  • Neu: Mit dem Update des Launchers (muss auf dem Client manuell installiert werden) werden die Browser-Fenster bei Aktionen jetzt in den Vordergrund gebracht.

Dashboard

  • Neu: Neue Aktion "Fehler anzeigen", siehe auch die Server-API Änderungen in dieser Version.

Puzzle Editor

  • Neu: Im Puzzle-Editor, sowie in puzzle-basierten Anwendungen, werden im cardo4 Ausgaben im PDF-Format in einem eingebetteten HTML-basierten Viewer angezeigt. Dadurch erfolgt die Anzeige unabhängig davon, ob ein PDF-Plugin im Browser installiert/aktiviert ist oder nicht. Die Darstellung ist konsistent in allen Browsern und es wird ein schwerwiegendes Darstellungsproblem bei der PDF-PlugIn-Nutzung im Internet Explorer vermieden. Puzzle PDF-Viewer cardo4

GeoSQL

  • Neu: In vordefinierten Abfragen kann jetzt der Standard-Timeout angegeben werden.

  • Neu: Die Parameter-Typen wurden um "Raw" ergänzt, die dort hinterlegten Werte werden unformatiert direkt in das SQL übernommen, dies kann bspw. für Ebenennamen verwendet werden.

Sonstiges

  • Neu: Die Visual-Studio Erweiterung für Version 2019 ist jetzt als asynchrones Package ausgeführt. Zudem wurde ein Fehler behoben, der zum "Einfrieren" von Visual Studio führen konnte.

  • Fix:Das Laden von PostgreSQL Ebenen in Iwan7 schlug fehl, wenn die Pseudo-ID Spalte "NONE" in den Iwan6 Ebeneneinstellungen angegeben war.

  • Fix: Bei Drag&Drop Aktionen auf Ziele mit Mehrfachselektion (z.B. Geometrie-Toolbox) wurde bisher immer die Selektion aufgehoben, bzw. geändert.

  • Neu: Der SSO Anmeldeprovider wertet jetzt den eingestellten Systemproxy mit aus.

  • Fix: Gewrappte cardo3-Anwendungen waren von dem IFrame-Blocker-Bug betroffen. Siehe unten unter Client -> Fix: Das IduIT.Core.Kiss.Ui.Embed.IFrame

  • Fix: Der Geodatenexport hat für neue Exporte bzw. für den Paketexport jetzt die System-Projektion voreingestellt, da es die Einstellung "wie im Viewer", wie sie im cardo3 standardmäßig verwendet wird, im cardo4 so nicht gibt

  • Fix: Lizenz für die Metadaten-Suche wird im cardo4 jetzt auch abgeprüft

PiB

  • Neu: Die erste Anwendung welche die cardo Prozesskomponenten verwendet ist der "Anfragenmanager" des LBEG. Damit hat die Pib-Programmschnittstelle den ersten stabilen Stand erreicht.

    Vom Antrag ...

    Pib Antrag

    ... zur Vorgangsbearbeitung

    Pib Wf

CodeGen - BreakingChange

  • Neu: Geändertes Verhalten bei der Generierung der Typescript Schnittstellen.

    Nullable Datentypen wurden als bisher als optional markiert, dafür nicht als null.

    Das Verhalten wurde jetzt für eine bessere Kompatibilität der TS-Compileroption "strictNullChecks" geändert:

    Als optional markiert, werden nur noch Member die Nullable sind und das Attribut Newtonsoft.Json.DefaultValueHandling.Ignore haben.

    Alle anderen Klassen-Typen müssten eigentlich auch als null deklariert werden.

    Aus Gründen der Kompatibilität bleibt das Verhalten wie bisher (d.h. diese nicht null).

    Um das Verhalten mit null Typ zu erzwingen, kann an der Klasse oder dem Member das TSMakeClassesNullable Attribut deklariert werden.

    Ist sichergestellt, dass der Wert nie null ist, kann für einzelne Member das Attribut NotTSNullableAttribute angegeben werden.

      class X
      {
        int? Foo1 {get;set;}
    
        [Newtonsoft.Json.DefaultValueHandling.Ignore]
        int? Foo2 {get;set;}
    
        string Foo3 {get;set};
    
        [TSMakeClassesNullable]
        string Foo4{get;set;}
      }
    

    Ausgabe in TypeScript:

    Alt:

      interface X
      {
        Foo1?:number;
        Foo2?:number;
    
        Foo3: string;
        Foo4: string;
      }
    

    Neu:

      interface X
      {
        Foo1 :number|null
        Foo2?:number|null
        Foo3:string;
        Foo4:string|null;
      }
    
  • Neu: Das Attribut IduIT.Core.TypeScript.CodeGen.GenerateTSCodeAttribute wird jetzt nicht mehr für vererbte Klassen ausgewertet. Dies ermöglicht eine bessere Steuerbarkeit der Code-Generierung.

CodeGen

  • Neu: Neues Attribut IduIT.Core.Renderer.GenerateScribanDocAttribute, dieses führt zur Erstellung einer Dokumentationsdatei, die mit der ebenfalls neuen Client-Komponente IduIT.Core.Renderer.TypeDocumentationComponent als Hilfe angezeigt werden kann. Dies ist vor allem mit Template-Vorlagen sinnvoll.

    In diesem Zusammenhang wurde auch die Auswertung der XML Kommentare der Assemblies verbessert, "see", "remark" etc. wurden bisher nicht ausgegeben.

  • Neu: Neues Attribut GenerateTSCodeDataModelFieldsAttribute welches in Verbindung mit GenerateTSCode verwendet werden kann. Damit werden die Model-Fields erstellt, die für die Erstellung des Kiss.Data.Model direkt verwendet werden können.

API

Server

  • Neu: Für via PropertyModel erstellte Formulare steht jetzt der neue Handler ROTextValueHandler zur Read-Only Darstellung von einfachen Datentypen zur Verfügung.

    In diesem Zusammenhang wurde auch das neue Interface IValueHandlerWithOptionalConfigAttribute eingeführt. Dabei handelt es sich um eine Spezialisierung des IValueHandlerWithConfigAttribute, wobei aber die Konfiguration optional ist.

  • Neu: Die Methode ValidateDatabaseSettings der CardoManagedApplicationSettingsUtil hat eine neue Überladung. Hier können benötigte Datenbankfunktionen angegeben werden, die mit getestet werden sollen.

  • Neu: BreakingChange Das Interface ISystemstartupInitializer wurde um die Methode ShutdownCardo() erweitert. Wird aufgerufen im Application_End der Anwendung, bzw. beim Beginn des Herunterfahren des Application-Pool.

  • Neu: Die cardo API wurde um eine Methode Cardo4.Env.ReportHandledError erweitert. Diese Meldungen werden im Dashboard angezeigt. Hier sollten Probleme berichtet werden, die nicht bis zur Oberfläche durchdringen, aber doch bei Gelegenheit angegangen werden sollten (durch Anpassen von Einstellungen oder einfach nur "Aufräumen").

  • Neu: das IwanIxrhTypeUtil wurde um die Methoden GetMarkerSketchGraphicsFromGeom und GetSketchGraphicsFromGeom erweitert, um ähnlich der XSLT-Extension Sketch-Grafiken für die MapDecorations erzeugen zu können.

  • Neu: Die Programmbibliothek zur Erstellung von PDF-Dokumenten aus HTML HiQPdf wurde von der Version 10 auf die Version 11 aktualisiert.

Cardo4ApplicationProxy

  • Neu: Neue Methode des public getRedlinesFromCurrentMap(): WellKnownType.Feature[] | null.

  • Neu: Die folgenden Methoden geben jetzt ein Promise zurück (vorher: void):

    • showLayers,
    • setLayerVisibility,
    • focusMapViewer,
    • addUserLayersToMap,
    • removeUserLayerFolderFromMap,
    • addMarker,
    • showSelectionOnMap,
    • setLayerFilter

Client - BreakingChanges

  • Neu: Im Zuge der Anpassungen der Freihandgeometrie wurden die Argumente für map.editHandler.startCreate geändert. die Eigenschaft preventFeatureCreation wurde entfernt.

  • Neu: Die Signatur der Methoden done() und always des IPromise-Interfaces wurde geändert.

      //Bisher:
      done(fn: (value: TDone) => any , scope?: object): this;
    
      //Jetzt:
      done(fn: () => TVoidAndNotAPromise, scope?: object): this;
    

    Der Typ TVoidAndNotAPromise ist:

      type TVoidAndNotAPromise = Exclude<number | string | boolean | null | undefined | Date | void, IduIT.Promise.IPromise<any>>;
    

    Hintergrund: Wir haben beobachtet, dass done und always an einigen Stellen falsch verwendet wurde. Der Compiler hat sich darüber nicht beschwert, da der Rückgabetyp "void" alle Rückgaben erlaubt. Wenn ein IPromise aus einer der Methoden zurückgegeben wurde, kann davon ausgegangen werden, dass das hier nicht "done()", sondern "then()" beabsichtigt ist.

    Da nicht alle Rückgaben im TVoidAndNotAPromise abgebildet sind, kommt es an einigen Stellen zu Fehlern, bspw. bei Funktionen die IDiposeable zurückgeben. Folgende Anpassung ist in dem Fall erforderlich:

    
      //Bringt TS2322: Type 'XXX' is not assignable to type YYY
      done(x => Cardo4.Env.messageHandler.showMessage("x"))
    
      //Richtig:
      done(x => { Cardo4.Env.messageHandler.showMessage("x");})
    

Client

  • Fix: IduIT.cardo.Core.CoreModules.Mapping.Ui.GeometryEditor: Beim Klick auf "Anzeigen"-Knopf konnte es in der Methode __toggleFeatureVisibility zu einem Absturz kommen, weil auf den internen VectorLayer zugegriffen wurde, ohne dass dieser erstellt war.

  • Neu: Neue Methoden lockCrsChanges() und unlockCrsChanges()zum Verhindern der Möglichkeit, das CRS umzuschalten. Die Methoden lösen das ebenfalls neue onCrsChangeLock-Event aus.

  • Neu: Neue Methode saveAs(blob,fileName) für Kiss.Lang.Blob.

  • Neu: An Kiss.Component wurde die Eigenschaft "tag" eingeführt. Hier können anwendungsspezifische Attribute hinterlegt werden.

  • Neu: Die ToggleGroup hat jetzt eine Property "buttons" über die man auf alle IToggleButton`s, die zur Gruppe gehören, zugreifen kann.

  • Neu: Neuer Feld-Typ IduIT.Core.Kiss.Ui.Form.Field.ROField, ähnlich wie Display, aber besserer Stil.

  • Neu: Neue Methode globalSymbolManager.getOlLayerStyle(...)

  • Neu: Anwendungen können optional die neue Schnittstelle IduIT.cardo.Core.CoreModules.Personalization.Session.IVolatileState<T> für "flüchtige Persistenz" von Einstellungen implementieren.

  • Fix: Das IduIT.Core.Kiss.Ui.Embed.IFrame verwendet einen Blocker um Maus-Events abfragen zu können. Dabei wird der Blocker bei (auf dem Document) PointerDown aktiviert und bei PointerUp deaktiviert. Wenn das PointerUp-Event jedoch von einem anderen Element abgebrochen wurde, konnte es passieren, dass der BlockCount stieg, aber nicht mehr abgebaut wurde, wodurch das IFrame für immer blockiert blieb. Hinweis: Technisch bedingt kann es sein, dass man nun noch genau einmal klicken muss, um den IFrame zu entblocken, damit ein PointerUp-Event das Document und somit die Komponente erreicht.

  • Neu/Fix: IduIT.Core.Kiss.Type.Collection.SortedMap hatte bisher keine Methode .replace(key, value). Werte konnten nur über .add aktualisiert werden, was aber die Reihenfolge veränderte. Mit .replace kann jetzt ein Wert anhand des Schlüssels geändert werden, ohne die Reihenfolge zu verändern. Wenn der Schlüssel nicht vorhanden ist, wird nichts gemacht und false zurückgegeben, sonst true.

  • Neu: IduIT.Core.Kiss.Data.Tree hat eine neue Methode updateRoot(node).

  • Neu: IduIT.Core.Kiss.Type.Tree.AbstractNode hat eine neue Methode switch(a,b) zum Vertauschen der Reihenfolge von 2 Kind-Elementen.

  • Neu: CreateDefaultSettings der JsonNetDefaultSettings setzt für den Typ Storage jetzt auch MetadataPropertyHandling = MetadataPropertyHandling.ReadAhead. Probleme traten beim Verwenden des Postgres JSONB Datentyps auf, so dass dort die Attributreihenfolge verändert worden sein konnte. Damit war das erforderliche $type Attribut nicht unbedingt an erster Stelle.


Zuletzt geändert: 21.03.2024 09:46:21 (erstmals erstellt 08.03.2020)