Changelog (Release)

Hier finden Sie die aktuell veröffentlichten Änderungen, für die in Entwicklung befindlichen Anpassungen ("Getestete Vorabversion") siehe Aktuelle Version (in Arbeit)

Aktuelle Version 4.0.9, veröffentlicht am 21.09.2018 / letzter Patch 09.10.2018

Altere Versionen

4.0.8 (28.07.2018)

4.0.7 (25.03.2018) | 4.0.6 (02.02.2018) | 4.0.5 (03.01.2018)

4.0.4 (25.10.2017) | 4.0.3 (15.08.2017) | 4.0.2 (30.07.2017)


4.0.9


API

Client
  • Neu: Anpassungen am Cardo4ApplicationProxy für cardo3:

    • der Methode "showSelectionOnMap" können im Parameter layerName jetzt auch mehrere Layer-Namen mit "|" getrennt übergeben werden. Sobald in einer der Ebenen ein Datensatz gefunden wurde, bricht die Funktion die Suche in den nachfolgenden Layern ab.
    • neue Methode:
      • "ensureVisibility": Zoom mit Offset auf den übergebenen Extent, sofern dieser nicht schon (mind. teilweise) im aktuellen Kartenausschnitt enthalten ist. Ist zu diesem Zeitpunkt keine Karte geöffnet, kommt eine Meldung - es wird keine Karte geöffnet.

November 2018


Release 4.0.9.39267 / 09.10.2018


Dateneditor

  • Neu: Werden in PostgreSQL DOMAIN Datentypen verwendet, kam bisher eine Meldung über nicht unterstützte Datentypen. Die DOMAIN Typen können jetzt verwendet werden (es wird der Basis-Typ ermittelt, die Regeln werden nicht im Detail ausgewertet).

  • Fix: Beim Bearbeiten von Teilen einer Geometrie die eine von der aktuellen Karte abweichende KBS hatten, konnte es dazu kommen das die Teile in dem anderen KBS erfasst wurden.

Sonstiges

  • Neu: Beim Start kann ?diag=2 angegeben werden, damit einige weitere Details ausgegeben werden.

  • Neu: Hilfelink in der Diagrammansicht eingefügt.

GeoSQL

  • Neu: Werden in der Nicht-LT-Version alle Ergebnis-Tabs geschlossen, kann man jetzt zurück zur Erstellung neuer Abfragen.

  • Change: Einige Operatoren bei den Filtern wurden verändert, damit das Erscheinungsbild durchgängig ist


Release 4.0.9.39115 / 05.10.2018


Oktober 2018

Desktop

  • Neu: Wenn nicht alle Anwendungen in die Taskleiste passten, wurde diese bisher (etwas unschön, weil die Knöpfe kleiner waren als die Leiste) vertikal gescrollt. Im Firefox waren zudem die Scrollbalken nicht sichtbar, wodurch man u.U. übersehen konnte, dass es noch weiter "nach unten" geht. Das Verhalten wurde komplett überarbeitet:

    • Es werden nur soviele Anwendungsknöpfe dargestellt wie hinpassen (aber immer mindestens einer, falls eine Anwendung offen ist). Falls nicht alle hinpassen gibt es mehrere "Zeilen", von denen immer nur eine sichtbar ist

    • Zum Umschalten zwischen den Zeilen gibt es "rauf/runter"-Knöpfe, die falls gebraucht, eingeblendet werden. Diese zeigen auch an, ob es entsprechend nach oben oder unten weitergeht.

    • Zum Umschalten zwischen den Zeilen kann man auch das Mausrad benutzen

    • Wenn man eine Anwendung im Desktop aktiviert, wird automatisch in die entsprechende Zeile gesprungen.

    • Bei Änderung der Fenstergröße passt sich die Darstellung automatisch an.

  • Fix: Bei Verwendung der "Alternative NTLM Logins" gab es ein Problem, wenn der Nutzer nicht in der angegebenen Datenbank enthalten war.


Release 4.0.9.39101 / 04.10.2018


Sonstiges

  • Neu: Die Login-Einstellungen "Alternative NTLM Logins" werden jetzt mit ausgewertet.

Dateneditor

  • Neu: Anpassungen an der Suche: Suchworte werden am Leerzeichen geteilt und standardmäßig mit "UND" verknüpft, mit dem Prefix "any:" oder "all:" kann die Verknüpfung der Worte definiert werden. Werte in doppelten Anführungszeichen werden nicht getrennt.

    Beispiele:

    • Ausdruck: Dresden* Cotta

      In einer Spalte beginnt der Wert mit dem Wort "Dresden" und eine Spalte dieser Zeile hat exakt den Wert "Cotta".

    • Ausdruck: "Dresden Cotta"

      In einer Spalte ist genau der Wert "Dresden Cotta" enthalten

    • Ausdruck: any: Dresden Cotta

      Eine Spalte enthält den Wert "Dresden", oder eine Spalte dieser Zeile enthält den Wert "Cotta"

  • Fix: Beim Kopieren einer Zeile war die Bearbeitung erst nach dem Speichern möglich, wenn die Quelle der Kopie einen anderen Ersteller hatte und die Rechte "nur eigene Bearbeiten" aktiv waren.


