Version 4.3.1

Changelog (Release)

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

Bitte beachten Sie die folgenden Hinweise zu diesem Update

Für Betreuer

  • Evtl. Aktualisieren Sie ihre lokale Installation für IduIT.GeoTools.Net

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

  • Beachten Sie die mit BreakingChanges markierten Einträge.

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

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.

4.3.1 (17.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.

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.

Karte

  • Neu: BreakingChange in der Geometrie-Toolbox wurde die Angabe der "Tol." (Toleranz) geändert. Es wird jetzt die Anzahl der Nachkommastellen erwartet. Die Toleranz wirkt zudem jetzt bei den Aktionen Union, Difference, SymDifference und Intersection.

  • Fix: Beim Schließen der Kartenanwendung mit aktiven 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

AnysouceEditor

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

    • Leere Felder werden nun nicht mehr standardmäßig mit den 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 Zusammenfügen (ehemals Union) Operation gibt es nun den Menüpunkt "Toleranz", welcher es ermöglicht, Anpassungen am Verhalten der "Union" Operation durchzuführen.

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

  • Neu: "Split" wurde in "Teilen" umbenannt, "Union" in "Zusammenfügen".

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

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>
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: 17.05.2024 13:09:30 (erstmals erstellt 16.05.2024)