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

Siehe

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.