Aktuell ist die Version 4.3.5, diese wurde am 23.05.2025 veröffentlicht.
Bitte beachten Sie die folgenden Hinweise zu diesem Update
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.
Zum Anzeigen der Geodatenverwaltung im cardo4 gibt es ein neues Attribut für die web.config.
Wir haben die zwei neuen Artikel TIFF-Daten-Grids zusammenfassen und für cardo aufbereiten und TIFF-Orthofotos zusammenfassen und für cardo aufbereiten für Sie erstellt.
Evtl. aktualisieren Sie ihre lokale Installation für IduIT.GeoTools.Net
Für Entwickler
Beachten Sie die Hinweise zu Target von ES6 zu ES2020
Beachten Sie die die BreakingChanges unter cardo.Puzzle für AdHoc-Kategorien, API und PIB
Sollten Sie die Version 4.3.4 bisher noch nicht installiert haben, lesen Sie bitte auch die Hinweise zu dem vorherigem Update 4.3.4
Fix: Kleinere Verbesserungen/Fehlerbehebungen:
Beim initialen Setzen der Grundkarte war das KBS der Grundkarte unter Umständen falsch.
Anschalten einzelner WMS Ebenen war nicht möglich.
Folgende Anpassungen am Dateneditor der Mobilversion:
Fix: Sachdatenanzeige: Wurden aus einer Sachdatenanzeige heraus Objekte auf der Karte markiert, blieben beim Schließen des Sachdaten-Fensters die Markierungen auf der Karte bestehen. Nun werden diese gelöscht.
Fix: PiB-Anwendungen: Beim Ändern eines Objektes in den Status "Archiviert" konnte u. U. ein Fehler der Art Der Zugriff auf die Berechtigungen auf ... ist unzulässig, da die Objektbeschaffung mit queryWithoutAnySecurityInformation durchgeführt wurde
auftreten.
Fix: Die Aktion der Karte "Markierungen löschen" (Radiergummi) wirkte sich bei Verwendung auf diverse Funktionen, die Vektordaten auf der Karten darstellen, negativ aus. Das zu beobachtende Problem war dann primär eine fehlende Darstellung der Geometrien bei nachfolgenden Aktionen und teilweise auch, dass die "Markierungen löschen"-Funktion nur einmalig und nicht bei Folgeaufrufen funktionierte. Das Fehlverhalten ist nun behoben.
Fix: Bei der Bearbeitung mit Topologie-Unterstützung schlug die Übernahme veränderter Nachbargeometrien aus der Karte u. U. mit der Meldung fehl, dass der Index der Primärschlüsselspalte nicht angegeben sei.
Neu: Beim Erstellen eines leeren Dokumentes wird beim Speichern der Datensatz jetzt angelegt (bisher nur dann, wenn mindestens ein Datenfeld befüllt wurde).
Nach dem Speichern wird der neue Datensatz auch gleich im Baum angezeigt und ausgewählt.
Fix: Beim Bearbeiten einer Kategorie deren Class-ID nicht mit der Kategorie-ID überein stimmte, trat folgender Fehler auf: Die Kategorie im IKX-Store xx mit der Kategorie-ID xx ist nicht vorhanden
.
Der angegebene Schlüssel war nicht im Wörterbuch angegeben
(#12237)Neu: Im Export steht das Format "FlatgeoBuf" zur Verfügung.
Neu: Wird aus einem Ordner mit DXF-Dateien eine Ebene im cardo erzeugt, so hat diese jetzt pro Datei einen Sublayer (bisher pro DXF-Layer). (#10637)
Fix: Beim Laden aller Dateien eines Ordners als Ebene wurde bisher auch die erste Datei im Ordner als geladen markiert. (#11075)
Neu: Der "Radiergummi" in der Karte schaltet jetzt auch die Sichtbarkeit aller Geometrien in Geometriefeldern aus (inkl. der Freihandgeometrie). (#10232)
Fix: Wenn für die Karte Koordinatenbezugssysteme verwendet wurden, die der X-Koordinate die Zonennummer voranstellen, fehlten unter bestimmten Umständen einige Funktionen im Kontextmenü der Karte (bspw. Selektion mit Geometrie ausführen). Konkret war es dann nicht möglich, ein Kontextmenü auf einer Geometrie in der Karte zu öffnen. (#11226)
Neu: Multi-Geometrien können nun auf mehrere Datensätze geteilt werden.
Neu: In der Geometrie-Toolbox gibt es die neue Aktion "Konkave Hülle".
Neu: Funktion zum topologischen Bearbeiten wurden implementiert.
Weitere Informationen zur Aktivierung finden Sie in der Hilfe.
Neu: Wir haben ein Syntax-Highlighting für Scriban-Seiten integriert (Hervorheben von Schüsselwörtern, Einfärben der Darstellung nach Text usw.)
Dieses Feature ist an allen Stellen, wo der Texteditor verwendet wird, verfügbar. Hier ein Beispiel aus dem im BIS integrierten cardo.Button für Berichte.
Fix: Beim Verschieben von Einträgen wurden diese möglicherweise innerhalb eines Ordners abgelegt.
Neu: Das Abrufen der Legenden und Ebeneninformationen wurde überarbeitet. Es kam beim Drucken von DXF Dateien mit sehr vielen Layern u.U. zu verschiedenen Fehlern und vor allem sehr langen Wartezeiten.
Diese Änderung ist im cardo3 Update bereits mit enthalten.
Mit dieser cardo Version steht cardo.Mobil produktiv zur Verfügung. Es können verschiedene Komponenten separat lizenziert werden:
Weitere Informationen zu cardo.Mobil finden Sie in dieser Beschreibung.
Neu: Im Themenbaum können die Ebenen aus cardo4 Sitzungen geladen werden.
Neu: In der Ebenen-Übersicht kann die ausgewählte Ebene aus der Karte entfernt werden.
Neu: In den Einstellungen kann nun das initiale Zoomen auf den Standort deaktiviert werden.
Dies deaktiviert auch das direkte Abfragen der Berechtigung zum Abrufen der Standortinformationen.
Neu: Puzzle Kategorien werden standardmäßig ausgeblendet und müssen aktiv für die Verwendung im cardo.Mobil Editor zugelassen werden.
Dies kann in der Workbench für die jeweilige Kategorie vorgenommen werden.
Kategorien im Standard-Store werden generell von cardo.Mobil nicht beachtet, das Aktivieren dort hat demzufolge keine Auswirkungen.
Beachten Sie dabei, dass von cardo.Mobil keinerlei Aktionen in der Kategorie-Implementierung aufgerufen werden (der C#-Klasse zu der Puzzle-Kategorie), dies ist auch der Grund für den Zwang zur Freischaltung.
- Neu: Die Anzeige und Bearbeitung der Basisklasse ist jetzt möglich.
Wichtiger Hinweis: Wenn Sie bereits Teststellungen für Puzzle nutzen, müssen Sie die Kategorien, die Sie verwenden möchten, entsprechend dieser Hinweise explizit freigeben.
Neu: Kompletter "Rewrite" der Anwendung cardo.Button als cardo4 Anwendung mit neuen Techniken und Möglichkeiten; lesen Sie hier alles zu dem neuem Modul.
Hinweis: Kunden, die eine Lizenz für das Modul haben, bekommen die neue Version automatisch mit, es muss lediglich die Anwendung in der Anwendungsverwaltung registriert werden.
Die im neuem "Button" erstellten Klassen für die Datenabfragen (GeoSQL) wurden auch in der allgemeinen Template-Erweiterung "uxGeo" verfügbar gemacht.
Neu: Überarbeitungen der Startseite des VIS-Connectors. Es können alle referenzierten VIS-Objekte als Liste angezeigt werden. Weiterhin können alle referenzierten VIS-Objekte des aktuellen Kartenausschnittes angezeigt werden.
Weitere Informationen sind in der Beschreibung zum VIS-Connector nachzulesen.
Neu: In der Anwendungsverwaltung wird der "Wilma-Editor" jetzt nicht mehr modal gestartet.
Neu: In den Ausführungseinstellungen von Tasks kann bei monatlicher Ausführung jetzt auch explizit der letzte, vorletzte oder drittletzte Tag der Monate gewählt werden.
Neu: Beim Löschen/Umbenennen von Benutzerobjekten werden diese Änderungen auch in die IKX-Stores zurückgeschrieben.
Neu: Kennwörter in der cardo4 Nutzerverwaltung werden mit einem neuerem Hash-Verfahren gespeichert.
Es wäre ggf. an dieser Stelle mal wieder an der Zeit, die Nutzer zur Aktualisierung des Kennworts aufzufordern, siehe Einstellung "Max. Kennwort-Gültigkeit" in der Benutzerverwaltung.
Neu: Erweiterungen am Administrativen Baum (Ebenen und Berechtigungen):
Aktion "Speichern erzwingen" an den Ebeneneigenschaften
Bearbeitung der Layer-Tags
Anzeige Sortierhinweis + Layer-Tag in der Ebenenliste
Hervorheben von Ebenen mit Referenzen - das betrifft Ebenen, die per c2c gesendet oder empfangen wurden, deren Metadaten zu einem CSW Dienst exportiert wurden oder die auf Basis einer cardo.Puzzle Ebene erstellt wurden.
Neu: Für die Aktivierung der Geodatenverwaltung in cardo4 kann jetzt der Parameter EnableNewThemeTree
in der web.config gesetzt werden. Hintergrund des neuen Parameters ist, dass mit der Einstellung EnableExperimentalFeatures
noch andere Funktionen freigeschalten wurden, die man im Produktivsystem evtl. nicht haben wollte.
Neu: Eigenschaften "allowServiceMetadataCaching" für WFS Ebenen und "loadErrorBehavior" für Shape Ebenen hinzugefügt.
Neu: Neuer Ebenentyp "SVG (nur Textelemente)", siehe auch SVG - georeferenzierte Beschriftung per SVG Text.
Neu: Arbeitsaufgaben (Workitems) die löschbar sind, können jetzt auch gelöscht werden, wenn sie im Status "In Arbeit" sind.
Neu: Wenn der Nutzer Mitglied der (neuen) Feature-Rolle "ALLOW_MEMBERINFO" ist, dann werden in den PiB Anwendungen in den Listen die Klarnamen der Benutzer angezeigt.
Standardmäßig wird ein Member-Provider mit der Id realNameResolver
verwendet, ist dieser nicht vorhanden, wird der Standard-Memberprovider verwendet.
D.h. zum Aktivieren dieser Funktion (für alle PiB Anwendungen) sind folgende Schritte erforderlich:
- Hinzufügen der Feature-Rolle (siehe Nutzerverwaltung => "Andere neue Einträge"
- Zuweisen von Nutzern/Gruppen zu dieser Rolle
- optional: Erstellen eines Member-Providers mit dem Schlüssel
realNameResolver
Hinweis: Der in der Anwendung hinterlegte Member-Provider findet hier keine Verwendung, da dort meist Filter für die Auswahl der Nutzer hinterlegt sind. Diese Filterung wäre für diese Funktion kontraproduktiv.
Neu: Folgende Anpassungen an den Einstellungen der Sicherheits-Container:
Neu: BreakingChange: Für via Puzzle-Service erstellte AdHoc-Kategorien (CreateAdHocCategory) können jetzt keine IKX-Daten mehr an Ordnern hinterlegt werden.
Bestehende Daten an Ordnern werden via SQL-Update gelöscht
Neu: Es gibt eine neue Feature-Role in der cardo4 Benutzerverwaltung: ALLOW_IKX
- Benutzer dieser Rolle dürfen auch, sofern für die entsprechende Klasse das Recht vorhanden ist - die IKX-Struktur bearbeiten.
Im Managementcenter ist der Bereich IKX entsprechend freigeschaltet. Das Verwalten der Stores, das Registrieren neuer Kategorien oder die Bearbeitung der Konfiguration einzelner Kategorien ist weiterhin den cardo-Administratoren (SuperUser) vorbehalten. (#12091)
Fix: Die Option zum Wechseln des Datenspeichers im Puzzle bestand nicht, wenn neben den Standard-Store noch genau ein weiterer Store vorhanden war. (#1486)
Neu: Das ISO-Schema, welches in cardo hinterlegt ist und zur Validierung der Metadaten verwendet wird, wurde aktualisiert (u.a. GML 3.2.1). Damit wird das Element UnitDefinition jetzt nach dem aktuellen Schema korrekt in den Metadaten verwendet und führt bei externer Validierung nicht mehr zu einer Fehlermeldung.
Diese Änderung ist im cardo3 Update bereits mit enthalten.
Neu: Der OgcAPI Handler. liefert jetzt eine "Landing-Page" aus.
Neu: Anpassungen an den von cardo angebotenen WFS Diensten (ogcsl.ashx):
In WFS 2.0 wird für Iwan7 Vektor Ebenen das Format FlatgeoBuf mit angegeben.
Iwan7 unterstützt dies als Client mit Version 7.9.2 auch, dazu kann in der Ebenendefinition das neue Attribute "featureFormats" mit dem Wert "application/flageobuf" angegeben werden.
Weitere Informationen dazu finden Sie hier.
Neu: Anpassungen an den von cardo angebotenen WMS Diensten (ogcsl.ashx):
Für kaskadierend eingebundene WMS Dienste wird GetLegendGraphics jetzt unterstützt.
Die Struktur (Ordner) von SubLayern wird in der Layer-Liste des WMS Dienstes beibehalten.
Beim Abrufen von WMS Diensten steht für die GetFeature-Operation jetzt auch das Formats application/geo+json
zur Verfügung.
Der Client sollte in dem Fall die Ebeneninformationen einzeln abrufen. Es wird immer nur eine Feature-Collection für alle Ebenen generiert (mehr gibt das Format leider nicht her).
Diese Änderungen der WMS und WFS Dienste sind im aktuellen cardo3 Update bereits mit enthalten.
Neu: Neue Methoden in der globalen Scriban-Extension:
NumberToWords(int)
, welche die übergebene Ganzzahl in ausgeschriebene Ziffern umwandelt (z.B. bei Ausgabe eines Währungsbetrages in Worten)
Assert(bool,string)
Throw(string)
Neu: Anpassungen am ORM:
neue Methode ExistsByExpression<T>(expression)
obsolete Version der Methode GetOneByExpression
wurde entfernt
Methoden ExistsByPrimaryKey
als obsolet markiert, verwende ExistsByPrimaryKeyValue
Fehler in Verbindung mit FunctionTemplateOracle und Oracle Datenbanken behoben
Neu: BreakingChange: Die Signatur der Methode OpenWilmaDatabase()
des Interface ICardoManagedApplicationUsingWilmaWithOwnDatabase
wurde zu OpenWilmaDatabase(out bool isSharedConnection)
geändert. Damit kann das erforderliche Disposing besser gesteuert werden.
Neu: Das Interface ISelfAppManager
wurde um die MethodenGetSqlUpdateState()
und GetMyRights()
erweitert.
Bsp.:
var app = XXXApplication.Instance;
var appMgr = cardo.Core.Api.Applications.ManagedApplicationManager.CreateManagerForMe(app);
if (!appMgr.GetMyRights().HasFlag(cardo.Core.Sys.Applications.Builtin.ApplicationRole.ManageApplication))
return "Diese Informationen stehen nur Verwaltern der XXX Anwendung zur Verfügung.";
var sqlUpdateState = appMgr.GetSqlUpdateState();
Neu: Für alle Arbeitsaufgaben, die das Interface IDemandDataWorkitem
implementieren, wird intern beim Starten ein Eintrag AddReconfirmWorkitemIds erstellt. Damit greifen die Regeln, das für die zugeordnete Arbeitsaufgabe deren OnStart/OnReOpen Methode nicht aufgerufen wird.
Neu: Umfangreiche Erweiterungen für die Konfiguration IduIT.PiB.Config.GlobalPibConfiguration
:
Für die Abbildung von typbezogenen Verhalten kann die neue Eigenschaft ObjectSpecificPropertyGroups
belegt werden.
Dabei können Typ-Gruppen für eine Menge von Objektarten gebildet werden, die über folgende Eigenschaften verfügen:
Neue Eigenschaft UseTags
der EveryObjectConfig
. wenn diese angegeben ist, werden die dort definierten Tag-Arten (System, Öffentlich etc.) für die Objekte mit abgerufen.
Die Standard-Listenansicht generiert dann eine Spalte für die Anzeige der Tags in der Datenliste.
Neu: Das Target für die Typescript-Transpilierung wurde von "ES6" auf "ES2020" geändert. Hier (externer Link) gibt es eine schöne Übersicht der Änderungen.
Weiterführende Infos: CanIUse
Hinweis Falls noch zu viele "alte" Browser im Einsatz sind, könnten wir diese Änderung u.U. auch nochmal zurücknehmen. Bei diesbezüglichen Problemen bitte melden!
Fix: Beim Abrufen des Labels eines nicht Flag-Enum's wird nun direkt das Label ermittelt.
Fix: Kiss.Ui.Form.EnumRadioGroup
- hat jetzt standardmäßig eine equal-Funktion, die zwischen 0 und null unterscheidet. Das bisherige Verhalten führte u.U. zu Problemen in Kombination mit allowEmptySelection
: Kiss.Ui.Form.Field.EnumRadioGroup.EAllowEmptySelection.NonInteractive
Neu: BreakingChange: der Rückgabetyp der Methode create()
des Interface PiB.ObjectModel.Ui.Interfaces.IPibObjectFormFactoryStore.IFormFactory
wurde erweitert.
Sie gibt jetzt TResult
oder IPromise<TResult>
zurück.
Bsp.:
//Neue Instanz erstellen
const newItem = extendedTypeInfo.formFactory.create(mode, "default");
if (!newItem)
throw IduIT.createError(`Interner Fehler: Zum Typ ${Kiss.Lang.String.quoteString(extendedTypeInfo.title, true)} ${Kiss.Lang.String.quoteString(extendedTypeInfo.typeName, true)} gab die formFactory null zurück!`);
if (IduIT.Promise.IPromise.is(newItem))
return newItem.then(form => form);
else
return newItem;
EnumConfigAttribute
, um die Liste der ignorierten Werte (als Integer) zu übergeben. Eine abstrakte Basisklasse EnumConfigAttribute<T>
kann verwendet werden, um Enum-Werte typisiert zu übergeben und eine Auswahl zu treffen, ob diese als Black- oder Whitelist verwendet werden sollen.Update externer Bibliotheken:
DOMPurify 3.2.4 zu 3.2.6
PdfJs 4.10.38 zu 5.2.133
HtmlAgilityPack 1.11.74 zu 1.12.1
MarkDig 0.40.0 zu 0.41.1
MimeKit 4.10.0 zu 4.12.0
Scriban 5.12.1 zu 6.2.1
NodaTime 3.2.1 zu 3.2.2
Oracle.ManagedDataAccess 23.7.0 zu 23.8