ORM-Klassen: Standardkonstruktor entfernen
ORM-Klassen sollten keine Standardkonstruktoren mehr implementieren. Diese liefern keine funktionsfähigen Klasseninstanzen. Diese Konstruktoren können ersatzlos entfernt werden. Nur der Konstruktor mit dem Parameter für Session wird benötigt.
Im XPO-Diagram sollte zudem sichergestellt werden, dass auch keine neuen Standardkonstruktoren mehr angelegt werden
Entfernen von ‘*.d.ts’ Dateien
Die ‘*.d.ts’ Typinformationsdateien von TypeScript wurde neu organisiert. Zu finden sind diese nun im Ordner “Scripts/typings/BusinessApp”.
Nach dem Update der Nugets sollten nicht länger benötigte TypeScript Typinformationsdateien (*.d.ts), die nicht Bestandteil des Projektes sind, gelöscht werden, um potentielle Konflikte mit den neuen Typinformationsdateien zu vermeiden. Besonders häufig bleiben alte Dateien und Unterordner in Scripts/BA/Ui bestehen. Dennoch sollte der Gesamte Ordner Scripts auf alte Dateien geprüft werden.
Einbettung von Java Script Dateien
Verschiedene Java Script Pakete sind nun Teil der BA.dll, daher müssen diese, falls vorhanden, aus dem “scripts” Ordner entfernt werden. Dazu zählen auch die Ordner “history.js” und “pdf.js” und die jquery-Dateien direkt im Ordner. Von dem Standardprodukt wird nur noch die Ordner “DevExtreme” und “typings” ausgeliefert.
Einführung von Spalten Sets
Im Rahmen der Einführung von Spalten-Sets wurde an verschiedenen Stellen der Datentyp GridViewConfiguration
auf GridConfigurationBase
umgestellt. Beispielsweise bei GridDataColumnBase.GetDataType
.
Änderung an DayAtAGlanceFilterModel [Compiler Fehler]
Die Schnittstelle zur Erweiterung der Widgets “Tag auf einen Blick” wurde modifiziert. DayAtAGlanceFilterModel
hat jetzt StartDate
und EndDate
statt CurrentDate
als Parameter. Das bedeutet, dass die gelieferten Einträge zwischen diesen beiden Daten liegen.
Änderung des Namespaces für den Import [Compiler Fehler]
Namespaces, die sich auf BA.Import
beziehen, müssen auf BA.Core.Import
geändert werden.
Änderung der Schnittstelle des Datenintegrationswidgets [Compiler Fehler]
Falls sie einen eigenen Treiber für das Datenintegrationswidget implementiert haben, ist hier die aktuelle Beschreibung.
Methode RenderUtils.GetMasterEnumGuid [Compiler Fehler]
Es wurde die öffentlichen Methode RenderUtils.GetMasterEnumGuid geändert.
Von
public static Guid GetMasterEnumGuid(FormControlRendererParameterModel parameters, string OrmFieldName)
auf
public static Guid GetMasterEnumGuid(ConfigurationBase configuration, ViewableControlBase control, object bindObject, string OrmFieldName)
Die Methode wird in den Renderern für Maskensteuerelemente für Auswahlwertlisten verwendet, die Umstellung des Aufrufs ist üblicherweise trivial (hauptsächlich abhängig von der Verwendung des korrekten BindObject):
Von
Guid masterGuid = RenderingUtils.GetMasterEnumGuid(RenderParameters, control.OrmFieldName);
auf
Guid masterGuid = RenderingUtils.GetMasterEnumGuid(RenderParameters.RenderingContext.Configuration, control, BindObject, PreparedProperty.Name);
Doppelte Relationskategorie entfernt [bei Compilerfehler]
Für die Anwendung der Relationskategorie “From/Source/Quelle” und “To/Target/Ziel” gab es eine zwei Implementierungen mit EnumRelationSide
und EnumBusinessRelationSubtypes
.
EnumBusinessRelationSubtypes
wird ersetzt durch EnumRelationSide
- Alle Vorkommen von
EnumBusinessRelationSubtypes
. in allen Projektdateien ersetzen durchEnumRelationSide
.Case-sensitiv und ganze Worte. - Danach, falls erforderlich, noch Namespaces bzw. usings anpassen.
- Alle Relationen und Konfigurationen werden automatisch migriert.
Code Migration: AfterpropertiesSubmit
Die Funktion AfterPropertiesSubmit
wird jetzt früher aufgerufen, nämlich vor dem Binden der aktuellen Änderungen. Dies entspricht dem dokumentierten Verhalten.
Existierender Code könnte sich aber darauf verlassen haben, dass der Aufruf irrtümlich nach dem Binden der neuen Eingaben erfolgte. Deshalb sollten existierende Implementierungungen auf AfterPropertiesBind
umgestellt werden. Das garantiert dasselbe (getestete) Verhalten wie seit Release 7.0.
Einzig für die Erkennung von jüngsten Änderungen sollte weiterhin der alte Wert von AfterPropertiesSubmit
in AfterPropertiesBind
mit dem neuen Wert verglichen werden. Das erkennt man üblicherweise daran, dass bereits beide Methoden überschrieben wurden. (Die Änderungserkennung über diesen Weg hat von Release 7-9 nicht funktioniert.)
Änderung der API vom Widget “Tag auf einen Blick” [Compiler Fehler]
Die neue Definition ist hier zu finden.
API zum Erzeugen von Toast-Nachrichten optimiert [bei Obsolete-Warnung]
Die Methoden Api.ClientCommunication.Create...
, die als ersten Parameter einen OrmUser
bekommen, sind obsolet, weil die Versorgung dieses Parameters i.a. nicht ohne Datenbankzugriff möglich ist. Verwenden Sie statt dessen die Überladungen, die nur die OID des Benutzerzugangs benötigen.
Beispiele:
// alt:
OrmUser user = session.GetObjectByKey<OrmUser>(UserContextGuid);
Api.ClientCommunication.CreateInfo(user, toastMsg);
// neu:
Api.ClientCommunication.CreateInfo(UserContextGuid, toastMsg);
// alt:
Api.ClientCommunication.CreateWarningExtended(Api.User.CurrentUserAccess(), recycleBinWarningMsg, "bce3c028-6f4c-4da9-8729-95842d4095ce".Translate(), unlimtedTimeToDisplay: true);
// neu:
Api.ClientCommunication.CreateWarningExtended(Api.User.CurrentUserGuid(), recycleBinWarningMsg, "bce3c028-6f4c-4da9-8729-95842d4095ce".Translate(), unlimtedTimeToDisplay: true);