Neuer Basis Worker TemporaryRecordMassWorkItem
Die neue Basis Klasse TemporaryRecordMassWorkItem<T>
dient zu gesicherten Verarbeitung von selektierten Datensätzen. Sie ersetzt in dieser Beschreibung das Interface IIgnitableWorkItem
und damit auch IIgnitableAction
. Diese können aber weiterhin verwendet werden.
Setzen von Relationen auf einem Datensatz
Es ist nun möglich die Relationen einer Typ/Kategorie Kombination auf einmal zu setzen und damit sicherzustellen, das der Datensatz nur genau diese Relationen der Kombination besitzt.
Umgang mit HTML-Strings
In der Api.Text befinden sich nun hilfreiche Methoden für den Umgang mit HTML-Strings.
Klonen von Datensätzen
Es ist nun möglich über eine generische Methode Datensätze zu klonen.
ORM-Events
In ORM-Events vor dem Speichern (OnSaving
, OnDeleting
) dürfen jetzt auch Exceptions geworfen werden, die dann dem Benutzer angezeigt werden und das Speichern verhindern. Um übersetzbar zu sein, sollte man die Klasse TranslatableException
nutzen.
Neu: OnCloned
Zurücksetzen von Transaktionen
Es gibt ein neues Kapitel in dem die Möglichkeiten beschrieben sind, wie Transaktionen zurückgesetzt werden können.
Effektive Berechtigungen eines beliebigen Benutzers
Dafür gibt es nun Api.User.GetEffectivePermissions
. Genaueres dazu hier.
E-Mail Adressen um DisplayName erweitert
Es ist nun möglich E-Mail Adressen die zu E-Mails zugeordnet sind einen DisplayName mit zu geben.
Die AddLinkedEmailAddress
Methoden-Header des Interfaces ISubEmailAddressesHelperImplementation
wurden um den optionalen Parameter displayName
erweitert, wenn dieser verwendet werden soll, müssen die Implementierungen dieses Interfaces in Projekten die entsprechende Methode erweitern.
Neue Funktionalität in MassWorkItem
Bisher war es nicht möglich, die Schleife für ProcessSingleOrm
, welches für jedes ORM des Arbeitsvorrats aufgerufen wird, abzubrechen. Das ist nun möglich: Dazu muss die Methode AfterProcessingOrm
überladen werden. Es ist zu empfehlen, in der Überladung immer die Funktion der Basisklasse aufzurufen, da dort Logging vorgenommen wird.
Eigene CSS Dateien einbinden
Diese Möglichkeit ist in den älteren Versionen ebenso vorhanden. Die Erläuterung finden Sie hier.