Release 4.0.9.39068 / 29.09.2018


  • Neu: Einige Wünsche nach der Einführung des neuen Dateneditors wurden umgesetzt

    • Einstellungen

      • Für die Grid-Spalte ist jetzt die Angabe der Position in der Anzeige und Angabe der Spaltenbreite vorhanden.

      • Die Einstellung "In Datenfeld" suchen wird jetzt ausgewertet (Leer = Ja).

      • Es gibt eine neue Einstellung Ausblenden für die Bearbeitungsfelder, die so markierten Felder werden dann im Formular nicht mehr angezeigt. Beachten Sie, dass die Datenfelder keine Datenbank-Constraints haben dürfen, bzw. diese nicht NOT NULL sind.

    • Editor

      • Auf Datenzeilen steht ein Kontext-Menü mit den Aktionen Kopie erstellen, Neu Laden / Änderungen verwerfen, Löschen und Gelöschte Datensätze wiederherstellen zur Verfügung

      • Im Suchfeld können Begriffe mit Platzhalter (*) angegeben werden. Zudem erfolgt die Suche nicht mehr unter Beachtung Groß/Kleinschreibung.

      • Die Spaltenbreiten in der Listenansicht werden wie eingestellt ausgewertet, bzw. bei keiner Angabe wird der Spaltentitel als Maß genommen.

      • Sonstiges

      • Die Aktion zum Anpassen der Einstellungen ist in der Menü-Hierarchie weiter nach hinten gewandert und nun mit "Edit-Einstellungen" beschriftet

      • Link auf die Hilfeseite wurde angepasst

      • Geometriebearbeitungsfeld, beim ersten Mal "Zoom auf Geometrie" erfolgt die Anzeige nicht immer in der Karte.

Datenbrowser

  • Change: Das Download-Timeout wurde vom Standardwert von 90 Sekunden auf 5 Stunden erhöht

Release 4.0.9 / 21.09.2018


"Mein cardo"

  • Neu: Zwei neue Aktionen in der Toolbar, Informationen zum Launcher, siehe unten, und Neuladen der Dokumentenansicht.

Launcher

  • Neu : Wir stellen ein Desktop-Tool, den cardo Launcher, zur Verfügung. Dieser kann vor allem im Zusammenhang mit dem Com-Handler und der mit dieser Version neuen Aktion "Programm starten" verwendet werden.

    Der aktuelle Installationsstatus und der Zugang zum Setup ist in "Mein cardo" unter "cardo Launcher" zu finden. Launcher My Cardo

Datenbearbeitung / Filebrowser / GEdit

  • Fix: In der Konfiguration des Dateneditors war es bei festen Nachschlagelisten möglich null-Werte zu speichern. Diese führten dazu, dass die Nachschlageliste nicht mehr geladen werden konnte. Null-Werte werden jetzt beim Speichern der Nachschlageliste rausgefiltert.

  • Fix: Der Dateneditor konnte manchmal nicht gestartet werden (war im Hintergrund vorhanden, aber hatte kein Fenster mehr).

  • Neu: Im Dateneditor werden Nachschlagewerte jetzt alphabetisch sortiert.

  • Neu: Die Aktion "Laden einer Ebene aus Datei" kann jetzt auch zum Laden von Shape-Dateien verwendet werden.

  • Neu: Es ist eine neue Aktion "Programm starten" in den Einstellungen der Sachdatentabelle vorhanden. Damit kann eine ausführbare Datei als Link generiert werden.

    Die Ausführung erfolgt ...

    • direkt via cardo Launcher (sofern installiert),
    • im IE, wenn die Sicherheitseinstellung "Initialize and script ActiveX controls not marked as safe for scripting." in der aktuellen Sicherheitszone zugelassen ist, direkt via Shell.Run,
    • in allen anderen Fällen wird eine Batch-Datei erstellt, die dann vom Benutzer ausgeführt werden muss.

    Es muss mindestens der Name der ausführbaren Datei übergeben werden, optional dann weitere Argumente, die aus den Spalten der Datenquelle bezogen werden können. Beachten Sie, dass die auszuführende Datei "lokal" aus Sicht des aufrufenden Browserfensters anzugeben ist.

  • Neu: Ein neuer Dateneditor ist am Start. Mit dem neuen, mehr formularbasiertem Ansatz ist das Bearbeiten deutlich nutzerfreundlicher. Zudem sind auch alle Tabellen im Datenbrowser damit auf einen Schlag bearbeitbar.

    Any Source Editor Init

  • Neu: Im Datenbrowser jetzt kann für Datenbanken eingestellt werden, ob auch Views mit angezeigt werden sollen.

  • Neu: Im Datenbrowser können Berechtigungen bei eingebundenen Datenbanken jetzt bis auf Tabellenebene vergeben werden, bisher nur auf Schemaebene.

    Des Weiteren wurden die Berechtigungen ...

    • Einstellungen ändern
    • Datensätze erstellen
    • Alle Datensätze bearbeiten
    • Alle Datensätze löschen
    • Eigene Datensätze bearbeiten
    • Eigene Datensätze löschen

    neu hinzugefügt.

    Das bisher bereits vorhandene Recht "Tabellen erstellen" schließt dabei alle "Datensätze XX Berechtigungen" mit ein.

    Db Browser

    Sie müssen einmal die Einstellungen im Datenbrowser neu speichern, um die Objekte auszulesen.

    Im Daten-Browser sind des Weiteren für Tabellen/Views neue Aktionen verfügbar:

    • Als Ebenen laden (wenn Geometriespalte vorhanden ist)
    • Daten bearbeiten
    • Einstellungen
    • Export
    • Sachdatenanzeigen inkl. Recherecheoption

    Die möglichen Aktionen sind im Kontextmenü des jeweiligen Eintrags zu finden.

    Db Browser Ctx

  • Neu: Bei der Option "In Datenbank importieren" des Daten-Browsers kann jetzt eine Autowert Spalte beim Anlegen der Tabelle mit erzeugt werden. Der Spaltenname ist dabei cdoautoid, z.Z. nicht für Oracle, die Spalte darf nicht bereits vorhanden sein.

  • Neu: In den cardo3 GEdit Ebeneneinstellungen (Managementcenter) befindet sich die neue Eigenschaft "Als "AnyDatasource" bearbeiten", damit werden die Editierebenen mit dem neuen Editor verwendet.

  • Neu: Die Systemvariable $WAREHOUSE_THESERVER wird jetzt mit ausgewertet.

