Version 4.3.1

Changelog (Release)

Aktuell ist die Version 4.3.1, diese wurde am 21.05.2024 veröffentlicht.

Bitte beachten Sie die folgenden Hinweise zu diesem Update

Für Betreuer

  • Beachten Sie ggf. den Updater auf "Aktuelles öffentliches Release" einzustellen.

  • Evtl. aktualisieren Sie ihre lokale Installation für IduIT.GeoTools.Net, beachten Sie hier evtl. auch die Hinweise für Update der VCRedist Iwan7

  • Beachten Sie die Anpassungen am Startmenü, evtl. sollten Sie ihre Nutzer vorab informieren.

  • Beachten Sie die mit BreakingChanges markierten Einträge.

  • Wenn Sie Anwendungen von Dritten verwenden, stellen Sie sicher das die Entwickler die aktualisierte NpgSQL verwenden.

  • Führen Sie ggf. die SQL Updates für installierte cardo4-Anwendungen durch.

Für Entwickler

  • Die NpgSQL.Dll wurde auf Version 4.1.13 aktualisiert, ggf. kompilieren Sie den C# Code Ihrer Anwendung neu.

  • Sie sollten auf die TypeScript Version 5.4 aktualisieren.

Juli 2024

  • Fix: Symboleditor: Das Tool zur Auswahl von Marker-Symbolen stand nicht mehr zur Verfügung.

PiB

  • Fix: Bei Erstellung von Word-Variablen aus Platzhaltern bei Generierung von Worddokumenten wird jetzt immer ein '* MERGEFORMAT' an die Variable angehangen, damit der spätere Inhalt de Formatierung der Umgebung der Position im Worddokument bekommt.

Juni 2024

4.3.1.59677 (24.06.2024)

  • Fix: Bei der Verwendung der Scriban-Extension SanitizeHtml konnte der Fehler Invalid Number auf Arguments ... auftreten.

4.3.1.59579 (23.06.2024)

  • Neu: Verbesserungen in den MapServer-Protokoll-Ansichten (Iwan6, Iwan7): Benennung der Detailstufen, Gruppierungs- und Filter-Möglichkeit nach der Thread-Id.

  • Neu: Für den Cardo4ApplicationProxy wurde für die Methode addMarkerFromIwanGeom ein Parameter style ergänzt, der dem anwendungspezifischen MarkerLayer beim Anlegen hinterlegt wird.

  • Neu: Für den Cardo4ApplicationProxy wurden die Methoden addMarkerFromIwanGeom und addMarkersFromIwanGeoms angepasst. Sofern kein Style explizit übergeben wird, wird in den Symboleinstellungen der cardo-Instanz nach einem Style gesucht. Als TypeName ist dabei IduIT.cardo.Core.CoreModules.Mapping.Cardo4AppProxy.AppMarkerLayerStyle. + this.__owner.c3AppConfig.applicationKey (d.h. der Key der Anwendung, die den AppProxy nutzt) zu verwenden. Siehe Beschreibung in der Hilfe.

  • Fix: Bei C2C konnte es zu dem Fehler .. PreProcessData. Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt kommen, wenn doppelte Spaltennamen enthalten waren, die sich nur in der Groß/Kleinschreibung unterscheiden.

4.3.1.59491 (08.06.2024)

  • Fix: Im Daten-Tabellen-Editor schlug das Speichern mit der Fehlermeldung fehl: Daten konnten nicht gespeichert werden. Folgender interner Fehler trat auf: Value cannot be null. Parameter name: changes

  • Fix: Unterdrückung der Meldung "Message: Value cannot be null" im Eventlog (dies trat beim Beenden des IIS Worker-Prozess auf).

  • Neu: Die Trace-Level Werte in Iwan7 wurde angepasst.

    Im Trace werden evtl. andere Level angezeigt, Sie sollten das Iwan7-Tracefile nach dem Update leeren.

Mai 2024

4.3.1.59360 (29.05.2024)

Symboleditor

  • Neu: Änderungen an der Transparenz können nun in 0.1 Schritten durchgeführt werden

  • Neu: Für das Transparenz-Feld wurde ein min-max Range eingestellt.

