Version 4.3.6

Changelog (Release)

Aktuell ist die Version 4.3.6, diese wurde am 29.08.2025 veröffentlicht.

Bitte beachten Sie die folgenden Hinweise zu diesem Update

Für Administratoren

  • Wir haben eine kleine Anleitung für die Installation von Loki+Grafana zusammengestellt.

Für Betreuer

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

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

  • Die Hinweise unter Einstellungen könnten von Interesse sein.

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

  • Wenn die neue Ebenenverwaltung aktiviert ist, kommt u.U. beim Aufruf von Einstellungen => Berechtigungen und Ebenen eine Meldung der Art "relation "wilma_spaces" does not exist". Bitte rufen Sie in Einstellungen => Systemwartung die Aktion "SQL Update für cardo4" auf.

    Hinweis: In folgenden Updates wird dies wie sonst gewohnt vom Updater mit ausgeführt

Für Entwickler

Sollten Sie die Version 4.3.6 bisher noch nicht installiert haben, lesen Sie bitte auch die Hinweise zu dem vorherigem Update 4.3.5

unreleased

  • Fix: Druck: bei Custom-CSS an Ebenen konnte es zu einem Fehler beim Generieren der Legende kommen, wenn im CSS Referenzen auf Spalten der Qzuelle enthalten waren
  • Fix: Druck: bei als Iwan7-Ebene eingebundenen WMS-Diensten wurde nicht verlässlich erkannt, dass es sich um ein komplexes Legendenbild handelt. Deswegen wurden teilweise Label neben dem Legendenbild ausgegeben.

Oktober 2025

4.3.6.65165 (22.10.2025)

  • Fix: ORF: Das Entfernen einer Georeferenz eines VIS-Dokumenttyps verursachte einen Ausnahmefehler, wenn diese Referenz ebenfalls von einem anderen Dokumenttyp referenziert wurde

4.3.6.65111 (17.10.2025)

  • Change: ORF: Die Implementation des VISkompakt-Dokumenttyps wurde erweitert, um diesen im Kontext eines weiteren, nicht global konfigurierten VIS-Kontos (Verwendung im VisConnector) zu nutzen

September 2025

4.3.6.64835 (22.09.2025)

  • Fix: Bei der Kennwort-Zurücksetzen-Funktion mittels E-Mail-Adresse wurde diese nicht case-insensitiv ausgewertet.

4.3.6.64803 (19.09.2025)

  • Fix: U.U. wurden bei der Topologie-Bearbeitung mit ORACLE als Datenquelle keine Stützpunkte für den Fang ermittelt.

4.3.6.64765 (17.09.2025)

  • Neu: Bei der Konvertierung der Symbole zu GeoCSS wird die Eigensschaft antialias auch dann gesetzt, wenn in dem Iwan6 Symbol nur alpha-Werte gesetzt waren (d.h. nicht explizit dort antialias=true war).

  • Fix: Wenn bei einem Button2 Plan das Argument "args" nicht angegeben war, trat der Fehler "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." auf.

4.3.6.64727 (15.09.2025)

  • Neu: Die Funktion "Kennwort zurücksetzen" kann künftig auch das Datenfeld "E-Mail-Adresse" aus der Nutzerverwaltung verwenden. Ob dieses Datenfeld jedoch für die "Kennwort zurücksetzen"-Funktion tatsächlich zur Verfügung stehen soll oder nicht, ist konfigurierbar (Standard ist "nein").

  • Fix: Bei der Abfrage von DateTime-Werten wurden in bestimmten Konstellationen falsche Ergebnisse geliefert. Siehe auch Iwan7-Changelog

4.3.6.64692 (13.09.2025)

  • Fix: Beim Bearbeiten von Datensätzen aus einer Ebene mit einem Filter mit OR Verknüpfung wurden aus dem MapTip heraus mehr Daten in den Editor übernommen, als im Maptip Ergebnis enthalten waren.

  • Fix: Bei einem Filter mit mehreren per OR verknüpften Geometrien die die gleiche Anzahl Stützpunkt haben wurde u.U. nicht alle Datensätze in der Karte angezeigt.