Geometriefunktionen

  • Neu: Anpassungen an der Geometrietoolbox (bzw. mehr der Editor):
    • Die Geometrien werden beim Anzeigen als Kopie übergeben, damit gibt es keine unerwarteten Änderungen der Projektion (z.B. bei Geometrie-Info)
    • Beim Start der Bearbeitung einer vorhandenen Geoemtrie wird auf den Ausschnitt gezoomt, wenn dieser außerhalb der aktuellen Karte war.
    • Wenn das Feld "disabled" ist (also: nur Lese-Ansicht), dann sind die Aktionen Zoom und Anzeigen weiterhin aktiv.
    • Wenn beim interaktiven Bearbeiten der Geometrie die Karte geschlossen wurde, wird diese nicht mehr automatisch neu geöffnet.

Breaking - Changes

  • Temp: Der Namespace für die Einstellungen wurde geändert. Damit vorhandene Spalteneinstellungen keine Fehler auslösen, müssen diese gespeicherten Angepasst werden:

    UPDATE 
        cdo4_settings
    SET settings_json = REPLACE(settings_json,
            'IduIT.cardo.Core.Environment.Content.LayerDataSettings.',
            'IduIT.cardo.Core.Environment.Content.AnyDataSettings.')
    WHERE 
            settings_type_name = 'IduIT.cardo.Core.Environment.Content.LayerDataSettings.LayerDataSettings'
    

    Bei der Veröffentlichung der 4.0.9 Version als Release wird der Updater diese Änderung dann automatisch mit durchführen.

Sonstiges

  • Neu: Einige Überarbeitungen im Bereich der Formulare (z.B. bei Anwendungseinstellungen, dem neuen Dateneditor).

    • Schriftgröße der Beschreibungstexte von 10 auf 11px erhöht
    • unterschiedliche Höhen der Beschreibungstexte führen nicht mehr zu einer Vergrößerung benachbarter Formularfelder
    • die Symbolgrößen der "Trigger" Felder wurden auf 13px erhöht (z.B. das X zum Leeren des Inhalts)
  • Neu: die Ladeanzeige in cardo (oberer Rand) wird jetzt mit einer Verzögerung von 1/2 Sekunde ausgelöst.

  • Neu: Das Click-Verhalten der Schaltflächen wurde geändert. Wenn mit der Maus bei gehaltener linker Maustaste von der Schaltfläche heruntergefahren wird und dann die Maustaste gelöst wird, wird jetzt die Aktion nicht mehr ausgeführt.

  • Neu: Start/Stop der Webseite wird jetzt in der Tabelle cdo_instance_start_info festgehalten. Der cardo Monitor-Service kann dabei ein "Ping" auf das cardo4 vornehmen, damit die Webseite automatisch gestartet wird. Dieses Vorgehen ist vor allem für die (ebenfalls mit dieser Version neuen) Hintergrund-Tasks relevant.

    Die Option muss im Monitor explizit aktiviert werden, siehe Datei monitor.template.config im ICServer Ordner

  • Neu: In den Anwendungseinstellungen werden die nicht bearbeitbaren Felder jetzt ausgeblendet, bisher waren diese deaktiviert.

  • Change: Die Oberfläche im GeoSQL wurde etwas überarbeitet, so dass die Übersicht beim Auswählen und Ausführen vorbereiteter Abfragen übersichtlicher ist.

  • Unresolved: Mit dem Update auf Visual Studio 2017 15.8 kommt es beim Anlegen einer neuen Typscript-Datei zu zu einer unbehandelten Ausnahme "The supplied SnapshotPoint is on an incorrect snapshot" in Visual Studio. Verursacht wird dies durch die Entwickler-Extension von uns, das Problem liegt aber innerhalb von Visual Studio.

    Wir warten noch auf einen Bugfix in Visual Studio (aktuell: 15.8.4) , sonst müssen wir die Funktion deaktivieren (Vorbefüllung der TypeScript-Datei mit Namespace Deklaration etc.)

    Aktuell wird die Datei nicht mehr automatisch mit dem Inhalt befüllt, sondern dieser wird in die Zwischenablage eingefügt. Aus der Zwischenablage kann man dann unmittelbar das Gerüst der Script-Datei in die leere Datei einfügen (CTRL+V).

    Um diesen Workaround zu erhalten, installieren Sie bitte eine aktuelle Version unserer Entwickler-Extension.

API

