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.

Aktuelle Version 4.1.2, veröffentlicht am 03.06.2020

Diese Version wurde initial Juni 2020 veröffentlicht.

Bitte beachten Sie die folgenden Hinweise vor der Installation des Updates

Bisher wurde das .NET Framework in Version 4.6 verwendet. Jetzt haben wir auf die Version .NET Framework 4.8 aktualisiert.

Alle hier aufgeführten Hinweise treffen gleichermaßen für cardo3 und cardo4 zu.

Grund für die Anpassungen ist, dass einige externe Libs nicht mehr für die bisher verwendetet Versionen zur Verfügung stehen. Da das Update auf eine andere höhere Version den gleichen (allerdings geringen) Aufwand bedeutet, haben wir gleich auf die höchste (und wahrscheinlich letzte) .NET Version gewechselt.

Für Administratoren

  • Wenn der Updater feststellt, dass diese Version nicht installiert ist, dann wird versucht den Webinstaller von https://go.microsoft.com/fwlink/?LinkId=2085155 herunterzuladen und zu installieren.
  • Wahrscheinlich wird ein Neustart des Servers nach der Installation erforderlich (das .Net Setup meldet dies, wenn erforderlich). Planen Sie hier etwas mehr Zeit für das Update ein (ca. 20 Minuten Framework Download und Installation + Serverneustart, dann die übliche Update Dauer, ca. 5 Minuten).

Neu (16.06.2020): Aktualisierte Hinweise zum Windows Update Problem

Für Betreuer

  • Stellen Sie vor dem Update sicher, dass ggf. selbst bzw. durch Dritte erstellte Komponenten auch auf .NET Framework 4.8 eingestellt sind. Siehe auch Für Entwickler ff. Dies betrifft bspw.:
    • cardo4: Komponenten (Anwendungen, Suchprovider, ...)
    • cardo3: cardo.Puzzle Kategorien

Für Entwickler

  • Sollten Sie in Ihren Assembly's als .NET TargetFramework eine Version < 4.8 angegeben haben, erhalten Sie Build Fehler über nicht vorhandenen Methoden etc. Das liegt daran, dass Sie keine Bibliotheken mit einer höheren Zielversion referenzieren können.

    • Ändern Sie die Einstellung "Zielframework" (Target Framework) in den Projekteinstellungen und erstellen Sie die Komponente neu. Mit Code-Anpassungen ist nicht zu rechnen, so dass der Vorgang nur wenige Minuten Zeit in Anspruch nimmt.

    • Fehlt das Zielframework in der Auswahlliste, kann bspw. hier das net48-developer-pack-offline-installer heruntergeladen werden.

  • Beachten Sie bitte für cardo4 Anwendungen / Komponenten auch die Hinweise zu TypeScript 3.9 Änderungen in dieser Version.

Juni 2020

4.1.2

cardo Launcher

  • Neu: der cardo Launcher liegt in Version 2 vor. Neu ist, dass intern eine eigene Websocketserver Implementierung zum Einsatz kommt und einige weitere Anpassungen, die das Tool in einer Terminalserver Umgebung nitzbar machen sollen.

    Die Verwendung von cardo auf SSL Servern ist nur noch im Internet-Explorer deaktiviert. In anderen Browsern gilt diese Einschränkung nicht mehr.

    In "Mein" cardo kann das Setup heruntergeladen werden. Zudem sind dort einige mehr Informationen und Testmöglichkeiten vorhanden.

AnySourceEditor

  • Neu: Es gibt jetzt eine Option zum Neuladen der Datenliste. Damit können neue Datensätze, die bspw. durch einen anderen Benutzer gleichzeitig hinzugefügt wurden, in die aktuelle Datenliste geladen werden.

    Neuladen im AnySourceEditor

  • Neu: Der Text-Filter durchsucht jetzt die Werte so, wie diese in der Anzeige sind. Bisher wurde der interne Wert verglichen (bspw. true / false bei Bool-Werten).

  • Fix: Wenn ein Datensatz neu geladen wird und dieser auf dem Server durch einen anderen Nutzer gelöscht war, trat ein Fehler auf.

    Jetzt wird der Datensatz aus der Ansicht entfernt und der nächste Datensatz wird selektiert.

  • Neu: Es kann jetzt auch eine Text-Spalte als PK Wert definiert werden. In dem Fall muss aber auch "IsAutoWert" true angegeben sein und es muss sichergestellt sein, dass beim INSERT der Wert sinnvoll belegt ist (bspw. per Trigger).

  • Neu: Bei fehlerhaften Einstellungen kann der Einstellungseditor jetzt trotzdem gestartet werden.

  • Fix: Iwan7 Ebenen vom Typ SQLServer konnten nicht bearbeitet werden. Ein Fehler der Art * ...provider: Named Pipes Provider, error: 40 - Verbindung mit SQL Server konnte nicht geöffnet werden* trat auf.

  • Fix: Der Abruf der Details zu einem Datensatz mit der numerischen Id 0 endete mit Fehler Der Operator Equal für Spalte id erfordert Argument 0.

