Changelog (Entwicklung)

Hier finden Sie die in Arbeit befindlichen Änderungen, ggf. sind diese im Updater als "Getestete Vorabversion" mit enthalten. Für veröffentlichte Änderungen siehe Changelog (Release)

Aktuell ist die Version 4.1.7, diese wurde am 28.07.2021 veröffentlicht.


z.Z. liegen keine unveröffentlichten Änderungen vor.

API

Server

  • Neu: Folgende Änderungen am ORM

    • Bei dem Table-Attribut IduIT.Core.Data.ORM.DatabaseTable kann der "Name" (Quelle in der Datenbank) jetzt optional je nach Datenbanktyp spezifiziert werden.

      [IduIT.Core.Data.ORM.DatabaseTable(
      	MsSql="SELECT * FROM A",
      	PostgreSQL="SELECT * FROM B*,
      	Oracle="SELECT * FROM C"
      )]
      class MyClass {}
      
    • Die Methoden GetMany() des ORM für den gefilterten Datenabruf wurde um eine Variante GetManyCTE erweitert.

      Hier kann als erster Parameter eine Common-Table-Expression mit übergeben werden. Dies ist erforderlich, da einige Datenbanken CTEs nur am Anfang einer Abfrage zulassen.

      orm.GetManyCTE<Data.PuzzleNodeInfoWithCategoryNodeId>(
      	cte: $@"WITH nodes_cte AS (
      			SELECT pzl_nodes.id, pzl_nodes.parent_id FROM pzl_nodes where id = {SubTreeNodeId}
      			UNION ALL
      			  SELECT pzl_nodes.id, pzl_nodes.parent_id FROM  nodes_cte 
      			INNER JOIN 
      			  pzl_nodes on pzl_nodes.id = nodes_cte.parent_id
      			)
                ",
      	filterSql:$@" WHERE id in ( select id from nodes_cte  )",
      	id
      
  • Neu: Neues Interface IduIT.Core.Web.IHttpHandlerRequestInfo, welches von IDU.Core.Web.IHttpHandlerRequestInfo ableitet (inkl. des Attributs IduIT.Core.Web.IHttpHandlerRequestInfo). Hier kann festgelegt werden, dass bestimmte Methode eine Anmeldung mit der Stufe XX erfordern. Konkret geht es um die Steuerung, dass Anonyme implizite Anmeldungen nicht zulässig sind (siehe Eigenschaft RequiredLoginLevel).

  • Neu: Neue Exception-Klasse AuthenticationRequiredException. Diese kann in Verbindung mit der clientseitigen handleUnknownBrowserAuthentication der Klasse IduIT.Core.Web.Ajax.settings verwendet werden, um eigenen Login-Formulare zu implementieren.

    Z.Z. gibt es für Testzwecke ein Loginverfahren, welches die API von Auth0 verwendet, hierbei ging es uns um die grundsätzliche Implementierung einer Authentication mit dem Schema Bearer i.V.m. JWT.

CodeGen
  • Neu: Der Newtonsoft.Json Converter verwendet bei der Generierung auch Eigenschaften (JsonIgnore, JsonProperty), die an dem Interface der implementierenden Klasse definiert sind (sofern dort nicht überschrieben). Dieser Umstand wird jetzt auch bei der Generierung der d.ts Dateien beachtet.

    In dem Zuge wird jetzt auch das [JsonObject(MemberSerialization = MemberSerialization.OptIn)] mit ausgewertet.

    Für Entwickler: Sie sollten nach dem Update "Create .Net Typescript Code" für Ihr Projekt durchführen und auf Änderungen an der netTypes.d.ts achten

Client

  • Neu: Mittels IduIT.Promise.Deferred.wrap<T> können Native-JavaScript Promises als IPromise verpackt werden.

  • Neu: BreakingChange: Die Klasse AbstractGrid (betrifft damit Grid und Tree) wurde um ein Template-Argument für das SelectionModel erweitert.

               TODO: Code-Anpassungen am Bsp. dokumentieren
    
  • Neu: Neue Klasse IduIT.Core.Web.Promise.DeferredStack, mit deren Hilfe asynchrone Aktionen als serielle Ausführung abgearbeitet werden können.

  • Neu: Update auf TypeScript 4.4 (bisher: 4.3)

    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.4" geändert werden.

3rd Party

  • Update externer Bibliotheken:
    • Markdig 0.25.0 zu 0.26.0
    • Monaco Editor 0.26.1 zu 0.27.0 (im IE bleibt es bei der 0.18)

Zuletzt geändert: 10.09.2021 15:28:41 (erstmals erstellt 29.12.2017)