Client
  • Fix: In der IduIT.Core.Kiss.Ui.Form.Field.ComboBox wurde bei manueller Eingabe das Change-Event nicht gefeuert. Nach Auswahl aus der Liste und nachfolgender Eingabe wurde immer der Wert aus der Liste zurückgegeben (weil _selectedRecord gesetzt war und dies Priorität gegenüber den Eingabewert hatte).

  • Neu: In der Methode getRecord des IduIT.Core.PropertyModel.Data.Model werden an Daten immer alle Felder aus dem Modell angefügt.

    Bisher konnte es Probleme geben, dass im Editor falsche Datenfeldwerte angezeigt wurden, wenn an den Daten [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] definiert war.

  • Neu: IduIT.Core.Kiss.Type.Tree.AbstractNode verfügt jetzt über die Properties ancestors bzw. ancestorsOrSelf. Diese geben ein Array der Elternknoten bis hinauf zum Root zurück, im zweiten Fall inklusive des Knotens bei dem die Property aufgerufen wurde.

    Damit kann schnell auf Status bei Elternknoten geprüft werden z.B. if (node.ancestorsOrSelf.some(n => !n.value.isDataValid)) { /* Meldung ausgeben, dass die Daten nicht gültig sind, oder so... */ }.

  • Neu: CoreModules.Mapping.DynamicLayerLoader.addDynamicLayerFromGeoFile wertet jetzt auch ".shp" (Laden von Shape-Dateien) und ".csv" aus.

  • Fix: IduIT.Core.Kiss.Ui.Responsive.TileContainer: Beim Resize des Containers und der Kindelemente wird nun genauer geprüft, ob ein Neu-Rendern wirklich nötig ist. Dadurch ist die Performance deutlich besser, besonders im IE.

  • Fix: Der Resizing-Mechanismus an allen UI-Elementen wurde modifiziert, um ein Funktionsaufruf zu sparen und die Performance zu verbessern.

  • Fix: IduIT.Core.Kiss.Ui.Form.Field.Number: Spinner war standardmäßig deaktiviert, auch wenn das Feld "enabled" und nicht "readOnly" war.

  • Fix: IduIT.Core.Kiss.Ui.Form.Field.FlagsSelectBox: Zusätzlicher Parameter isNullable. Falls true wird in der Typ-Validierung der Null-Check übergangen. Wird vom PropertyModel automatisch gesetzt, falls Flags-Enums nullable sind.

  • Fix: IduIT.Core.Kiss.Lang.Enum.getLabel - bei Flag-Enums wurde bisher bei Mehrfachauswahl immer das Label für Wert 0 (= keine Auswahl) mit angezeigt, dieser 0-Wert wird jetzt in der Anzeige ignoriert.

  • Neu: Neue Auswahlliste für Flag-Enums IduIT.Core.Kiss.Ui.Form.Field.FlagsSelectBox, unterstützt Mehrfachauswahl, diese wird automatisch im PropertyModel verwendet, wenn das Feld vom Type Enum mit Flags ist.

    Wenn der Enum keinen Wert 0 definiert, wird automatisch ein TypeValidator angefügt, welcher sicherstellt, dass der Wert clientseitig auf null geprüft wird. Null ist nicht zulässig, wenn "Nichts" auswählbar sein soll, muss im Enum ein 0-Wert definiert sein.

  • Neu: Neue Methode tryGetWindow für Kiss.Core.Ui.Component

  • Neu: Folgende Änderungen für die Anwendungserstellung:

    • Anwendungsklassen können in der statischen Methode canHandleWellKnownType jetzt auch ein Array von Optionen zurückgeben.

    • Die Startoptionen und auch die Untereinträge können in der neuen Eigenschaft staticHandler jeweils eine Methode angeben, die ohne eine Anwendungsoberfläche zu erstellen ausgeführt wird. Dabei wird trotzdem sichergestellt, dass die Anwendungsskripte geladen werden.

      Bsp.:

      public static canHandleWellKnownType(wkt: WellKnownType.IWellKnownType): TcanHandleWellKnownTypeUnion
      {
          if (wkt instanceof WellKnownType.AnyDatasourceWellknownType)
          {
              let result: StartOptions.IWellKnownTypeStartOptions[] = [];
              if (wkt.isEditable)
              {
                  result.push({
                      useDefaultInstance: false,
                      label: "Daten bearbeiten",
                      priority: 1,
                  });
              }
              if (wkt.isEditable)
              {
                  result.push({
                      iconCls: Icons.FontAwesome.getIconCls('cogs'),
                      label: "Einstellungen",
                      priority: 1,
                      staticHandler: (wkt: WellKnownType.AnyDatasourceWellknownType) => CoreModules.AnyDatasourceEditor.showSettingsDialog(wkt)
                  });
              }
      
              return result.length > 0 ? result : false;
          }
          return false;
      }
      
  • Neu: Neuer Konfigurationsparameter textMode:Kiss.Ui.Core.ETextMode (Default: Kiss.Ui.Core.ETextMode.Text) an allen Buttons. Damit können jetzt auch Button-Labels und Menüeinträge per HTML gesteuert werden (z.B. für Hoch-/Tiefstellung bei chemischen Formeln).

  • Neu: Neuer Konfigurationsparameter allowPin:boolean (Default: true) bei Kiss.Ui.Panel.Switchpanel.Switchpanel. Wenn explizit auf false gesetzt, wird der Anpin-Button ausgeblendet. Nützlich für einzelne Switchpanel, die man einfach nur auf- und zuklappen möchte.

  • Neu: Update auf TypeScript Version 3.0.1

  • Neu: Neuer Typ AnyDatasourceWellknownType der in Zukunft für alle verfügbaren Datenquellen Datenabruf / Änderungen erlaubt. Die Einstellungen für diesen Typ sind in den Spalteneinstellungen der Datenquelle hinterlegt.

  • Neu: Store / Changeset

    • neue Eigenschaft suspendChangeSetNotifications am IduIT.Core.Kiss.Data.Store<TData,TId>, damit kann verhindert werden, dass beim Hinzufügen neuer Daten bei aktivem changeSet diese als neu erstellte Datensätze betrachtet werden.
  • Neu: der WellknownType TableData hat eine neue Eigenschaft isSubSet, damit kann erkannt werden, ob die Tabelle einen Auszug der zugrunde liegenden Quelle darstellt.

  • Neu: IduIT.cardo.Core.CoreModules.Mapping.Ui / Geometrie

    • wenn keine allowedTypeFamilies übergeben wurden, werden jetzt alle möglichen Typen angenommen, bisher kam ein Scriptfehler
    • die Geometrie wird in _fireChangeEvent nicht mehr als Kopie übergeben
    • der Valuehandler für Geometrien implementiert jetzt equals durch Vergleich der Inhalte der Geometrien
    • Neue statischen Methode Geometry.GeometryUtils.isEqual(g1,g2)
    • IduIT.Core.Mapping.MapComponent.setExtentToFeature beachtet jetzt die CRS des Features und transformiert entsprechend.
  • Neu: Einige neue Klassen:

    • IduIT.Core.Kiss.Ui.Core.DataRowNavigator stellt eine Hilfsklasse für die Verwendung mit Grids und Listen bereit.
    • IduIT.Core.Kiss.Core.DynamicCssLoader erlaubt Verwendung von CSS Code als einbettbare Zeichenfolge
  • Neu: Neuer Konfigurationsparameter titleTextMode:Kiss.Ui.Core.ETextMode für die Klassen Panel und FormItem. Damit können jetzt auch Panel-Titles per HTML gesteuert werden (z.B. für Hoch-/Tiefstellung bei chemischen Formeln).