4.3.6.64655 (10.09.2025)

  • Neu: Im Symboleditor werden in Ausdrücken (bspw. bei Beschriftungen) die Spaltenauswahl jetzt sortiert (nach Datentyp, dann nach Name der Spalte) ausgegeben.

  • Fix: Button2: Berichte mit Argumenten vom Typ "Datei" (Bspw. XPlan Dateien) konnten nicht in Chromium-Browsern verwendet werden.

    Angepasst wurden zudem einige Fehlermeldungen, diese sollten jetzt mehr Informationen zur Problemlösung bieten.

4.3.6.64611 (09.09.2025)

  • Neu: Bei der Konvertierung in der neuen Ebenenverwaltung von Iwan6 => Iwan7 werden Variablen für "theInitExtent" aufgelöst (d.h. die Werte werden in die Iwan7 Parameter minx,miny, maxx, maxy, epsgCode übernommen).

  • Neu: Beim Export einzelner Nodes in Wilma werden die Eltern-Knoten jetzt immer mit exportiert.

  • Neu: Die Übergabe von Array-Werten im Modul Button2 erfolgt jetzt in JSON-Array Notation.

  • Neu: cardo.Mobil

    • Die Gruppierung der Grundkarte wird nun mit angezeigt.
    • Es wird jetzt immer der cardo4 Themenbaum angezeigt (u.U. wurde ein andere Layer-View gewählt)
  • Fix: cardo.Mobil - Themenbaum:

    • Die Ebenen von als Favorit hinzugefügten Ordnern konnten nicht eingeschaltet werden.
    • Das Widget "Themenansicht" war immer einen Schritt hinter der Karte.
  • Fix: Kritischer Fehler im Zusammenhang mit verschlüsselten Werten behoben (betrifft IduIT.GeoLib.Net). Es konnte dabei zum Beenden des Webserver-Prozesses kommen.

August 2025

4.3.6 (29.08.2025)

Karte

  • Neu: Am Geometriefeld gibt es jetzt mit der neuen Option "Koordinatenlisten bearbeiten" die Möglichkeit, Bestandsgeometrien durch direkte Änderung der Koordinatenwerte anzupassen.

    Karte

  • Neu: Ebeneninformationen: pro Ebene wird nun nur noch ein Fenster mit der Ebeneninformation angezeigt.

