Changelog (Entwicklung)

Hier finden Sie die in Arbeit befindlichen Änderungen, ggf. sind diese im Updater als "Getestete Vorabversion" mit enthalten. Für veröffentlichte Änderungen siehe Changelog (Release)

Aktuell ist die Version 4.0.11, diese wurde am 03.05.2019 veröffentlicht.

Die aktuelle Version der Betaversion ist 4.0.12.41188 vom 12.07.2019

Juli 2019

Desktop

  • 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 mit gespeichert.

    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.

Karte

  • Neu: Die Karteikarte "Vektor-Ebenen" wurde entfernt.

  • Fix: Beim Zeichnen eines Selektionslayers kam der Fehler provided uri is invalid: /render?width ...., wenn das CSS spitze Klammern enthielt.

Sachdatenanzeige

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

  • 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.

  • Änderung: 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.

"Mein cardo"

  • Neu: Beim Sitzungsstatus und auch dem erneuten Öffnen werden die zuletzt geöffneten Ordner wieder hergestellt.

  • Neu: Neue Aktionen: "Merken" und "Einfügen" von Dokumenten

  • Neu: Das Löschen mehrerer markierter Dokumente ist möglich.

  • Neu: Jeder Benutzer kann alle gespeicherten Einträge jetzt in selbst zu erstellenden Ordnern organisieren. Die Ordner sind benutzerspezifisch. Neben eigenen Einträgen können auch die freigegebenen Einträge anderer Nutzer mit organisiert werden.

    Mein Cardo Folder

    Folgende Systematik ist implementiert:

    • Es gibt 3 Arten von Ordnern, private (gekoppelt an den Nutzer), globale (vom Betreuer vorgegeben) und die typbasierten.

    • Beim Speichern von Dokumenten werden diese immer in den jeweiligen typbasierten Ordner eingefügt.

    • ... von dort können die Dokumente in den privaten oder, entsprechende Berechtigungen vorausgesetzt, in den globalen Ordner per Drag&Drop verschoben werden.

    • Innerhalb des globalen oder privaten Ordner werden die Dokumente verschoben.

    • Übergreifend werden die Dokumente kopiert.

    Wichtig: Des Weiteren wurde eine ref. Integrität zwischen den gespeicherten Dokumenten und der Tabelle cdo_wellknown_users hergestellt. D.h. beim Löschen/Umbenennen von Benutzereinträgen werden die erstellten Dokumente mit beachtet. Sollte es Probleme beim DB Update geben, dann sprechen Sie uns bitte an. Im Update ist z.Z. kein Bereinigen verwaister Einträge enthalten.

    Führen Sie, wenn möglich, vor dem Update folgendes Statement aus, um auf diese verwaisten Einträge zu prüfen:

    select distinct ds_creator from km_meta.cdo4_own_documents
    where not ds_creator in (select user_name from km_meta.cdo_wellknown_users)
    

    Erhalten Sie verwaiste Einträge, so sollten Sie prüfen, ob diese eventuell unter anderem Namen genutzt werden und die Namen in der Tabelle cdo4_own_documents anpassen. Sind diese Einträge wirklich veraltet, so löschen Sie diese:

    delete from km_meta.cdo4_own_documents 
    where not ds_creator in (select user_name from km_meta.cdo_wellknown_users)
    

    Folgende Fehlermeldung erhalten Sie (für Postgres, Oracle oder MsSql ähnlich), wenn das SQL Update durchgeführt wurde und verwaiste Einträge vorhanden sind:

    ERROR: 23503: insert or update on table "cdo4_own_documents" violates foreign key constraint "fk_c4owndoc_wkusr"

    Die Abfragen hier sind dargestellt für PostgreSQL, bei Oracle/SqlServer das Schema km_meta anpassen

Puzzle Editor

  • Neu: Im Puzzle-Editor, sowie Puzzle-basierten Anwendungen, im cardo4 werden 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

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: Laden von PostgreSQL Ebenen in Iwan7 schlug fehl, wenn die Pseudo-ID Spalten "NONE" in den Iwan6 Ebeneneinstellungen angegeben war.

  • Fix: Bei Drag&Drop Aktionen auf Ziele mit Mehrfachselektion (z.B. Geometrie-Toolbox) wurden 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

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.

  • 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.

API

Server

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

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

  • Neu : BreakingChange: Die Signatur des Events onStart für den Applicationmanager wurde geändert. Alt :

      /**
      * Gibt den WellKnownType an, der mit der Anwendung gestartet wird,
      * sofern vorhanden.
      */
      wellKnownType: WellKnownType.IWellKnownType;
    

    Neu:

      /**
    * Gibt den WellKnownType an, der mit der Anwendung gestartet wird,
      * sofern vorhanden. und die Information, ob das Start im Kontext einer Wiederherstellung passiert
      */
      reason: IClientAppInstantiationReason;
    
  • 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 eine 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 .set(key, value). Werte konnten nur über .add aktualisiert werden, was aber die Reihenfolge veränderte. Mit .set kann jetzt ein Wert anhand des Schlüssels geändert werden, ohne die Reihenfolge anzufassen. 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 waren sonst beim verwenden mit Postgres JSONB Datentyps, dass dort die Attributreihenfolge verändert worden sein konnte, damit war das erforderlich $type Attribut nicht unbedingt an erster Stelle.


Zuletzt geändert: 12.07.2019 16:47:43 (erstmals erstellt 02.07.2019)