Server

  • Neu: In cardo4 werden jetzt Hintergrund-Tasks unterstützt. Dies kann für Anwendungen implementiert werden. Die Integration ist an verschiedenen Stellen sichbar, bswp. im Dashboard und bei der Verwaltungsseite der Anwendungen.

  • Neu: Server-zu-Server Methodenaufrufe, die einen besonders effizienten Transport eines DataReaders implementieren.

    Die Daten werden dabei durchgängig via Streaming übertragen, so dass auch sehr umfangreiche Datenmengen möglich sind. Natürlich auch mit Geometriedaten und Objekten ...

    Die Schnittstelle ist noch in Arbeit, Änderungen an der API sind noch möglich (und auch wahrscheinlich).

    //Empfänger-Seite (Anwendungsklasse ist eine cardo Anwendung):
    
    [IduIT.Core.Web.S2SX.S2SXClassAttributeAttribute]
    partial class CardoSampleApp
    {
        [IduIT.Core.Web.S2SX.S2SXMethodAttributeAttribute()]
        public String SxRecieveData(IduIT.GeoLib.Net.Data.IDataReader data, String sampleValue)
        {
            return sampleValue + sampleValue;
        }
    }
    
    //Sender:
    //..sample Code, nur Auszug
    var response = Core.Web.S2SX.S2SXProcessor.Invoke(_endpoint,
      _cred, true,
      typeof(CardoSampleApp).GetMethod("SxRecieveData"),
      args,
      reader,
      Dsl);
    //
    
  • Neu: PropertyModelClassAttribute wurde um DefaultLabelWidth, DefaultFieldWidth und DefaultAlign erweitert.

  • Fix: Auswertung von List<Complex> wurde als String dargestellt, statt als Liste komplexer Untertypen.

  • Neu: Neues Attribut IduIT.cardo.Core.CoreModules.Settings.SettingsTypeNameAttribute, damit kann der Schlüssel für Einstellungen (siehe Tabelle cdo4_settings) festgelegt werden, bisher ist es immer der Type.FullName.

  • Neu: Neue Extension für Exceptions, GetExceptionMessage() gibt dabei für TypeInitializationException und TargetInvocationException die InnerException mit aus. Ist auch im Ajax Exceptions-Serializer eingebaut.

  • Neu: der Generator c# => TypeScript erstellt für reine Interface-Typen jetzt auch die geerbten Schnittstellentypen als TypeScript Interfaces.

  • Neu: Neue Klassen:

    • IduIT.Core.DisposableDictionary (vor allem für die Verwendung mit Cardo4.Env.RegisterDisposeableOnce)
    • IduIT.cardo.Core.Api.Applications.Exceptions.ApplicationConfigurationException Ausnahmen für fehlerhafte Anwendungskonfiguration

4.0.8


August 2018

Druck

  • Fix: Schließen des Druckdialogs während des Generierens des Dokuments verhindert, Abbruch geht nur über den Abbrechen-Button.

Selektion

  • Change: Das Standard-Selektionssymbol hat jetzt auch eine halbtransparente Füllung, sodass man bei selektierten Flächen die tatsächlich in der Selektion enthaltenen Flächen von den Nachbarflächen besser unterscheiden kann.

Release 4.0.8.38644 / 16.08.2018


Auswertung

  • Fix: Die Sortierfunktion für die Diagrammdarstellung wurde u.U. auf die falsche Spalte angewandt.

cardo.gKK

  • Neu: Die Beschreibung der Kleinkataster wird im Datenbrowser mit angezeigt.

Karte

  • Fix: Nach dem Löschen von Freihandgeometrien waren diese weiterhin in der Karte sichtbar.

  • Fix: Wurde das Kartenbild geschlossen, während eine Anforderung lief, trat der Fehler "Die Eigenschaft "hasOwnProperty" ... kann nicht abgerufen werden." auf. Zudem wird versucht die noch laufende Kartenanforderung abzubrechen.

  • Fix: Bei aktiviertem Selektionswerkzeug trat der Fehler "Die Eigenschaft getMarkerLayer..." auf, wenn die Kartenanwendung geschlossen wurde.

  • Neu: Tooltipanzeige der Berechtigungen in Themenbaum etwas aufgehübscht. Das Recht LayerMod (Kartendarstellung temp. ändern) wird beim Generieren des Baums jetzt ignoriert.

Sonstiges

  • Fix: Der Fehler "Ein Element des Baumes zeigt auf sich selbst" konnte auftreten, wenn ein Sicherheitsthema einer Anwendung als Schlüssel ein direktes Unterelement mit gleichem Schüssel hatte. Der Fehler trat konkret beim Datenbrowser auf, wenn der Alias der Datenbank identisch mit einem Schema-Namen in dieser Datenbank war (inkl. Groß/Kleinschreibung).

  • Neu: Für Oracle SDO Ebenen wird beim Auswerten der Geoedit-Einstellungen die angegeben SRID ignoriert. Beachten Sie: Ist eine SRID erforderlich, müssen Sie dies bswp. per Trigger selber einfügen.

  • Neu: PropertyModel: Es gibt einen Standard-Valuehandler für Kennwörter (IduIT.Core.PropertyModel.ValueHandler.Default.PasswordValueHandler). Dieser wird automatisch verwendet wenn eine Property den Type IduIT.GeoLib.Net.EncryptedString hat.


Release 4.0.8.38584 / 07.08.2018


API

Client
  • Fix: Problem "{typename} ist nicht in den Typ WellknownType.TableData deserialisierbar" bei Ajax-Methoden die ein WellknownType.TableData entgegennahmen behoben.

  • Neu: Beim Blocker kann nun optional angegeben werden, ob dieser die geblockte Komponente sichtbar macht (ausgrauen, hell oder dunkel).

    Bei modalen Komponenten, die Layer.IDesktopLayer implementieren, kann dies auch optional angegeben werden - Standard-Einstellung ist dort "helles ausgrauen", falls diese modal sind.

  • Fix: Beim Kiss.Ui.Panel.SwitchPanel fehlte der Style, der den Pin-Status des Panels sichtbar macht.

  • Fix: Kiss.Ui.Container.Stack kann jetzt (optional) auch mit anderem Layout als Layout.Fit bestückt werden. Damit kann man diesen nun auch vertikale Layouts einbinden.

  • Fix: Beim Kiss.Ui.Form.Field.Number konnte man den Wert trotz "readOnly" mittels der Spinner-Controls oder des Mausrads ändern.