Sachdatenanzeige

  • Fix: Im Sachdatenfenster zu einer Ebene werden unterhalb des Recherchebuttons gespeicherte Abfragen im Kontext der Ebene angezeigt. Diese waren zuletzt nur inaktiv - sie sind jetzt wieder verwendbar. (#12313)

    Sachdaten

  • Neu: Die Spaltenbreiten werden jetzt anhand des Datentyps berechnet. Dabei fließt auch der Spaltentitel mit ein.

Datenbrowser

  • Neu: Wird eine Übersichtsebene (Funktion am Ordner "Übersichtsebene der Bilddaten") erstellt, erhalten jetzt die Nutzer eine Information, für welche Dateitypen diese Funktion zur Verfügung steht.

    Datenbrowser

  • Neu: Beim Einbinden von WFS Diensten ist bei den Einstellungen eines Einzellayers die neue Eigenschaft "Geometriespalte" vorhanden, hier kann bei Einzellayern mit mehreren Geometriespalten die primäre Geometriespalte vorgeben werden. Nutzen Sie das cardo7 Dashboard / Geladene Ebenen um sich die Spalten anzuzeigen.

    Datenbrowser

Höhenprofil

  • Fix: Beim Starten der Anwendung mit ungültiger Konfiguration wurde die Anwendung weiterhin initialisiert, was zu weiteren Fehlern geführt hat.

Dashboard

  • Fix: Beim Schließen des Dashboards mit Maus-Hover über der Statistik-Komponente wurde der Tool-Tip nicht entfernt.

GSS

  • Fix: Bei den Aktionen zum Zoomen auf die diversen Auswahlen wird die Karte wieder automatisch in den Vordergrund geholt.

cardo.mobil

  • Neu: Eine neue Funktion zum Messen von Linien und Flächen wurde implementiert.

    mobil

  • Neu: Für Dimensionslayer die exklusiv sind, werden jetzt Radio-Buttons im Themenbaum verwendet.

    mobil

  • Neu Für Punkt-Geometrien gibt es nun einen direkten Button zum Beenden der Bearbeitung.

  • Neu: Anwendungen, welche sich im Zustand der Vorabversion befinden, haben nun einen "pre"-Indikator.

  • Fix: Wurde eine Ebene aus der Karte entfernt, wurde diese weiterhin in der Ebenenübersicht angezeigt.

  • Fix: Nach der Bearbeitung einer Geometrie wurden diese teilweise nicht richtig aus der Karte entfernt.

  • Fix: Beim Laden einer OSM-Karte wurde teilweise eine falsche EPSG verwendet.

  • Fix: Nach dem Abschließen der Geometriebearbeitung wurde das Fenster für die Bearbeitung nicht geschlossen.

  • Fix: Geometriefelder haben initial ihre Geometrie zur Bearbeitungskarte hinzugefügt.

Dateneditor (cardo.Mobil)

  • Neu: Beim Aktualisieren der Tabelle wird die Sortierung nun beibehalten.

  • Neu: Zoomen auf die Geometrie eines Datensatzes steht nun in der Daten-Tabelle zur Auswahl.

  • Fix Beim Hinzufügen eines Datensatzes wurde die Tabelle unter Umständen nicht aktualisiert.

Puzzle (cardo.Mobil)

  • Fix: Sobald ein IKX-Store nicht geladen werden konnte, wurde der Fehler-Screen in der Übersicht angezeigt.

  • Fix: Für den Root-Knoten der jeweiligen Kategorie wurden keine Berechtigungen geladen.

Symboleditor

  • Neu: Man kann jetzt auch Symbolelemente (Punkt, Linie, Fläche) anfügen, die nicht, dem durch das System ermittelten Geometrietyp, entsprechen. Dies kann vorkommen, wenn in den Daten der Ebene kein entsprechender Datensatz gefunden wurde. Im Kontextmenü finden Sie nun den Eintrag Andere an der Funktion Einfügen (#12371).

    symbolik

Einstellungen

  • Neu: Innerhalb der cardo-Taskleiste kann jetzt auf der rechten Seite eine beliebige Information ausgegeben werden, beispielsweise um cardo-Projekte, Testinstanzen o.ä. ersichtlich zu machen. Dafür kann unter Einstellungen -> Variablen eine Variable UI_INSTANCE_TITLE_HTML angelegt werden, die ein beliebiges HTML-Fragment enthalten kann.

    symbolik

    Siehe Onlinehilfe Administration.

  • Neu: Beim Einspielen der SQL-Updates (nur in cardo4) wird eine neue Tabelle system_db_versioninfo_hist angelegt, die Informationen zum Zeitpunkt der Ausführung des Updates mit verbaler Information enthält.

  • Neu: Das Wörtchen "silent" kann irgendwo im URL-Hash stehen, um die MessageBox mit dem "Initialisierungsstatus" zu unterdrücken.

  • Neu: Beim Erstellen eines Ordners im Themenbaum wird dieser nun selektiert und fokussiert.

  • Neu: Die Option zum Erstellen eines neuen Eintrags im Themenbaum wird nun nur noch an Ordnern angezeigt.

  • Fix: Variablen wurden u.U. nicht rekursiv aufgelöst (#11721).

SQLUpdate für cardo4

  • Neu: In jeder cardo Installation wird Wilma jetzt mit eingerichtet.

    Aktuell führt der Updater das Wilma-Update noch nicht mit aus, d.h. in den Einstellungen unter Systemwartung / SQL Update cardo4 ist dies gerade die einzige Stelle zur Aktualisierung.

Systeminformationen

  • Neu: Die registrierten cardo3 Anwendungen werden jetzt mit dem Typ-Namen ausgegeben (sinnvoll in der Verwendung für cardo.COM Aufrufe).

Geodatenverwaltung

  • Neu: Die Einstellungen wurden umfangreich erweitert:

    • im neuen Bereich "Ebene und Ordner" sind die Einstellungen zu: Suchworten, Lizenztexten, Beschreibung, interne Bemerkung, "Nicht relevant" sowie Sortierhinweis, Icon und Layertag enthalten.

    • der Reiter "Ebenenbeschreibung" wurde in "Ebeneninformation" umbenannt

    • IWAN6 - Ebenen werden jetzt mit einem roten Ausrufezeichen markiert - wir empfehlen dringend die Umstellung auf die neuen Iwan7 Ebenentypen jetzt anzugehen

    Der Bereich der Ebeneneinstellungen im "alten" Managementcenter sollte damit nur noch in Ausnahmefällen erforderlich werden. Die MapTip Einstellungen sind separat, siehe nächster Punkt ...

    geodatenverwaltung

  • Neu: Für cardo4 gibt es eine neue Art für die Festlegung der Darstellung der MapTips. Dabei folgen wir wieder (wie bspw. im neuen cardo.Button) einem script-basierten Ansatz.

    Innerhalb des Scriptes stehen auch Unterscheidungsmöglichkeiten der Umgebung zur Verfügung (bspw. unterschiedlicher MapTip in cardo4 Desktop vs. cardo4 Mobil) sowie Zugriff auf den angemeldeten Nutzer (bspw. andere MapTip, wenn Mitglied der Gruppe X).

    Die Implementierung in der vorliegenden Version ist noch nicht ganz abschließend, gerne lassen wir Ihr Feedback bei der weiteren Umsetzung mit einfließen.

    Die Speicherung der Scripte erfolgt wieder im integriertem Wilma-Editor, damit stehen auch erweiterte Funktionen für das "include" von Vorlagen usw. zur Verfügung.

  • Neu: Beim erstmaligen Speichern der Ebenendefinition wird neben dem "Testmodus aktivieren" jetzt noch die Option "Abbrechen" angeboten.

  • Neu: Es werden Informationen zu externen Referenzen mit angezeigt (c2c, Puzzle, CSW, etc.), Ebenen mit externen Referenzen sind nicht mehr löschbar.

    geodatenverwaltung

  • Fix: Beim Speichern einer neuen Ebenendefinition wird nun auch der LayerCache zurückgesetzt.

  • Fix: Dxf-Parameter Quality wurde das IWAN7RawJson - falsch konvertiert, wenn man die Ebene in C4 anlegt.

Fachanwendungen

Anwendung cardo.Button V2

  • Neu: BreakingChange: Der Typ für Lookup-Werte wurde erweitert. Es ist jetzt auch möglich GeoSQL oder DB-Abfragen oder Enumerations-Typen als Quelle für die Nachschlageliste zu verwenden.

    Die Eigenschaft "lookupRecords" wurde dazu geändert, die Definition muss angepasst werden:

    ALT:

    lookupRecords: [	{value: 1, label: "abgewiesen"}, ..]
    

    NEU:

    lookup: {records: [	{value: 1, label: "abgewiesen"}, ..]}
    
  • Neu: die Verwendung von "Wilma" als Datenspeicher für die Pläne ist jetzt möglich. Dabei kann eine eigene Datenbank oder die im cardo integrierte Wilma-Datenbank verwendet werden.

    Die Verwendung von Includes usw. für Wilma-Ressourcen ist verfügbar.

  • Neu: Die im Modul Button2 bereitgestellten Pläne/Reports können jetzt per Http-Handler aufgerufen werden, siehe Button2

Anwendung cardo.Button V1

  • Neu: Für IWAN7-Ebenen wird jetzt intern grundsätzlich die Option forceIwan7 verwendet.

  • Neu: Beim Aufruf eines Button-Plans via Url (run.aspx) wird jetzt geprüft, dass die planUniqueId, welche dabei als Platzhalter zu übergeben ist, auch tatsächlich über alle Plan-Dateien eindeutig ist.

PiB

  • Neu: Die Eigenschaft "Tags" wurde an allen Stellen in "Kennzeichnung" umbenannt.

  • Neu: Beim Abschließen einer Arbeitsaufgabe für die eine verbindliche Bestätigung erforderlich ist, wird jetzt immer ein konstanter Text generiert, nicht mehr das Ergebnis aus der Methode getCompletionHintToolinfoHtml.

  • Fix: Aktion "Leeren" an einem Filter der Liste leerte den Tag-Filter nicht.

  • Fix: Anzeige der System-Tags bei MsSQL Server basierten PiB Installationen enthielt auch öffentliche Tags.

  • Fix: "Klarnamen" der Benutzer wurde u.U. nicht immer angezeigt.

  • Fix: Wurde ein Vermerk gespeichert, wurde der Dialog nicht geschlossen und der Vermerk wurde u.U. doppelt in der Datenbank gespeichert.

PiB-Presentation:

  • Neu: Die globale Symbolik für die Geometrieanzeige in die Karte aus der Html-Ansicht einer Pib-Anwendung heraus kann jetzt angepasst werden. Siehe dazu hier neuer Eintrag 'Pib-Anwendungen'.

  • Neu: Neue Methoden in der globalen Scriban-Extension:

    • CallCustomFunction
    • Sum (für Listen)
    • Avg (für Listen)
  • Neu: Erweiterung der Konvertierung von Argumenten für C# Klassen:

    • Unterstützung von Arrays (es kam bisher der Fehler error : Unable to convert type array to array)

    • Unterstützung der Konvertierung von ScriptObject zu C# Klasse
      Beachte: Für die C# Klasse muss dann das Newtonsoft.Json.JsonObjectAttribute definiert sein.

PiB-DMS

  • Fix: Die Logs der VIS-Vapi Service Implementierung wurden überarbeitet.
    • Darstellung des Stack Trace bei Exceptions

    • Zusätzliche nicht-SOAP Exceptions werden abgebildet

Neuigkeiten und Ereignisse

  • Fix: Komplexe HTML-Inhalte haben in jeder neuen Zeile ein <br /> Element erhalten, dies passiert nun nur noch, wenn der entsprechende Inhalt nicht vollständig in ein HTML-Element gewrappt ist.

OGC Dienste (Server) - WFS Dienst (ogcsl.ashx):

  • Neu: Für Iwan7 Ebenen wird jetzt das Output-Format application/geo+json angeboten.

  • Fix: Mit der Einführung des Formats FlatgeoBuf wurde im GetCapabilities nur noch das Output-Format application/flatgeobuf ausgegeben.

cardo.AgentService

  • Neu: Es können verschiedene Arbeits-Queues pro cardo Instanz bei der Erstellung eines Jobs definiert werden.

ORF

  • Fix: Beim Auflösen von Geometrien per Filter wurde im Fall von Punktgeometrien und einem Suchradius (in der ORF-Layer-Definition) von 0 eine fehlerhafte Filtergeometrie erstellt.

  • Neu: die Implementierung des VISkompakt Dokumententyps in ORF erstellt nun ein eigenes Log im LogFiles Ordner ([Datum].ORF_VIS.htm) des cardo-Servers

    • damit lässt sich, gerade in Kombination mit dem VIS-Connector, unterscheiden, welcher der beiden genutzten VIS-Accounts (Benutzeraccount oder Account in den Eigenschaften des ORF-Dokumententyp für VIS) betroffen ist
    • Fehler, die im Kontext des VIS-Accounts des Nutzers auftreten, werden im VIS-Connector Log aufgeführt

API

ORM

  • Neu: Verbesserungen am ORM

    • ORACLE: Bei ORACLE Datenbankabfragen mit mehr als 1000 Werten in einer IN - Liste werden diese partitioniert

    • MsSQL: Wenn mehr als 1098 Parameter "auflaufen", werden die weiteren Werte als SQL-Literal statt als Parameter angefügt (nur für String, Numerische und Bool Werte, anderenfalls wird ein Fehler ausgelöst)

    • MsSQL: INSERT mit C# Klassen, die nur eine Autowert-ID-Spalten haben, ist jetzt möglich.

  • Neu: Für SQLUpdate gibt es eine Basisklasse, die ein SQLCallable für das Umschreiben von JSON Objekten per Programmcode ermöglicht.

    Bsp.:

    // c# Klasse erstellen
      internal sealed class MyJSONRewriter : IduIT.Core.Data.SqlCallableJSONRewriteBase
      {
      	protected override bool RewriteJSONRecord(Args args, object id, Newtonsoft.Json.Linq.JToken json, out Newtonsoft.Json.Linq.JToken updatedToken)
      	{
      		updatedToken = null;
      		var cls = json.ToObject<ClassJsonTest>();
      		if (cls.Age == 0)
      		{
      			cls.Age = 18;
      			cls.LastName += "-Aktualisiert";
      			updatedToken = Newtonsoft.Json.Linq.JToken.FromObject(cls);
      		}
      		return updatedToken != null;
      	}
      }	
    

    Aufruf im SQLUpdate.xml:

      <Update version="1">
      	<Block>
      		<ExecuteISqlUpdateCallable>
      			<Call netTypeName="MyNs.MyJSONRewriter">
            		<Arg>
            		{
        			  tableName:"Test",
        			  idColumnName:"id",
        			  JSONColumnName:"json_col",
        			  where:null
        			}
        			</Arg>
      			</Call>
      		</ExecuteISqlUpdateCallable>
      	</Block>
      </Update>
    

    Das ginge auch mit SQL JSON-Funktionen, ist aber teils deutlich aufwendiger und DB spezifisch.

  • Fix: Bei der Konvertierung der Expressions wurden die Spalten-Konverter (StringLower etc.) in Auflistungen nicht korrekt angewandt.

Wilma

  • Neu: Der Editor für einzelne Paragraphen wurde in die Basisklasse IduIT.Core.Wilma.Editor.EditorBaseComponent überführt, damit können Ableitungen erstellt werden für die Inline-Bearbeitung von Paragraphen.

  • Neu: Der Enumerationstype WilmaEditorRights wurde um PerElement erweitert, damit können Berechtigungen pro Paragraph (Update, Delete) ausgewertet werden.

    Es muss dazu die neue Methode bool IsPerElementEditAllowed(Records.WilmaNodeOrParagraph element, Op op) in Ableitungen von WilmaEdit überschrieben werden.

  • Fix: Wilma - beim Drag&Drop einer Datei, wurde immer die Selektion verwendet.

PiB

  • Neu: BreakingChange Die Methode TryCreatePiBMemberProvider der PiBApplicationBase wurde in CreatePiBMemberProvider umbenannt.

  • Neu: Die Objektlisten haben eine neue Methode reloadSomeRecords() zum expliziten Neuladen einzelner Datensätze.

Client

  • Neu: Kleine Anpassungen im integriertem PDF-Viewer:

    • Sicherstellung des Vorhandenseins des Viewers beim Laden von Dokumenten

    • bessere Dateinamen

  • Neu: Für das Verzögern von Member-Methoden einer Kiss Komponente steht die neue Funktion Kiss.Ui.Core.CreateAppearBoundedFunctionProxy zur Verfügung. Damit kann der Aufruf einer Methode verzögert werden, bis die Komponente sichtbar wird.

    Bsp.:

      export class FooComponent extends Kiss.Ui.Core.Component
      {
      	protected override _initConfig(cfg: any)
      	{           
      		//das verzögern wir, wenn die Cmp aktiv wird
      		Kiss.Ui.Core.CreateAppearBoundedFunctionProxy(this, "setLayerSource");
    
            ...
      	}
    
      	public setLayerSource(layer: Model.IAdminTreeNodeModel | null, createIfNotExists: boolean = false): void
      	{
      		//teuerer Ajax-Request ...
      	}
      }
    
  • Neu Bei der Definition von Zusatz-Headern für Ajax-Requests kann jetzt auch eine Funktion übergeben werden, bisher nur Literale. Bsp.:

     cfg.wilmaEditorCtx = {
     	ajax: Wilma.LayerEditorWilmaEditorRemote.using({
     		requestHeaders: { "x-cardo4-layer": { scope: this, fn: this.__getCurrentHeaderValue } }
     	})
     };
    
  • Neu: Die RadioGroup besitzt jetzt eine neue optionale Konfig-Einstellung labelMode. Darüber kann der Textmodus der Auswahloptionen gesteuert werden.

  • Fix: Die RadioGroup hatte noch Probleme bei der Unterscheidung von 0 und null.

  • Neu: Das Password - Field hat jetzt eine neue optionale Konfigurations-Einstellung showPasswordButton. Wird diese mit true belegt, erscheint am Feld ein Trigger Button. Wird dieser "gedrückt gehalten", wird das eingegebene Kennwort im Klartext angezeigt.

  • Neu: Im PropertyModel kann die neue Eigenschaft FieldConfigJson genutzt werden. Die Eigenschaft steht im XML oder am Attribut zur Verfügung (ist beides vorhanden, wird die Definition aus dem XML bevorzugt).

    Bsp. in einer *.pm.layout.xml Datei:

      <Field name="Password" title="Kennwort">
      	<FieldConfigJson>
      		{
            	showPasswordButton: true
        	}
      	</FieldConfigJson>
      </Field>
    
  • Neu: Das InputField besitzt nun verschiedene Optionen bei der Belegung der selectOnFocus Property.

    None: Das Selektieren beim Fokussieren ist deaktiviert.

    Initial: Initial wird der Text einmal selektiert, danach nicht mehr.

    Always: Der Text wird beim Fokussieren immer selektiert.

  • Neu: Mit Kiss.Lang.Array.join kann nun zwischen jedem Wert eines Arrays ein entsprechend angegebener Wert hinzugefügt werden.

  • Neu: Das Kiss.Ui.Grid.MessageRecordGrid kann jetzt auch mit der Option buffered=true verwendet werden. Dabei werden Texte dann nicht mehr umgebrochen sondern werden abgeschnitten. Dafür ist die Performance, v.a. bei Listen mit vielen Einträgen, deutlich besser. Das Standardverhalten liegt aber unverändert bei buffered=true.

  • Fix: In Firefox konnten Fenster nicht mehr per Doppelklick maximiert werden.

  • Fix: In FireFox wurde nach dem Verschieben eines Fensters der darunter liegende Button ausgelöst.

  • Fix: Beim Verlassen des Browser-Fensters, während ein Fenster asynchron und modal angezeigt wird, wurde, falls vorhanden, das darunterliegende, auch modal angezeigte Fenster in den Vordergrund geholt.

  • Fix: Nach dem Anzeigen des Desktops konnte die Reihenfolge der Fenster durcheinandergebracht werden.

Server

  • Neu: BreakingChange ICardoManagedApplicationUsingWilmaWithOwnDatabase wurde um die Eigenschaft UseDefaultCardoInstanceInst erweitert, d.h. trotz der Implementierung dieser Ableitung kann die Anwendung per Einstellung entscheiden, ob eine eigene Wilma Datenbank oder die cardo integrierte verwendet werden soll.

  • Neu: Das Interface "ISelfRegistrationHandler" für die Selbstregistrierung hat jetzt eine neue Methode: "OnConfirmedUserAccountCreated" - sie wird direkt nach Erstellen des neuen UserAccounts aufgerufen.

  • Neu: Es gibt eine neue C# Klasse samt JSON Serialisierung zum Abbilden von einer "Tagged Union" Struktur.

    Bsp.:

      public sealed class LookupSourceTaggedUnion : IduIT.Core.Json.TaggedUnion.Union3<LookupSourceTaggedUnion.LookupQuerySource, IduIT.Core.Data.Lookup.LookupRecord[], string>
      {
      	[Newtonsoft.Json.JsonProperty("query")]
      	public override LookupQuerySource A { get; set; }
    
      	[Newtonsoft.Json.JsonProperty("records")]
      	public override IduIT.Core.Data.Lookup.LookupRecord[] B { get; set; }
    
      	[Newtonsoft.Json.JsonProperty("enumTypeName")]
      	public override string C { get; set; }
      }
    

    Führt dann zu folgender TypeScript Definition:

      export type TLookupSourceTaggedUnion = {query:IduIT.cardo.Core.CoreModules.Button.Types.Server.ILookupSourceTaggedUnion.ILookupQuerySource} | {records:IduIT.Core.Data.Lookup.ILookupRecord[]} | {enumTypeName:string};
    
      export interface IButtonArgumentServerMetadata extends IduIT.cardo.Core.CoreModules.Button.Types.IButtonArgumentMetadataBase
      {
      	/**
      	 * Das ist eine Union aus Records und Query
      	 */
      	lookup?: IduIT.cardo.Core.CoreModules.Button.Types.Server.TLookupSourceTaggedUnion | null;
      }
    
    
  • Neu: cardo Anwendungen steht die neue Basisklasse ApplicationHttpRouteHandlerWrapper zur Bereitstellung von HttpHandler mit Routing-Daten zur Verfügung.

    Hierbei entfällt auch das manuelle Registrieren des Handlers in der web.config. Im Startup werden die Routen der Endpunkt der so registrierten Anwendungen automatisch erstellt.

  • Neu: Einige Erweiterungen für die Ajax-Implementierung:

    • neue Eigenschaft NotSecurtityCritical für IduIT.Core.Web.Ajax.AjaxMethodAttribute, diese wird intern nicht ausgewertet, kann aber bspw. in der IduIT.Core.Web.Ajax.IAjaxInitializer verwendet werden.
    • BreakingChange ... dessen Methode InitializeAjaxCall wurde dazu erweitert, so dass das Attribut mit übergeben wird.
  • Neu: Puzzle:

    • Bei der Methode GetPuzzleDataDocumentForEditing des PuzzleHandlers kann eine Option übergeben werden, um Änderungen an Entitäten unter Umgehung der Berechtigungen durchzuführen.

    • In der Scriban Extension uxPuzzle wurde die Methode GroupEntities um eine Möglichkeit zum Ignorieren bestimmter Entities erweitert. Bsp.:

        $group = uxPuzzle.GroupEntities(ikxClass,ignoreEntityIds:ikxClass.ClassId == "BPST_UNT_NI_CLS" ? ["PRV_PUZZLE_UNIQUE"]:null)
      
  • Neu: Die Methoden CreateJob(...) des Interface IduIT.cardo.Core.Api.Agent.IAgentClient wurde um den Parameter IduIT.cardo.Agent.Shared.WorkerQueueDefinition targetQueue erweitert.

  • Neu: Es gibt jetzt eine API-Funktion zum Abrufen der bestätigten Nutzungsbedingungen: IduIT.cardo.Core.Sys.Security.PreConditions.ConfirmedInfo.ConfirmedInfo.showConfirmedInfoDialog(boolean)

  • Neu: Das Interface IDatabaseSettings2 wurde um zwei Eigenschaften erweitert:

    • bool AllowRawDbConnectionString
    • bool AllowSystemDbAsConnectionString

    Diese sollten "false" zurückgeben. Damit wird die Verwendung von einer in den Systemeinstellungen hinterlegen Datenbank erzwungen.

    Ggf. sollte die Beschreibung der Datenfelder in den Einstellungsdialogen angepasst werden.

  • Fix: Der JSON Serializer für Tuple Typen mit Items vom Typ Nullable<TStruct> löste einen Fehler der Art 'Ein Ausdruck vom Typ "System.Int32" kann nicht für einen Konstruktorparameter vom Typ "System.Nullable`1[System.Int32]" verwendet werden.' aus, wenn der Wert != Null war.

Visual-Studio Extension

  • Neu: BreakingChange: Update des SASS Compilers - für unsere Visual-Studio Extension steht ein Update bereit. Im Zuge des Updates auf Font Awesome 7 musste der SASS Compiler aktualisiert werden, bisher wurde Node-Sass verwendet, jetzt SASS.

    Der aktualisierte Download ist zu finden unter Entwickler-Extension.

    Mit dieser Version sind einige oft verwendete Operationen als obsolet markiert, dies betrifft vor allem die Verwendung von @import, wir haben die Obsolete Warnungen dafür vorerst deaktiviert. Es wird dringend empfohlen damit zu beginnen, den Code auf die Verwendung von @use Umzustellen.

3rd Party

Update externer Bibliotheken:

  • MarkDig 0.41.1 zu 0.41.3

  • MsgReader 5.7.3 zu 6.0.4

  • Oracle.ManagedDataAccess 23.8.0 zu 23.9.1

  • HtmlAgilityPack 1.12.1 zu 1.12.2

  • PdfJs 5.2.133 zu 5.3.93

  • TypeScript 5.8.2 zu 5.9.2

  • Font Awesome 6.7.2 zu 7.0.0

Wichtiger Hinweis: Auf Entwicklungsrechnern bitte die web.config mit den Einstellungen aus der web.config.template abgleichen (Binding-Redirects). Der cardo Updater macht dies automatisch.


Zuletzt geändert: 27.10.2025 07:36:06 (erstmals erstellt 27.10.2025) // Alias: "AenderungenCardo4"