persistent class Ens.Alerting.NotificationManager extends Ens.Alerting.BaseProcess
SQL Table Name: Ens_Alerting.NotificationManager
Business Process that accepts incoming Ens.Alerting.NotificationRequest messages and determines three things:
- Whether a notification should actually be sent,
- which operation (or operations) any notification requests should be sent to, and
- which eventual recipients should be added to the notification list.
For each incoming NotificationRequest, a user callback sequence is initiated from the OnRequest()() method. The three stages of the callback sequence are as follows:
- The OnProcessNotificationRequest()() method is invoked. Users can override this method to perform any extended custom processing they choose, as well as indicate whether no further processing should be performed for the current request.
- The code checks whether NotificationTransform is defined.
- If no transform is defined, the default processing in stage 3 controls the behaviour.
- Otherwise, the process will call the GetNotifyContext()() helper method to create
a context object of type Ens.Alerting.Context.Notify. The helper method can be overridden to
return user-defined subclasses of the context class. The incoming NotificationRequest object will be
supplied as the source of the transform, and the returned context object will be supplied as the target
of the transform specified in NotificationTransform. As a result, the transform should
specify create="existing" if you wish to make use of the object created by the GetNotifyContext()() callback.
The transform should specify any operations that the NotificationRequest should be sent to using the
Transformslist of the context object that is in the target, as well as specifying the list of
AlertDestinationsfor each desired target. The transform should NOT update the
AlertDestinationsproperty of the original NotificationRequest, as this property is ignored when processing the data. The transform should specify whether a notification should be sent via the
Notifyproperty of the context object.
- If no actions are taken in stages 1 or 2, the process's default behaviour is to send the notification request to the default Notification Operation specified for the current production.