Allgemein

  • Fix: Wurde das Sachdatenfenster nach Start der Betroffenheitsanalyse geschlossen und diese anschließend gestartet, traten Folgefehler auf (#10259)

PiB

  • Fix: Beim Anzeigen von Dateien aus einer Nachforderung trat u.U. der Fehler Problem beim Erstellen des Downloads: Die Datei XX ist nicht vorhanden, oder keinem PIB Objekt zugeordnet.

  • Neu: Anbindung des RLP-DMS-Adapters:

    • neue Auswahl des Typs eGov-Adapter LBG-RLP in den DMS-Einstellungen
    • Angabe einer URL zur Authentifizierung und Anforderung eines JWT (JSON Web Token)
  • Neu: Einige DMS-Parameter werden jetzt nur für zugehörigen DMS-Typ angezeigt.


4.3.1 (21.05.2024)

cardo

Einstellungen

  • Neu: Bei den Einstellungen der MemberProvider kann der Domäne-Name mit doppelten Anführungszeichen angegeben werden. Der Domänen-Teil der generierten Objektnamen wird dann direkt aus dem angegebenen Wert gebildet (d.h. kein Lookup auf den NetBIOS Namen oder Verwenden des Teils vor dem Punkt.)

  • Fix: In der Benutzerverwaltung wurden Beschreibung und Gruppierung HtmlEncoded seit Version 4.3.0, die Ausgabe erfolgt jetzt wieder formatiert.

  • Fix: Beim Anlegen eines neuen Benutzers/Gruppe wurden initial im Footer Werte als geändert angezeigt.

  • Fix: Beim Speichern einer "Meine Karte" in den Systemeinstellungen wurde der Haken zur öffentlichen Freigabe nicht so gesetzt, dass er korrekt ausgewertet wurde. (#10104)

Allgemein

  • Neu: Mit den Tasten "STRG + ^" oder "STRG + <" kann zwischen den aktiven Anwendungen hin und her geschaltet werden. (Ähnlich wie "STRG + TAB" in Windows)

    • Mit den Tasten "STRG + ALT + ^" oder "STRG + ALT + <" kann das Menü dauerhaft angezeigt werden. (Ähnlich wie "STRG + ALT + TAB" in Windows)

    Shortcuts

  • Neu: Mit der Tastenkombination "STRG + Q" kann das aktive Fenster geschlossen werden.

  • Neu: Mit "STRG + H" kann das aktive Fenster minimiert werden.

  • Neu: Mit der Tastenkombination "STRG + D" kann nun der Desktop angezeigt werden.

  • Neu: Das Andocken eines Fensters ist nun mit den Tastenkombinationen "STRG + (PFEILTASTE)" möglich.

    • "STRG + LINK/RECHTS" dockt das aktive Fenster auf der gesamten Höhe links oder rechts an.

    • "STRG + RUNTER" dockt das aktive Fenster je nach aktuell angedockter Position links oder rechts unten an, sollte es maximiert sein, wird es in der Normalansicht stufenweise nach unten bewegt.

    • "STRG + HOCH" dockt das aktive Fenster je nach Position oben an, sollte es bereits oben links oder rechts sein, wird es maximiert.

  • Neu: Alle Tastenkombinationen sind als Übersicht im cardo im Anwendungsmenü hinterlegt.

  • Neu: strictNullChecks wurden für weitere Projekte aktiviert, um Laufzeitfehler zu vermeiden.

  • Fix: Fehlerbehebung beim Erstellen eines Desktop-Icons für eine Ebene mit Filter.

Startmenü

  • Neu: Das Startmenü wurde komplett überarbeitet, um das Finden und Starten der jeweiligen Anwendung schneller und einfacher zu gestalten.

    • Anwendungen können nun in der Anwendungsübersicht gesucht und entsprechend mit "Enter" oder Mausklick gestartet werden.

    • Mit "STRG + LEERTASTE" kann nun das Startmenü aufgerufen werden.

    Start

  • Fix: Es konnte passieren, dass die Anwendungsübersicht nicht mit "Esc" geschlossen werden konnte.

Sachdatenanzeige

  • Neu: Hinweise und ausführliche Meldungen, wenn bei der Datenanzeige festgestellt wird, dass die Werte einer ID-Spalte nicht eindeutig sind.

    Start

  • Fix: Wenn der angegebene ID Wert einer Tabelle nicht wirklich eindeutig war, dann wurde bei Datenauszügen u.U. die falsche Zeile verwendet (bspw. bei Geometrie in Karte anzeigen).

  • Fix: Wenn über einen Dateilink eine Ebene geladen wurde, so war diese initial nicht angeschaltet. Dies wurde korrigiert.

Export

  • Neu: Änderung des Namens einer Shapeebene beim Sammelexport, statt Selektion wird nun das Wort Auszug angefügt.

Karte

  • Neu: In der Geometrie-Toolbox wurde die Eingabe der Toleranz ("Tol.") verändert, so dass der Nutzer dabei besser geführt wird und informiert wird. Zudem wird die Toleranz, sofern angegeben, nun bei allen Operationen angewendet, wo dies sinnvoll möglich ist: Union, Intersection, Difference, sym. Difference und Split.

  • Fix: Beim Schließen der Kartenanwendung mit aktivem Selektionstool konnte diese nicht geschlossen werden, bis die Selektion beendet wurde.

  • Fix: Im Kontextmenü für gefilterte Ebenen brachte der Eintrag "zum Desktop hinzufügen" eine Fehlermeldung.

Datenbrowser

  • Neu Ebenen, die per "Übersichtsebene der Bilddaten" geladen wurden, verfügen im Kontextmenü jetzt auch über die Aktionen "Merkliste" und "Download" (ab mehr als einer Datei).

Symboleditor

  • Neu: Schriftarten können im Symboleditor jetzt über eine Auswahlliste ausgewählt werden.

    Start

AnysourceEditor

  • Neu: Verändertes Verhalten beim Zusammenführen von Daten:

    • Leere Felder werden nun nicht mehr standardmäßig mit dem nächst besten Wert gefüllt. Dieses Verhalten kann nun mit dem Button Leerwertverhalten gesteuert werden.

    • Bei der Begründung der Datenauswahl wird nun ein Hinweis angezeigt, wenn theoretisch mehr leere Felder vorhanden sind, diese aber aufgrund des Ersetzens leerer Felder ignoriert werden.

    • Der Primärdatensatz wurde in "Hauptdatensatz" umbenannt und beschreibt den Datensatz, mit dem readonly Felder überschrieben werden.

    • Es gibt nun eine Auswahl, mit welcher der "Hauptdatensatz" als "Primärdatensatz" verwendet wird.

  • Neu: Für die Vereinigen-Operation (Union) gibt es nun den Unter-Menüpunkt "Mit Toleranz vereinigen (Union)", welcher es ermöglicht, die Präzision festzulegen (i. d. R. zu reduzieren), mit der die Operation ausgeführt wird.

  • Neu: Beim Analysieren der Daten wird nun der Fortschritt angezeigt.

  • Neu: "Split" wurde in "Teilen" umbenannt, "Union" in "Vereinigen".

  • Neu: In der Teilen-Funktion ist es nun möglich die Außen-/Innenringe eines Polygons zum Teilen der Geometrie zu verwenden.

    Start

  • Neu: Beim Zusammenfügen der Geometrien wurde die Funktion Collection entfernt.

  • Fix: Beim wiederholten Aufrufen der Funktion "Auf Geometrie zoomen" wurde die Karte nicht mehr in den Vordergrund geholt.

  • Fix: In den Einstellungen hat die clientseitige Validierung der Felder nicht richtig funktioniert.

Puzzle

  • Neu: Beim Bearbeiten von Geometrien werden jetzt standardmäßig die Stützpunkte der zu bearbeitenden Geometrie mit angezeigt.

  • Neu: PuzzleServices2 erweitert um die Methode GetLookupDataForClasses2. Bei dieser können die KlassenIds jetzt als ein kommagetrennter String übergeben werden - dadurch ist die Methode über die generische WebSite aufrufbar. (#1935)

Ebenenverwaltung in cardo4

  • Neu: Erste Version des Admin-Trees implementiert. Folgende Funktionen sind z.Z. verfügbar:

    • Erstellen von Ebenen,
    • Bearbeiten vorhandener Ebenen (Definition der Ebene + Sorthint + Icon (Typ)),
    • Neue Möglichkeit einen Datenbank-Alias als Quelle anzugeben (sourceLable),
    • Support für Drag&Drop aus dem Datenbrowser heraus für das Erstellen einer DB-Ebene,
    • Einstellen der Berechtigungen,
    • Löschen von Ordnern und Ebenen
    • Überarbeitung der Hinweistexte für die Parameter.

    Dieses Feature ist noch "experimentell". Um es zu aktivieren muss in der web.config im CoreWeb4-Ordner der Eintrag <add key="EnableExperimentalFeatures" value="true" /> hinzugefügt werden.

  • Fix: Diverse Fehlerbehebungen bei der Konvertierung Iwan6 zu Iwan7.

  • Fix: Im alten Symboleditor in der Administration ist jetzt wieder die Auswahl eines Punktsymbols aus einer Schriftart möglich (#10112).

API

Client

  • Neu: Kiss.Lang.Array verfügt jetzt über eine Methode containsAny, mit der zwei Arrays des gleichen Typs miteinander verglichen und geprüft werden können, ob mindestens ein Element aus dem ersten Array auch im zweiten Array enthalten ist.

  • Neu: Für eine allgemein besser zugängliche Verwendung der OperationFailedButCanForcedException wurde die Hilfsklasse IduIT.PiB.Tools.RetryHelper eingeführt.

    Client-seitig:

    PiB.Tools.ToolInfo.runAsyncResultWithRetry(
        "Wirklich löschen ...?",
        (retry) =>
        {
              return R.AxDelete(row.node.value.id, retry);
        }).fail(raise);
    

    Server-seitig:

    [AjaxMethod]
    public void AxDelete(IdType nodeOrParagraph, IduIT.PiB.Tools.ResolvedRetryArgs retry)
    {
         IduIT.PiB.Tools.RetryHelper.RequireRetry(retry, () =>
         {
           return Cond ? "Solle wirklich ..." : null;
         });
    
       //dann geht es hier weiter, sonst kommt eine Rückfrage
    }
    
  • Neu: Bei den StartOptions eines WKT Entry wird jetzt zusätzlich die gewählte Option mit übergeben, bisher nur der Key.

  • Neu: Für die Verwendung des ReactiveForm gibt es jetzt Unterstützungsklassen für das Generieren des Codes für C# Klassen und eine clientseitige Standard-Implementierung für das Generieren eines Kiss.Ui.Form.IField.

    Server:

    public string AxGetFormCode()
    {
      var rfCodeGen = new IduIT.Core.ReactiveForm.CodeGen();
      var type = typeof(MyCSharpClass);
      return rfCodeGen.GenerateReactiveFormRuntime(t);
    
    }
    

    Client:

       return IduIT.Core.ReactiveForm.CodeGen.makeFormFieldFromCodeGenResult(
      			(unused) => FooRemote.AxGetFormCode()
      		)
      			.then(field => new Kiss.Ui.Form.Item({
      				name: Model.ICreateRecordTypeModelBase.keys.props,
      				field: field,
      				labelAlign: Kiss.Ui.Form.ELabelAlign.Top,
      				label: propDef.title
      			}));  
    
  • Neu: Die Methode _initConfig der Basisklasse Kiss.Ui.Core.Component kann jetzt auch ein Promise zurückgeben, das Initialisieren der Komponente wird dann erst nach dem Auflösen fortgesetzt.

  • Neu: Neue Methode Kiss.Lang.String.parseHtmlToDocumentApplyBaseUrl zum Anpassen der Base-Url in HTML Fragmenten.

  • Neu: IduIT.Core.Kiss.Ui.Tree wurde um die Methode navigateToNodeByOrderedIds() erweitert, diese navigiert ggf. asynchron zu einem bestehenden Pfad.

  • Neu: Neue Kiss.lang.String.htmlAttributeEncode() Methode.

  • Neu: Kiss-Events können nun als System-Event registriert werden, um unabhängig von gestoppten Events weiterhin Betriebssystem bezogene Aktionen auszuführen.

  • Neu: Kiss.Ui.Command.Shortcut können nun der Parameter isSystemShortcut erhalten, welcher dafür sorgt, dass der jeweilige Shortcut als System-Event registriert wird.

  • Neu: Unter Kiss.Ui.Menu.Manager können nun mit der Funktion closeAll() alle Menüs der Seite geschlossen werden.

  • Neu: Neue Methode Kiss.Lang.Array.distinctCount

  • Neu: Mit Kiss.Ui.Form.Input.isInput kann nun geprüft werden, ob es sich bei dem angegebenen Feld, um ein Inputfeld nach den Vorgaben des Kiss.Ui.Form.Input.IInput handelt.

  • Neu: Für den Cardo4ApplicationProxy wurde für die Methode retrieveGeometry die Symbolik der Geometriebearbeitung angepasst. Standardmäßig werden beim Bearbeiten einer vorhandenen Geometrie jetzt deren Stützpunkte angezeigt.

    Zudem gibt es zwei neue Symboltypen, über die die Bearbeitungssymbolik individuell anpassbar ist:

    • IduIT.cardo.Core.CoreModules.Mapping.Cardo4AppProxy.GeomAddStyle

    • IduIT.cardo.Core.CoreModules.Mapping.Cardo4AppProxy.GeomEditStyle

      Siehe Beschreibung in der Hilfe.

  • Fix: Beim GeomInputField wird konfigurierbare editGeomStyle jetzt auch beim Bearbeiten einer Geometrie verwendet - bisher nur beim Anlegen einer neuen.

Server

  • Neu: Das Attribut TSMakeClassesNullable kann jetzt auch an Ajax-Rückgabeparametern angegeben werde.

      [return: IduIT.Core.TypeScript.CodeGen.TSMakeClassesNullable]
      public Wilma.WilmaParagraphResult AxGetWilmaParagraphHtml() { }
    
  • Neu: Neue Methode Concat in IduIT.Core.Data.ORM. für die Generierung von CONCAT Statements mit mehr als zwei Argumenten.

  • Neu: Neue Klasse IduIT.Core.Data.DatabaseHandlerWrapper mit Implementierung des SQLUpdate. Diese kann für Vermeidung direkter Referenzen zu IDU.* Dlls verwendet werden.

  • Neu: Neue Methode TreeGetRecordAndConnectedParents für den ORM-Handler vereinfacht das Abrufen von hierarchischen Daten, hier die Eltern-Elemente eines Eintrags.

  • Neu: Der Member-Provider für cardo gibt nicht mehr die Beschreibungen als Klarnamen aus.

  • Neu: Zwei neue Klassen Core.Collections.NormalizedStringHashSet und IduIT.Core.Data.ORM.QueryArgumentsCollection. Letztgenannte wird im ORM jetzt verwendet und dedupliziert Parameterwerte.

Presentation

  • Neu: In der globalen Scriban-Extension wurden folgende Methoden hinzugefügt:
    • ToIList - Konvertierung IEnumerable in IList<object>
    • AlignAllLinesAtFirstWhiteSpaceCount - Ausrichtung von Textzeilen
PiB
  • Neu: Spezielle Auszeichnungstags ermöglichen die Erstellung von docx-Header und -Footer aus Html:

    • documentPage für Seiteneinstellungen
    • documentStyle für Styles
    • documentHeader/documentHeader für Header/Footer auch abhängig vom Seitenindex
    • documentBody für den Inhalt des Dokumentes
    • documentShape (innerhalb eines documentHeader) für die Positionierung eines TextBlockes auf der Seite im Kontext des Headers
  • Neu: Die Darstellung der Filter in den Listen wurde überarbeitet:

    • die Felder sind in einem (klappbaren) Panel angeordnet
    • Benutzer können eigene Gruppen von Filtern pro Liste verwalten
  • Neu: Die (programmtechnisch zu setzende) Konfiguration wurde erweitert:

    • Anzeige der Anzahl der direkt erfassten Kommentare
    • externe Status-Informationen
  • Neu: Erweiterungen an der Klasse DocumentEngine:

    • Neue Methode AddVariableValue, der ein Dokument als Wert übergeben werden kann.
    • Neue Methoden SetContent/AppendContent mit StringContent als Argument.
    • Erweiterung der Syntax für Html/Text-Import um die Anweisung {DOCVARIABLE}[Feld1] zur Definition einer Feld-Variable.
  • Fix: Bei der Anzeige der Kommentare "Alle Kommentare" wurden nur Kommentare an in Beziehung stehender Objekte angezeigt.

3rd Party

Update externer Bibliotheken:

  • TypeScript 5.3 zu 5.4
  • Markdig 0.34.0 zu 0.37.0
  • Scriban 5.9.0 zu 5.10.0
  • Monaco 0.46.0 zu 0.48.0
  • DOMPurify 3.0.8 zu 3.1.3
  • Fontawesome 6.5.1 zu 6.5.2
  • Oracle.ManagedDataAccess 21.13 zu 21.14
  • NpgSql 4.1.12 zu 4.1.13

Zuletzt geändert: 18.07.2024 15:29:14 (erstmals erstellt 18.07.2024)