Release 4.0.8.38565 / 05.08.2018

Karte

  • Neu: Der Schalter für die Selektion in der Karte bleibt nun nach der Selektion aktiv und kann/muss mit erneutem Klick ausgeschaltet werden (oder via ESC, wie bisher).

  • Fix: Fehler "Für den LayerName XXXX konnte keine SourceId ermittelt werden" trat beim Anzeigen der Ebenenbeschreibung für Benutzerebenen auf.

  • Neu: WMS Datenabruf per Selektion ist nicht mehr möglich. Da nur ein Filter-Punkt verwendet werden kann, konnte u.U. falsche Interpretationen der Ergebnisse die Folge sein.

    Verwenden Sie bitte in dem Fall nur die Map-Tip Funktion.

Datentabelle / Recherche / GeoSQL

  • Neu: Doppelte Spaltennamen werden vor dem Senden jetzt eindeutig gemacht (durch ein numerischen-Suffix). Damit werden Folgefehler unterbunden. Bspw. kam der Fehler "fn.GetResColumn is not a Function" bei der Diagrammansicht.

  • Fix: Fehler "Unerwarteter Aufruf" beim Entfernen eine Aggregatspalte in der Diagrammansicht.

cardo.gKK

  • Neu: Die Anzeige der Menüeinträge für die Anwendung "gKK Browser" wurde überarbeitet. Export, Anzeigen und Bearbeiten sind nun direkt über das Kontextmenü erreichbar.

  • Neu: Beim Starten der Bearbeitung einer leeren Geometrien aus der Tabellenansicht heraus erfolgt jetzt eine Nachfrage des zu erstellenden Geometrietyps.

  • Neu: In der Beschreibung werden Hinweise zu den Bezugssystemeinstellungen der Geometrien des gKK mit ausgegeben. Auf evtl. falsche Einstellungen Epsg/Srid wird per Warnungstext hingewiesen.

Juli 2018

Release 4.0.8.38520 / 28.07.2018

cardo.gKK

  • Neu: Die Neue Anwendung "gKK Browser" listet alle verfügbaren Kleinkataster auf. Bisher wurden nur die gKKs über die Suche gefunden (an denen eine Bearbeitungsberechtigung vorhanden ist). In dem Zuge wurden einige Funktionen ergänzt. bspw. Export, Geometrieabruf bei gKK mit Nur-Leseberechtigung.gKK-Browser

  • Fix: "Die Sequenz enthält keine übereinstimmenden Werte" trat beim wiederholten Bearbeiten einer Geometrie in der Formularansicht auf.

  • Fix: Die rechte Seite des Inhalts nahm im Chrome und Firefox nur die Hälfte des verfügbaren Platzes ein.

cardo.Puzzle

  • Neu : Die Aktionen zur Geometriebearbeitung in den Puzzle Datenfeldern sind umfassend an die cardo4 Umgebung angepasst.

  • Neu : Für Datensätze von Ebenen, die als Quelle auf cardo.Puzzle basieren, werden die Aktionen zum Anzeigen und Bearbeiten der Dokumente jetzt mit angeboten (Sachdatenanzeige, Maptip etc.).

    Es wird in den Sachdaten geprüft, ob die Spalten "pzlNodeId" und "ikxStoreId" enthalten sind. Die PzlNodeId ist bei den automatisch erstellen Views mit enthalten, die IkxStore Id muss derzeit manuell in die Ebenenbeschreibung eingetragen werden.

    In der aktuellen cardo3 Version wurde die Erstellung der Views angepasst, so dass die Spalte IkxStoreId mit enthalten ist. Rufen Sie dazu die Methode CreateOrUpdateAdminLayerForCategory des Dienstes puzzleservices2.asmx auf.

Einstellungen

  • Neu : Die Werte für "Grundkarte" und "Start-Ausdehnung" können jetzt auch wieder auf leer gesetzt werden.

  • Fix : Die Benutzereinstellung "Farbschema Farbiger" konnte u.U. nicht zurückgesetzt werden.

  • Neu : Neue Benutzereinstellung "Grafische Ausgestaltung", mit der Option "Reduzierte Effekte" um gewisse Gestaltungen abzuschalten, die evtl. die Darstellungsgeschwindigkeit beeinträchtigen. Ein Test mit dieser Option ist vor allem dann empfehlenswert, wenn der Browser keine optimale Unterstützung von einer Grafikkarte hat.

Datentabelle / Recherche

  • Neu: Neues Modul für die Datenauswertung, hier können zusätzliche Aggregierungen / Summenbildungen usw. der Daten erfolgen. Die Ausgabe kann dabei als Datentabelle oder Diagramm erfolgen.

    Auswertungen

  • Neu: Bei den Datenexporten kann jetzt die Projektion beim Export in Geodatenformate eingestellt werden.

  • Neu: Beim Sitzungsstatus mit Tabellendaten wird nur noch die Quelle, nicht mehr die Daten gespeichert.

  • Neu: Wenn sich die Daten der Quelle der Tabellenansicht durch Interaktionen in der Oberfläche ändern, wird die Anzeige aktualisiert.

  • Fix : Bei der Aktion "Abfrage bearbeiten" aus dem MapTip heraus wurde der Geometriefilter nicht übernommen.

  • Fix : Felder, die mit "Komplexer Filter" hinzugefügt wurden, wurden nicht angezeigt.

  • Fix : In "Berechnete Spalten" konnte der Divisionsoperator nicht verwendet werden, die Eingabe von Dezimalzahlen als Operand war nicht möglich (Beachte: als Dezimaltrennzeichen ist nur der Punkt zulässig).

  • Fix: Nach Anzeige der Datentabelle zum Ergebnis eines MapTips und erneutem MapTip auf die Ebene während die Datenanzeige geöffnet war, führte dazu dass die Treffer aus dem jüngsten MapTip verwendet wurden, z.B. beim Export, Geometrieanzeige etc.

  • Fix: Verbessertes Handling bei der Wiederherstellung des Sitzungsstatus (Trennung zwischen Ergebnissen des MapTips und Daten aus der Selektion)

  • Fix: Beim Datenexport in Shape wird die Spalte ShapeRowId der Quelle ignoriert (und nicht mit exportiert).