Koordinaten-Umrechner

  • Neu: Wird aus der Karte eine Koordinate abgegriffen, deren Projektion nicht in der Liste der verfügbaren Projektionen enthalten ist, wird die Liste der Projektionen jetzt automatisch erweitert.

Karte

  • Neu: Bei der Zoom-Aktion mit Rechteckt wird die Karte jetzt animiert dargestellt.

  • Fix: U.U. konnte es passieren, dass das Kontextmenü in der Karte nicht mehr geöffnet wurde (wenn beim Klicken mit der rechten Maustaste ein kleiner Versatz war).

  • Fix: Beim Herauszoomen durch Aufziehen eines Zoom-Rechtecks konnte ein Skriptfehler auftreten, wenn ein sehr kleiner Bereich gewählt wurde.

  • Fix: Beim Überfahren eines Innenrings im Geometrieeditor-Feld konnte ein Fehler der Art this.__vectorLayer is undefined auftreten, wenn die Geometrie nicht in der Karte angezeigt wurde.

  • Fix: Bei der Aktion "Letzten Stützpunkt löschen" trat bei Flächen ein Skriptfehler auf, wenn die Aktion mehrfach durchgeführt wurde.

Allgemein

  • Neu: Die Schriftgröße im MessageGrid wurde von 8 auf 10Pt erhöht.

  • Fix: Bei Übernahme von Geometrien trat u.U. "0 ist keine gültige EPSG" auf.

  • Fix: U.U. konnte es vorkommen, dass Fenster aus dem Desktop geschoben wurden. Jetzt werden die Fenster immer so angeordnet, dass die Steuerelemente des Fensters immer sichtbar sind. Das trifft auch bei geänderter Auflösung zu.

Sonstiges

  • Neu: in der Anwendungsverwaltung ist jetzt ein Suchfeld vorhanden, mit dem die Liste gefiltert werden kann.

  • Neu: Der cardo Updater ermittelt die Url für den Aufruf für das SQLUpdate (Webdienst Diagnostics.asmx) über den Abruf der IIS Einstellungen der Webseiten.

    Jetzt wird die https Bindung gegenüber der http Bindung bevorzugt.

    Bitte achten Sie auf die Meldung am Ende des Update-Vorgangs bzgl. des Erfolgs des Datenbank-Updates.

  • Neu: Geodatenexport (Export V4):

    • Beim Export aus dem Maptip kam manchmal der Fehler, dass die Geometrie nicht unterstützt wäre, bzw. wurde nur der Klickpunkt als winziger Kreis aus den getroffenen Geometrien exportiert. Hierbei wurden die Geometrien automatisch auf die Filtergeometrien verschnitten - was bei Punkt nicht möglich ist.

    • Bei aktiver Karte wurden bei aktivem Filter auf Kartenausschnitt/Selektion auch alle Geometrien auf diesen zugeschnitten.

      Dieses Verhalten ist aus cardo3 bekannt, wirkt aber untypisch und unerwartet in cardo4. Es wurde daher für cardo4 eine weitere Spalte "Zuschneiden" eingeführt, mit welcher das gewünschte Verhalten gesteuert werden kann.

      Standardmäßig ist diese Option ausgeschaltet.

      Zuschneiden im ExportV4

Änderungen an Anwendungen

Wegekataster
  • Neu: Im Wegekataster ist es nun möglich die Routen der Wege über das Routing Modul zu erfassen. Im Puzzle Modul ist die Funktion "Streckenabschnitte per Karte zuweisen" integriert.

    Wegekataster

    Damit muss der Bearbeiter nur noch Start und Endpunkt einer Strecke in der Karte auswählen. Der Routenverlauf wird anhand des Wegenetzes erstellt. Eine Anpassung des automatischen Routenverlaufs ist selbstverständlich möglich. Zusätzlich können im Wegekataster mehrere Teilrouten hinterlegt werden.

    Wegekataster

Anwendung Routing
  • Neu: In der Routing Anwendung steht die Druckfunktion zur Verfügung. Dazu muss eine entsprechende Druckvorlage hinterlegt werden. Weitere Informationen dazu finden Sie wie gewohnt in unserer Onlinehilfe (Druckvorlagen) .

API

