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
- Beachten Sie die Hinweise zum erforderlichen Update der Visual-Studio Extension
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.
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)
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.
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.
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.
Neu: Für Dimensionslayer die exklusiv sind, werden jetzt Radio-Buttons im Themenbaum verwendet.
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).
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_HTMLangelegt werden, die ein beliebiges HTML-Fragment enthalten kann.Neu: Beim Einspielen der SQL-Updates (nur in cardo4) wird eine neue Tabelle
system_db_versioninfo_histangelegt, 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 ...
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.
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:
CallCustomFunctionSum(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
arraytoarray)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+jsonangeboten.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
WilmaEditorRightswurde umPerElementerweitert, 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
TryCreatePiBMemberProviderder PiBApplicationBase wurde inCreatePiBMemberProviderumbenannt.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.CreateAppearBoundedFunctionProxyzur 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
RadioGroupbesitzt jetzt eine neue optionale Konfig-EinstellunglabelMode. Darüber kann der Textmodus der Auswahloptionen gesteuert werden.Fix: Die
RadioGrouphatte noch Probleme bei der Unterscheidung von 0 und null.Neu: Das
Password- Field hat jetzt eine neue optionale Konfigurations-EinstellungshowPasswordButton. Wird diese mittruebelegt, 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
FieldConfigJsongenutzt 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
InputFieldbesitzt nun verschiedene Optionen bei der Belegung derselectOnFocusProperty.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.joinkann nun zwischen jedem Wert eines Arrays ein entsprechend angegebener Wert hinzugefügt werden.Neu: Das
Kiss.Ui.Grid.MessageRecordGridkann jetzt auch mit der Optionbuffered=trueverwendet 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 beibuffered=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
UseDefaultCardoInstanceInsterweitert, 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
ApplicationHttpRouteHandlerWrapperzur 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
NotSecurtityCriticalfürIduIT.Core.Web.Ajax.AjaxMethodAttribute, diese wird intern nicht ausgewertet, kann aber bspw. in derIduIT.Core.Web.Ajax.IAjaxInitializerverwendet werden. - BreakingChange ... dessen Methode
InitializeAjaxCallwurde dazu erweitert, so dass das Attribut mit übergeben wird.
- neue Eigenschaft
Neu: Puzzle:
Bei der Methode
GetPuzzleDataDocumentForEditingdes 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
GroupEntitiesum 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 InterfaceIduIT.cardo.Core.Api.Agent.IAgentClientwurde um den ParameterIduIT.cardo.Agent.Shared.WorkerQueueDefinition targetQueueerweitert.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
IDatabaseSettings2wurde um zwei Eigenschaften erweitert:bool AllowRawDbConnectionStringbool 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"