Sketch

  • Fix: U.U. konnte der Fehler "Die Eigenschaft getSelection ..." nach dem Schließen von Sketch auftreten.
  • Fix: Beim Übernehmen einer Geometrie von der Karte oder der Selektion, etc. wurde die Sketch-Geometrie nicht auf der Karte angezeigt, wenn noch keine Verbindung zwischen der Sketch-Anwendung und der Karte bestand. Nun wird die Verbindung ohne weiteres Zutun des Nutzers automatisch hergestellt, wenn zum Zeitpunkt der Übernahme der Geometrie ein Kartenfenster geöffnet ist.

Karte

  • Neu: In den Ebenen-Infos wird, sofern hinterlegt, der Aktualisierungs-Zeitstempel mit ausgegeben.

  • Neu: Die "Abbrechen" Funktion wurde überarbeitet. Jeder Karteninstanz wird nun eine eigene Aktivität zugeordnet.

    Meldungen mit "Der Zeichenvorgang wurde vorzeitig abgebrochen" sollten nun nur noch dann erscheinen, wenn wirklich "Abbrechen" gewählt wurde.

  • Neu: Bessere Auswertung der Ebeneneigenschaften, so wird Selektion jetzt auch für die Iwan7 Tiff mit Grid Inhalt angezeigt.

  • Neu : Im Maptip werden die Ergebnisse von WMS Diensten mit angezeigt. Wenn kein Maptip-Inhalt definiert ist, wird automatisch ein Text mit dem Link und der Ausgabe des Dienstes generiert. In Selektionen ist die Abfrage nicht vorgesehen, da außer einem Klickpunkt keine Abfragen an WMS lt. Spezifikation möglich sind.

  • Neu: MapTip Ergebnisse werden nicht mehr als Favorit erstellt, Features ebenso nicht mehr (z.B. die Ergebnisse aus der Gazetteer Suche).

  • Neu: Im MapTip erfolgt die Darstellung der Toolbar (Aktionen zum Treffer) jetzt über dem Inhalt des MapTips.

  • Fix : wenn bei der Geometriebearbeitung die Karte "mittendrin" geschlossen wurde, trat ein Scriptfehler beim Editierfeld auf.

  • Fix: Eigenschaft "DrawOrder" einiger Ebenentypen wird jetzt auch in cardo4 korrekt ausgewertet.

  • Fix: IwanLayerManager: Hört nicht mehr auf WellKnownType.Manager.onContentChanged, da dies bei allen möglichen Aktionen (z.B. MapTip) ein Neuladen der Karte auslöste, obwohl die Kartendarstellung gar nicht betroffen war.

Themenbaum

  • Neu: Im Tooltip werden die Berechtigungen und der Layername angezeigt.

Datenbrowser

  • Neu : Beim Import von Daten in eine Datenbank kann jetzt auch der EPSG Code für den Import eingestellt werden.

  • Neu : Tabellen aus eingebundenen Datenbanken, die über eine Geometriespalte verfügen, können direkt als Ebene in der Karte angezeigt werden.

  • Neu : Beim Öffnen von TIF wird geschaut, ob es Bild- oder eher Griddaten sind (Iwan7 kann jetzt diese Tiffs korrekt behandeln) und der entsprechende Ebenentyp automatisch generiert.

  • Neu : Der Import von Daten in Microsoft SQL Server Datenbank ist jetzt möglich (bisher "nur" in PostgreSQL und Oracle).

  • Fix : Aktion "Tabelle als Ebene laden" von Datenbanken deren Alias einen Bindestrich enthielt, funktionierte nicht.

  • Fix: Fehler "Objektverweis wurde nicht auf ..." trat beim Speichern der Einstellung auf, wenn Alias oder Pfad nicht angegeben wurden.

Metadatenanzeige

  • Fix : Die Icons bei Treffern aus der lokalen Suche wurden nicht angezeigt.

Sonstiges

  • Neu : Administratoren finden die Anwendung "Dashboard" vor, dabei handelt es sich im Wesentlichen um einen Demonstrator der neuen Diagrammkomponenten. Ausgegeben werden einige Informationen zu den aktuellen Requests. Hilfreich kann die Anzeige der Startup-Infos sein (z.B. ob Assemblys nicht geladen werden konnten). Dashboard

  • Neu : Bei der Konvertierung der Ebenenbeschreibung zu Iwan7 werden für alle Attribute Variablen ausgewertet.

  • Neu : Der Com-Handler wurde um die Aktion loadSessionState erweitert. Zudem gibt es jetzt die Möglichkeit einen versteckten Frame in der cardo Seite verwenden zu können.

  • Fix: Unter Umständen wurde nur jeder 2. Aufruf des COM Handlers ausgeführt (betrifft IE Browser).

  • Neu : Es wurde ein globaler Handler für die Behandlung von SSL-Zertifikatsfehlern implementiert. Dieser schreibt die Fehlerdetails in das Logfile "SSLErrors.html". Wenn der CN des Zertifikates eines unserer IDU Zerts ist, wird der Fehler ignoriert. (Löst Probleme auf Windows 2008R2 Server in Verbindung mit Proxy-Servern).

  • Neu : TLS Versionen werden jetzt global gesetzt: Tls, Tls11 und Tls12, kein Ssl3

  • Neu : Rand der Fenster ist jetzt 0px (vorher 0 3 3 3)

  • Fix : Im AuthenticationProviderResolver wird jetzt System.Web.HttpContext.Current.User auf den aufgelösten User gesetzt.

API

Server
  • Fix: Beim erstmaligen Registrieren von Anwendungen wir der Methode CreateSecurityNodeForImportOrUpdates jetzt immer null als Anwendungsinstanz übergeben (entsprechend der Dokumentation).
