Skip to main content

Ens.Alerting.NotificationManager

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:

For each incoming NotificationRequest, a user callback sequence is initiated from the OnRequest()() method. The three stages of the callback sequence are as follows:

  1. 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.
  2. 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 Transforms list of the context object that is in the target, as well as specifying the list of AlertDestinations for each desired target. The transform should NOT update the AlertDestinations property 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 Notify property of the context object.
  3. 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.

Property Inventory

Method Inventory

Parameters

parameter SETTINGS = NotificationTransform:Basic:dtlSelector;
Inherited description: Don't show the setting for AlertOnError.

Properties

property NotificationTransform as %String (MAXLEN = 256);
Name of the transform to invoke when determining which config items and eventual recipients the NotificationRequest should be sent to. The transform should be configured to accept a target of type Ens.Alerting.Context.Notify, which includes properties allowing the user to choose the config items and alert destinations as well as specifying whether a notification should be sent.
Property methods: NotificationTransformDisplayToLogical(), NotificationTransformGet(), NotificationTransformGetStored(), NotificationTransformIsValid(), NotificationTransformLogicalToDisplay(), NotificationTransformLogicalToOdbc(), NotificationTransformNormalize(), NotificationTransformSet()

Methods

method GetNotifyContext(pNotificationRequest As Ens.Alerting.NotificationRequest, Output pNotificationContext As Ens.Alerting.Context.Notify) as %Status
Callback to create the rule context used for the rule to decide whether a NotificationRequest should be sent to a Notification Operation, as well as which operations should be called, as well as the recipients for each operation. Users can override this method in subclasses to supply context objects based on the user's requirements.
classmethod OnGetConnections(Output pArray As %String, pItem As Ens.Config.Item)
Add connection to the Production's AlertNotificationOperation and targets of the NotificationTransform
method OnInit() as %Status
Ensure that the transform specified in NotificationTransform exists.
method OnProcessNotificationRequest(pNotificationRequest As Ens.Alerting.NotificationRequest, Output pProcessingComplete As %Boolean) as %Status
Callback to allow users to implement any actions they choose in subclasses. The pProcessingComplete flag controls whether any further actions should be taken for the current alert. If all intended actions have been completed, then pProcessingComplete should be set to true.
method OnRequest(pNotificationRequest As Ens.Alerting.NotificationRequest, Output pResponse As %Library.Persistent) as %Status
Handle notification requests of type Ens.Alerting.NotificationRequest using the callback sequence described in this class comments for Ens.Alerting.NotificationManager.
classmethod findTarget(line) as %String

Inherited Members

Inherited Properties

Inherited Methods

Storage

Gray indicates storage defined by superclasses.

Storage Model: Storage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID,"received",n)
=
%MessagesReceived(n)

Storage Model: Storage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID,"sent",n)
=
%MessagesSent(n)

Storage Model: Storage (Ens.BusinessProcess)

^Ens.BusinessProcessD(ID)
=
%%CLASSNAME
%ConfigQueueName
%IsCompleted
%MasterPendingResponsesOld
%PrimaryRequestHeader
%PrimaryResponseHeader
%RepliedStatus
%responseId
Adapter
%SessionId
%TimeCompleted
%TimeCreated
%ConfigName
%QuitTask
AlertOnError
%responseClassName
%IsTimerInterrupted
%IsTerminated
%StatusCode
%MessagesReceivedOld
%MessagesSentOld
ReplyCodeActions
RetryInterval
AlertRetryGracePeriod
FailureTimeout
Retry
SuspendMessage
QueueCountAlert
QueueWaitAlert
InactivityTimeout
BusinessPartner
AlertGroups
%SuperSession

Storage Model: Storage (Ens.Alerting.NotificationManager)

^Ens.BusinessProcessD(ID,"NotificationManager")
=
NotificationTransform
FeedbackOpens in a new tab