Changelog (Release)

Hier finden Sie die aktuell veröffentlichten Änderungen ("Aktuelles öffentliches Release").

Um die in Entwicklung befindlichen Anpassungen der "getesteten Vorabversion" anzusehen, siehe Changelog (Entwicklung).

Die Änderungen der Vorversionen finden Sie unter Vorgängerversionen.

Die Version 4.1.7 wurde initial im Juli 2021 veröffentlicht.

Bitte beachten Sie die folgenden Hinweise zu diesem Update

Für IT-Administratoren

  • Evtl. möchten Sie die neuen Möglichkeiten zum Monitoring verwenden.
  • Der cardo Launcher kann evtl. auf den Client-Rechner aktualisiert werden.
  • Evtl. wollen Sie cardo4 als "AlwaysOn" im IIS konfigurieren, ein kleines PowerShell Script übernimmt die relevanten Einstellungen.
  • Beachten Sie, dass Windows Server 2008R2 seit Version 4.1.5 nicht mehr unterstützt wird.
  • Zur Erinnerung: cardo4 kann auch als 64 Bit Anwendung eingerichtet werden, wenn keine der im verlinkten Artikel gegebenen Hinweise dagegen sprechen.

Für Betreuer

Für Entwickler

  • Wir empfehlen auf die TypeScript Version 4.3 zu aktualisieren
  • Kompilieren Sie den Code neu (TypeScript und C#)

4.1.7.48610 (28.07.2021)

  • Neu: Die Download-Aktion wurde auf Wunsch noch etwas angepasst:
    • Für das Umschreiben des Dateinamens wurde eine neue Einstellung eingeführt.
    • Die Merkliste ist auch im Kontextmenü des Datenbrowser verfügbar.
    • Beim Download wird für Ordner der letzte Verzeichnisname auch im Zip generiert, wenn der nicht eindeutig ist, dann wird der übergeordnete Ordner solange angefügt, bis eine Eindeutigkeit gegeben ist.

4.1.7 (28.07.2021)

AnySourceEditor

  • Neu: Im Datenbrowser wird beim "Bereitstellen als Ebene" einer Tabelle eine Abfrage generiert, welche für die Spalten mit der Einstellung "Nachschlagelisten aus Tabellen" die Anzeigespalten in die Ebene anfügt. Es werden auch Geometrien aus Nachschlagelisten ausgewertet.

    Sind mehrere Geometriespalten enthalten, wird Z.Z. einfach die Erste als Anzeigegeometrie verwendet

  • Fix: Bei editierbaren Ebenen aus dem Ebenenbaum wird die Einstellung "theSearchPath" für PostgreSQL Ebenen übernommen.

  • Fix: Nach dem Speichern trat u.U. der Fehler "comparisonType kann nicht gelesen werden." auf.

Karte

  • Neu: Für Beschriftungsebenen wurde in den Dialogen zur Stilanpassung "Standard wiederherstellen" entfernt.

    Wenn im CSS-Code Editor für Beschriftungen der Text geleert wurde, dann wird beim erneuten Öffnen des Formulareditors das Standard-CSS wiederhergestellt.

  • Neu: Beim Klick auf einen Ordner im Ebenenbaum der Karte wird jetzt geprüft, wie viele Ebenen damit angeschaltet werden würden. Wenn die Anzahl ....

    • >= 100 ist, dann erfolgt eine Rückfrage, ob dies wirklich durchgeführt werden soll,
    • >= 2000 ist, wird die Aktion mit einem Hinweis abgebrochen.

    Kartenaktion

  • Fix: In der Legendenliste wurde für WMS Ebenen der Fehler Es ist keine Legende verfügbar. .... ausgegeben.

  • Fix: Eine Beschriftungsebene, die an einer WFS Ebenen erstellt wurde, ließ sich nicht korrekt ein- bzw. ausschalten.

Datenbrowser

Desktop

  • Neu: Es besteht jetzt die Möglichkeit Icons für "WellknownTypes" auf dem Desktop abzulegen. Im Kontextmenü für viele Typen (Ebenen, Ordner, Anwendungen, Sitzungen...) gibt es dazu die neue Aktion "Desktopicon hinzufügen".

    Desktop

    Desktop

    Mit einem Klick auf das Icon wird die Standardaktion ausgeführt. Weitere Aktionen findet man im Kontextmenü.

    Desktop

cardo.COM

Sachdaten

  • Neu: In dem Standard-Rechercheformular wird die Vorschauliste der Werte beim Eingeben von Zeichen gefiltert (einfacher "Enthält"-Filter).

  • Neu: Beim Standard-Export wurde der Timeout jetzt auf eine Stunde erhöht. Dies betrifft alle Exporte und auch den Import per Datenbrowser in eine Datenbank.

Symboleditor

  • Neu: Im Kontextmenü des Editors befindet sich die neue Aktion "Vorschau für alle Einträge".

    Symboleditor

  • Neu: Klassifikationen können auch für Ganzzahlspalten erstellt werden, bisher nur für Dezimalzahl Typen.

    Die Abfrage für die Bereichsklassifizierung wurde etwas überarbeitet, bisher wurden nur Bereiche angezeigt, für die auch Datensätze vorhanden waren (d.h. die Anzahl der tatsächliche erzeugten Klassen unterschied sich u.U. vom "Wunsch").

  • Neu: Bei Klassifikationen werden die Label für die Legende mit generiert.

  • Fix: beim Umschalten der Spalte im Klassifikationsdialog konnte der Fehler "... value.toPrecision is not a function ..." auftreten.

  • Fix: Beim Umschalten zwischen Code und Formularansicht wurde der Wert point-placement bei jedem Umschalten geändert, wenn er "größer" als last_point war.

Geometrieeditor

  • Neu: In dem Formular "Fläche aus Koordinatenliste" gibt es per Kontextmenü eine Aktion zur Anzeige eines Textfeldes, in welches die Daten alternativ zu STRG+V auf dem Formular eingefügt werden können.

    Koordinatenliste

"Mein cardo"

  • Neu: Beim Ändern des Kennworts wird als Bestätigung der Identität das aktuelle Kennwort vom Benutzer abgefordert.

  • Fix: Beim Verschieben von Einträgen per Drag&Drop in die eigene Struktur blieb das Element noch an der alten Stelle stehen (es wurde optisch kopiert, aber nicht verschoben).

Sonstiges

  • Neu: cardo4 als Startseite einrichten:

    • Beim Update entsteht eine web.config.template im Ordner cardoSystem\Coreweb3
    • Diese zu "web.config" umkopieren (die bestehende Datei kann gelöscht werden).
    • Damit erfolgt eine Umleitung von http://IhrCardo => http://IhrCardo/net4
    • Der Aufruf zu cardo3 geht dann explizit mit http://IhreCardo/net3
  • Neu: Der Stil für die Trigger-Felder wurde etwas überarbeitet, dies soll die Bedienbarkeit vor allem bei mehreren Triggern nebeneinander verbessern.

  • Neu: Nachrichtenfenster ("MessageBoxen") werden jetzt beim Betätigen der ESC-Taste geschlossen.

    Im Standard für alle Nachrichtenfenster, die eine Schließen-Schaltfläche oder einen Abbrechen Button besitzen.

Systemverwaltung

  • Neu: Die Einstellungen der Datenbankverbindungen können jetzt auch direkt in cardo4 (Systemeinstellungen) vorgenommen werden.

    Sie sollten möglichst immer auf diese zentralen Einstellungen zugreifen, bspw. bei Einstellungen für Anwendungen.

    Db Settings

    Die neue Oberfläche zeigt auf die selben Einstellungen, die auch über das cardo Management Center bearbeitet werden können.

  • Neu: Beim Speichern der Anwendungseinstellungen gibt es am "Speichern" Button einen Untereintrag. Damit kann das Speichern erzwungen werden, auch wenn die Einstellungen nicht valide sind.

    I.d.R. sollten Sie davon keinen Gebrauch machen!

  • Neu: Bei allen Aktionen "Rohdaten" werden beim Aufruf des Dialogs die Daten nicht mehr in die Zwischenablage kopiert.

  • Neu: Es kann ein Systemmonitoring zu zentralen Log-Servern eingerichtet werden. Hiermit wird eine umfangreiche Systemüberwachung ermöglicht, die bei der Fehlersuche und bei Performanzproblemen unterstützen kann. Für weitere Informationen siehe die Ausführungen zu Systemüberwachung.

    Wenn das Monitoring eingerichtet ist, dann greift auch die neue Einstellung aus der web.config, womit das SQLUpdate für cardo4 Anwendungen automatisch eingespielt werden kann. Siehe auch die neue Einstellung in der Vorlage web.config.template:

    <add key="{PROJEKTNAME.}Maintenance.EnableAutoApplicationSQLUpdate" value="false"/>
    
  • Neu: BreakingChange: Im Zuge der Verbesserung der Systemsicherheit gibt es mit dieser Version kleinere Anpassungen.

    • Die öffentliche Schnittstelle enthält keine Methoden mehr für den Zugriff auf die Datenbank, d.h. Cardo4.Env.SystemOrm, Cardo4.Env.SystemDb und Cardo4.Env.SystemDbA wurden entfernt.

      Im (unwahrscheinlichem) Falle, dass Sie diese Eigenschaften verwendet haben, sprechen Sie uns bitte für Hinweise zur Anpassung Ihrer Anwendungen an.

    • Der Datenbrowser hat einige Blacklists für bestimmte Verzeichnisse. Ist ein angeforderter Ordner in der Blacklist vorhanden, wird dieser übersprungen.

      Die Regeln der Blacklist können in den App-Settings der web.config mit der Einstellung {Project.}IsSharedHostedInstance zusätzlich eingeschränkt werden.

  • Neu: Die Funktionen zur Benutzerverwaltung (Erstellen von Gruppen/Nutzern usw.) stehen jetzt direkt in cardo4 als API zur Verfügung.

  • Fix: Beim Testen eines E-Mail-Profils wurde das Feld "Host" im Fehlerfall nicht als fehlerhaft markiert.

DTS (Neues Modul)

  • Neu: Das neue (kostenpflichtige) Modul DTS (Datentransformationsdienste) wurde in erster Version erstellt.

    Hierbei sind zeitgesteuerte Datentransformationen / Importe im Hintergrund möglich.

    Eingestellt werden muss Datenquelle => Datenziel => Zeitsteuerung.

    Als Datenquelle ist z.Z. "nur" ein GeoJSON FeatureCollectionReader verfügbar, der die Daten von einer URL oder Datei abruft.

    Als Ziel kann eine Datenbanktabelle angegeben werden, in die Daten geschrieben werden. Ein optionales POST-Sql erlaubt weitere Möglichkeiten der Anpassung der Datenstrukturen.

    Es können beliebig viele Aufgaben erstellt werden. Eine Anpassung der Quelldatentypen ist relativ einfach möglich, hier warten wir auf Ihr Feedback.

    D T S

Benutzerregistrierung / SPA Controls

  • Neu: Die SPA Controls können jetzt unter mehreren Alias angesprochen werden (PathIds). Der Instanz wird die PathId im Prepare mit übergeben.

    Damit sind jetzt auch mehrere Nutzer-Registrierungsformulare möglich.

    Zudem wurden die internen Konfigurationsmöglichkeiten umfangreich erweitert.

cardo Launcher

  • Fix: der cardo Launcher behebt mit Version 2.1.4 einen Fehler, dass die Anwendung nach einem Benutzerwechsel am PC nicht mehr korrekt startete.

    In "Mein" cardo kann das Setup heruntergeladen werden. Die Aktualisierung muss manuell auf den jeweiligen Client-Rechnern durchgeführt werden.

PiB

  • Neu: Für die einfache Implementierung von Hintergrund-Tasks steht jetzt die neue Basisklasse IduIT.cardo.Core.Api.Applications.PiBBased.PiBApplicationBaseWithBackgroundTask zur Verfügung.

  • Neu: Über den neuen Kontextmenüpunkt 'Kenntnisnahme' kann eine Aufforderung zur Kenntnisnahme an eine Person/Gruppe versendet werden. Die Person erhält eine E-Mail mit der Aufforderung, an der Arbeitsaufgabe die Kenntnisnahme per Knopfdruck zu bestätigen. Es gibt eine neue Ansicht 'Kenntnisnahmen' an den Arbeitsaufgaben, welche alle angeforderten Kenntnisnahmen und verschickten Informationen zur Arbeitsaufgabe auflistet.

  • Neu: Neben der Möglichkeit, an einer Arbeitsaufgabe eine E-Mail an die zuständigen Personen zu schicken, kann man jetzt die Arbeitsaufgabe auch an eine auszuwählende Person/Gruppe senden. Ein entsprechender Eintrag ist im Kontextmenü zu finden. Die Aktion wird in der Liste der Kenntnisnahme an der Arbeitsaufgabe als Typ 'Information' mit aufgeführt.

  • Neu: Intern können Workitems ein 'LimitInWorkDays' bekommen. Ist dieses gesetzt, wird die Frist aus dem Ende des relevanten Vorgängers + die Anzahl der Arbeitstage (unter Beachtung von Sa/So/Fei) ermittelt, wenn man solch ein Workitem von Hand einfügt.

  • Neu: Im PiB gibt es eine neue Klasse HolidayCalculator, mit welcher man unter Beachtung der Samstage/Sonntage/Feiertage des übergebenen Bundeslandes Fristen oder Tage ausrechnen kann. Derzeit gibt es die Funktionen AddWorkDays(startDate, workDays), SubtractWorkDays(startDate, workDays), EnsureIsWorkDay(date, searchBefore).

  • Neu: In der Ansicht der Kommentare zu einem Objekt können jetzt auch Kommentare anderer Objekte, die mit aktuellen in Beziehung stehen, abgerufen werden.

    Die Mini-Buttons an den Tab-Karten der Objektansicht wurden zudem optisch überarbeitet.

  • Neu: Es gibt einen neuen CreatorFilter "Erstellt von", welcher als Filter der ObjectList freigeschaltet werden kann.

  • Neu: Neue Schnittstelle IObjectWithLifetimeNotifications, die Objekte für Benachrichtigungen für Erstellung- und Löschvorgänge implementieren können.

  • Neu: Neben dem Tracing zu speziellen Objekten kann auch ein globales Tracing verwendet werden. Hier vor allem für die Protokollierung von Objektlöschungen.

  • Fix: Die Filterliste für die Vorgänge nach Art ist jetzt alphabetisch sortiert.

  • Neu: Ist eine Arbeitsaufgabe beendet oder archiviert und existiert eine Html-Ansicht, dann wird beim Öffnen der Arbeitsaufgabe vorzugsweise die Html-Ansicht angezeigt (bisher das Formular, welches aber gesperrt war).

  • Neu: In der Anzeige der Beziehungen werden Arbeitsaufgaben jetzt besser dargestellt.

  • Neu: Es gibt eine generelle Möglichkeit, Nachforderungen für bestehende Arbeitsaufgaben zu stellen. Dies ist möglich, wenn ein Workitem in der Umgebung vorhanden ist, welches von IduIT.PiB.ProcessModel.CommonWorkitems.DemandData.AbstractDemandDataWorkitem ableitet.

An den Workitems, bei denen eine Nachforderung möglich ist, muss die Eigenschaft AllowedSpecialTypes = SpecialWorkitemTypes.DemandData am Attribut WorkitemDescription angegeben werden.

Damit dies für eine Menge von Workitems einfacher realisierbar ist, kann das neue WorkitemDescriptionMerge Attribut auf die Basisklasse angewandt werden.

  • Neu: Objekte können jetzt auch mit System-Tags versehen werden. Diese können nur programmintern geändert werden und werden per reference-Counting gelöscht/hinzugefügt. Hier können bspw. aus Arbeitsaufgaben an Objekte weitere Status gesetzt werden, bspw. "In Beteiligung".

  • Neu: Beim Speichern und/oder Abschließen einer Arbeitsaufgabe wird jetzt überprüft, ob der aktuelle Nutzer als Bearbeiter an dieser Aufgabe eingetragen ist. Ansonsten wird nach Nachfrage der neue Bearbeiter eingetragen. Der vorherige Bearbeiter wird per E-Mail über die Übernahme informiert.

  • Neu: Einige Beschriftungen wurden vereinheitlicht. Statt 'Zugewiesen 'heißt es jetzt 'Zuständig', Termine wurden auf 'Fälligkeit' geändert und die ID konsequent als 'OID' benannt.

  • Neu: Die Listen haben neben der Gruppierung jetzt auch ein eigenes Sortierfeld. Damit kann eine Sortierung auch für Spalten erfolgen, die nicht in der Anzeige sind.

  • Neu: Die Arbeitsaufgabenliste hat jetzt alle Funktionen der Standard-Objektlisten.

  • Neu: Die Vorgangsliste wird nicht mehr standardmäßig nach Datum gruppiert.

  • Neu: einige Erweiterungen in den Standardscript Funktionen der Template-Engine.

    Neue Methoden: IsTrue(a), IsFalse(a), IsEqual(a,b), IsNotEqual(a,b), die im Zusammenhang mit der ebenfalls neuen Filter Methode verwendet werden können.

    Bsp.:

    {{ for el in Filter(BO.Niederlassungen,"Hauptsitz", @IsTrue) }}.

    ... bzw. ...

    {{ for el in Filter(BO.Niederlassungen,"Hauptsitz", @IsEqual,true) }}.

API

Server

  • Neu: BreakingChange Die Schnittstelle der TaskScheduler API wurde geändert, alle Methoden bekommen jetzt eine Instanz-Id übergeben, womit mehrere Tasks des gleichen Typs möglich sind. Betrifft cardo.Core.ScheduledBackgroundTasks.Api.IScheduledBackgroundTaskFactory und Cardo4.Env.ScheduledTaskmanager.

  • Neu: Der IduIT.cardo.Core.CoreModules.BasicEditing.ValueHandler.LookupValueHandler kann jetzt auch für Lookups mit Ids aus einer Ebene umgehen.

  • Neu: Der Ajax-Antworttyp IFileDownloadResult wurde die Eigenschaft "Inline" hinzugefügt, damit kann das Content-Disposition Attribut gesteuert werden.

  • Neu: ORM-Linq Expression: HashSet.Contains wird in IN übersetzt

    Beachte: StringComparsion wird nicht ausgewertet!

  • Neu: Ressourcen (z.B. eingebettete Scriban-Dateien) werden jetzt auch zu Generic-Klassen gefunden.

  • Neu: Der Ajax Ergebnisdatentyp ZipFileDownloadResult prüft jetzt, dass keine doppelten Dateien angefügt werden. Diese Prüfung erfolgt auch beim Hinzufügen von Verzeichnissen rekursiv auf alle Dateien.

CodeGen
  • Neu: Die keys-Eigenschaft, die durch Angabe von TsCodeEmbedNetTypeNameAttribute generiert wird, enthält jetzt auch alle Eigenschaften der Basisklasse.

Client

  • Neu: Die IMessageBoxBaseConfig wurde um die Eigenschaft escapeKeyAction erweitert.

  • Neu: Die Methode IduIT.Core.Localization.string.formatWith wurde um das optionale neue Argument setEmptyIfAnyArgumentIsNullOrEmpty:boolean erweitert.

  • Neu: AnyDataSettings.Plugins.IDisplayPlugin wurde um die optionale Methode widgetColumn erweitert. Plugins können damit weitere Spalten mit Aktionen in der Ausgabe erzeugen.

  • Neu: Neue globale Methoden IduIT.cardo.Core.Applications.FileBrowser.showFileBrowserKeepList und IduIT.cardo.Core.Applications.FileBrowser.downloadFileOrFolder

  • Neu: Konfiguration der Grid.Columns.ValueColumn wurde um sortFunction erweitert.

    In dem Zusammenhang wurde die Signatur der Sorter-Funktion erweitertet. Erhalten Sie einen TypeScript-Fehler der Art error TS7006: Parameter 'a' implicitly has an 'any' type., dann wurde wahrscheinlich eine Sortierfunktion im Binding übergeben. Folgender Code kann für den Fehler verantwortlich sein:

    new Kiss.Data.Sorter.Binding(
        "wert", 
        Kiss.Data.Sorter.ESortDirection.Asc,
        (a, b)  => a.wert<b.wert
    );
    
    //=> Lösung: die Sort-Funktion ändern zu:
    //
    // (a, b, va, vb)  => a.wert<b.wert
    //        *   *
    
  • Neu: Bei der AutoCompleteBox wird der Anzeigewert geleert, wenn dieser nicht in der Liste enthalten ist.

  • Neu: Neues Checkbox-Widget für Grids, Bsp.:

    new Kiss.Ui.Grid.Column.WidgetColumn({
      width: 20,
      items: [
        new Kiss.Ui.Grid.Widget.Checkbox<T>({
          enabled: e => e.unlockRequired === true || e.unlockRequired == null,
          checked: e => e.checked === true,
          handler: e =>
          {
            const checked = (e.args.checked) ? false : true;
            this.grid.store.model.withRecord(e.args, r =>
            {
              r.set("checked", checked);
            });
          }
        })
      ]
    })
    
  • Neu: Update auf TypeScript 4.3 (bisher: 4.2)

    Entwickeln Sie selber cardo Erweiterungen, sollten Sie auch auf diese TypeScript Version aktualisieren.

    Ist die Umgebungsvariable IDU_TS_VERSION gesetzt, muss der Wert zu "4.3" geändert werden.

    Wir empfehlen in der TypeScript/tsconfig.base.json die Option "noImplicitOverride":true im Bereich compilerOptions zu aktivieren. Für die dann erforderlichen Code-Anpassungen sollten Sie ca. eine halbe Stunde Aufwand einplanen.

  • Fix: FieldSets ohne Titel haben jetzt keine Lücke mehr im Rahmen an der Stelle, wo eigentlich der Titel (die Legende) steht.

3rd Party

  • Update externer Bibliotheken:
    • TypeScript 4.2 zu 4.3
    • Scriban 3.7.0 zu 4.0.1
    • Markdig 0.24.0 zu 0.25.0
    • NodaTime 3.0.4 zu 3.0.5
    • OpenXmlSdk 2.12.1 zu 2.13.0
    • Monaco Editor 0.18.1 zu 0.26.1 (im IE bleibt es bei der 0.18)

Zuletzt geändert: 30.07.2021 11:47:10 (erstmals erstellt 07.05.2021)