Client
  • Neu: der WellknownTypeManager wurde um Methoden zum Reference-Counting erweitert (addInUseRef,releaseInUseRef und isInUseRef). Damit können sich Module über das Ableben von WellknownType-Instanzen informieren, ohne den regulären Registrierungsprozess (mit Id-Vergleich etc.) beachten zu müssen.

    Bsp.:

      	// Anwendung 1, erstellt Tabellenauszug, 
      	// merkt die Kopie und ruft im Dispose 
      	// damit WellKnownType.Manager.releaseInUseRef 
      	// wieder auf
    
      	const clone = tableWkt.extractRows(Kiss.Type.Range.create(...indices);
    
      	WellKnownType.Manager.addInUseRef(clone, { initWithZero: true });)
    
      	// .....
    
      	// Anwendung 2, verwendet diesen Wkt
      	if (WellKnownType.Manager.isInUseRef(wkt))
      	{
      		WellKnownType.Manager.addInUseRef(wkt);
      		events.push(WellKnownType.Manager.onDelete.add((e) =>
      		{
      		  if (layer && e.args.wk === wkt || e.args.wk === srcWkt)
      				layer.dispose();
      		}, this, { disposable: true }));
      	}
    
  • Neu: Anpassungen am Cardo4ApplicationProxy für cardo3:

    • Die Eigenschaft existingMap prüft nun auch auf eine bereits vorhandene Kartenanwendung, die nicht über die Anwendung gestartet wurde.
    • neue Eigenschaft: "mapState"
    • neue Methoden:
      • "clearSelectionFromMap": entfernt den Selektions-Vektorlayer wieder von der Karte, der mit showSelectionOnMap erstellt wurde
      • "getIwanLayersOfMap": liefert ein Array der Namen aller derzeit in der Karte angeschalteten Ebenen
      • "tryGetCurrentEpsg": liefert die EPSG der aktuellen Karte (bzw. null, wenn derzeit keine Karte zur Verfügung steht)
      • "createAndComparision": erzeugt einen Filter, der mehrere Filter, die als Array übergeben werden müssen, per AND verknüpft
    • neues "Event": Nach dem Anfügen des Objekts "Cardo324ApplicationProxy" in den body der cardo3-Anwendungs-Hauptseite wird die Funktion OnCardo324ApplicationProxyAttach an gleicher Stelle aufgerufen, sofern sie in der Anwendung definiert wurde. Achtung: Die Funktion muss explizit im document.body vorhanden sein!
  • Neu: Neue Eigenschaft showMaximized in Core.Applications.IApplicationUi (wird für cardo3 Anwendungen automatisch ausgewertet.)

  • Fix : Der MenuOverflowHandler der Toolbars hatte einige Probleme, Knöpfe korrekt ein- und auszublenden und die Reihenfolge einzuhalten.

  • Fix : Beim Schließen von modalen Fenstern wurde u.U. die Funktionalität darunterliegender Fenster (Größenänderung) nicht korrekt wiederhergestellt.

  • Neu: Neues optinales Konfigurationsattribut frameName für IduIT.Core.Kiss.Ui.Embed.IFrame

  • Neu: Einige Erweiterungen für WellknownTypes wurden eingeführt:

    • alle Typen müssen jetzt die Methode createIndependentCopy() implementieren. Hierbei wird eine Kopie erwartet, die so tief ist, dass Aktualisierungen an der bestehenden Instanz keine Auswirkungen auf den Inhalt haben.
    • alle Typen könnnen die Eigenschaft tag implementieren, damit kann derzeit das Ablegen der Instanz in der Favoriten-Verwaltung verhindert werden
    • volatile Typen werden nicht mehr im WellknownType Manager registriert.
  • Neu : Update auf TypeScript Version 2.9

- [x] Neu : Update auf TypeScript Version 2.8

  • Neu : In der Konfiguration der Dialoge (z.B. IduIT.Core.UiWidgets.PromptDialog.promptValue) kann eine Help-Url übergeben werden.

  • Neu : Update auf JQuery 3.3.1 (von 3.2.1)

  • Neu : Kiss.Type.Color.fromName hat Überladung mit Alpha-Wert und eine neue Methode setAlpha(alpha) wurde hinzugefügt.

  • Neu : Neue Komponenten für Reporting hinzugefügt.

  • Neu : Ein Wrapper für Stores und Views steht in Kiss.Data.StoreViewHolder<TRecordType, TId> zur Verfügung. Damit kann das Dispose-Verhalten besser gesteuert werden. Siehe die statischen Methoden Kiss.Data.StoreViewHolder.assignStore(...) oder Kiss.Data.StoreViewHolder.referenceStore(...)

  • Fix : In der Komponente Kiss.Form.Field.File wird beim Belegen des Values mit null jetzt das HTML-Input-File - Feld neu erstellt.

    Dadurch ist nach dem Belegen mit null jetzt auch die .fields - Property mit einem leeren Array belegt und das nochmalige Auswählen der gleichen Datei ist möglich.


4.0.7


April 2018

Release 4.0.7.37741 / 08.04.2018

Datenbrowser

  • Fix: Beim Abruf von Datentabellen aus Microsoft SQL Server wurden Spalten vom Typ NVarchar doppelt definiert, dies führt dann u.U. zu einem Script-Fehler.

März 2018

Sketch

Release 4.0.7.37710 / 29.03.2018

  • Neu: Sketch ist nun als "Empfänger für Geometrien" registriert und steht damit von verschiedenen Stellen aus als Werkzeug zur Verfügung.

Release 4.0.7.37696 / 28.03.2018

Geodatenbearbeitung

  • Fix: Beim Wechseln zwischen Tabellen / Formularansicht und nach dem Schließen / Neuöffnen der Bearbeitungsansicht kam ein Scriptfehler.

Sketch

  • Neu: Umsortierung der Einträge ist nun per Drag&Drop möglich.

Release 4.0.7.37656 / 25.03.2018

Sketch

  • Neu: Das Modul "cardo.Sketch" wurde für cardo4 neu erstellt.