Server

  • Neu: Einige Verbesserung für die Dokumentation der Objekte für unserer Template-Engine:

    • Neue Attribute IduIT.Core.Renderer.RendererRegistratorClassAttribute, IduIT.Core.Renderer.ScribanDocMemberTypeOverrideAttribute.

    • Bessere Integration in unsere DevExtension (Aktualisierung erforderlich).

    • Automatisches Nachladen der Daten, wenn der Anwendungspool recycelt wurde.

  • Neu: Das AjaxMethodAttribute hat eine neue Eigenschaft ScriptTimeoutSeconds

  • Neu: Für Anwendungen die Hintergrundtasks definieren findet sich in den Task-Einstellungen ein neuer Parameter, mit der eine Wiederholung im Fehlerfall aktiviert werden kann.

    Intern steht jetzt auch Hintergrund-Task der Zugriff auf (viele Methoden ...) der cardo4.Env zur Verfügung.

  • Fix: Wenn Anwendungen das Interface IduIT.Core.Web.Handler.IGenericHandler implementierten, wurde der Handler u.U. nicht mit aufgenommen. Ein Aufruf endete dann mit Statuscode 404.

    Hintergrund war, dass je nach Art des ersten Aufrufs die Instanz nicht erstellt werden konnte, da Bspw. Berechtigungen fehlten (vor allem bei Nicht-Windows Authentifizierung).

    Intern werden die Anwendungsinstanzen für den Fall der Typ-Detection ohne Prüfung der Berechtigungen erstellt. Es wird nur noch die Konfiguration übergeben, aber keine benutzerbezogenen Aktionen.

    Im Dashboard in cardo4 wird der Status der registrierten und der fehlerhaften Handler jetzt mit ausgegeben.

    Für InstanceActivatorFactory wurde die Signatur der Methode TypeInstanceCreator geändert.

    Alt:

    object TypeInstanceCreator(Type t, bool resultIsOnlyUsedForTypeDetection);
    

    Neu:

    object TypeInstanceCreator(Type t, TypeInstanceResultUsage resultUsage);
    
  • Neu: Neue Basisklasse ApplicationAccessor<T>, mit der sich Ajax-Klasse erstellen lassen, die ab und an evtl. doch Zugriff auf eine Anwendung haben müssen.

    [IduIT.Core.Web.Ajax.AjaxClass("IduIT.App.Costing.CostingApp.FeeRemote")]
    internal sealed class FeeSchemaReader : cardo.Core.Api.Applications.ApplicationAccessor<CostingApplication>
    {
       internal Auto.Products GetCatalog(string catalogId)
       {
          CatalogBaseFolder ??= App.Settings.CatalogBaseFolder(true);
          ...
       }
    }
    

    In diesem Zusammenhang wurde auch das neue Attribut AjaxIgnoreClass eingeführt, um die Ableitung der Ajax-Klassen von der Basisklasse zu unterdrücken.

  • Neu: Cardo4.Env.Properties.ResolveVariables() hat eine neue Überladene Version, wo ein IDictionary mit eigenen Variablen übergeben werden kann.

    Zudem werden hier keine sicherheitsrelevanten internen Variablen mehr ausgewertet.

  • Neu: Erweiterungen am Property-Model XSD Schema:

    • Neu: Neues Element TextComponent als Spezialisierung von Component. Bsp.:
      <Group title="Nummernbereich">
        <Field name="PersonenNummernBereichMinValue" title="Von">
          <Align>Left</Align>
          <LabelWidth>50</LabelWidth>
        </Field>
        <TextComponent>
          <Content>
            <![CDATA[<div><b>Wichtiger Hinweis:</b>: ...</div>]]>
          </Content>
        </TextComponent>
      </Group>        
      
  • Neu: Anwendungseinstellungen mit Datenbankverbindungen steht für die Validierung jetzt ValidateAllDatabaseSettings zur Verfügung. Hier ein Beispiel:

    CardoManagedApplicationSettingsUtil.ValidateAllDatabaseSettings(r,this,
        /* Schema muss angegeben sein, erstellen, wenn nicht vorhanden */
        schemaBehavior: DbSchemaBehavior.MustSpecifyForPostgreSQL | DbSchemaBehavior.CreateIfNotExists,
        /* Neu: Weitere Prüfungen mit der Db */
        withDb: (db) =>
        {
            ...
            return true;
        },
        /* Neu: Es muss PostgreSQL sein und dort mind. Version 10*/
        minVersions: new[] {
            Tuple.Create(WellKnownDatabaseEngines.PostgreSqlServer, new Version(10, 0))
        }
    );
    
    

Client

3rd Party

  • Update externer Bibliotheken:
    • Open XML SDK 2.10.0 zu 2.10.1
    • Scriban von 2.1.1 auf 2.1.2
    • Markdig von 0.18.1 auf 0.20
    • MimeKit.Net von 2.4.1 auf 2.6.0
    • JQuery von 3.4 auf 3.5.1

Zuletzt geändert: 06.07.2020 16:19:44 (erstmals erstellt 07.06.2017)