3.2.1.4 Notification Model

File Server Resource Manager Protocol notifications are a common set of abstractions used in directory quotas, file screens, and file management jobs. The actual data backing these abstractions is owned and encapsulated by the respective quota, file screen, or file management job abstraction model. The configuration and state of a notification are saved concurrent with the configuration data of the quota, file screen, or file management job that encapsulates the notification. The notification abstraction model is presented here.

The management operations that a protocol client can perform involving notifications are specified in sections 3.2.1.2.1, 3.2.1.3.1, and 3.2.1.7.1.

The following configuration data is maintained for each notification on the system:

Notification.Id: This property is a GUID associated with the notification.

Run limit interval: This property is a positive integer value of minutes that restricts how soon the server can rerun the same notification for multiple occurrences of the same event.

Action type: This property identifies the notification as one of four action types: Event Log, Email, Command Line, and Report. The configuration data is different depending on which action type the notification belongs to:

Event log action type: This action logs an event in the server's event log.

Event type: This property indicates the type of the event log that will result when the action is eventually triggered. There are three legal event log types: Information, Warning, or Error.

Message text: This property is a Unicode string that contains the event log message text inside the event log that will result when the action is eventually triggered.

Email action type: This action sends an email. In addition to the following properties, the server uses the SMTP server name and Mail-from email address from the General Settings Model (section 3.2.1.9).

Mail from: This property is a Unicode string that will be used for the email FROM address when the action is eventually triggered.

Mail to: This property is a Unicode string that will be used for the list of email TO addresses when the action is eventually triggered.

Mail subject: This property is a Unicode string that will be used for the email SUBJECT line when the action is eventually triggered.

Mail reply to: This property is a Unicode string that will be used for the email REPLY TO address when the action is eventually triggered.

Mail cc: This property is a Unicode string that will be used for the list of email CC addresses when the action is eventually triggered.

Mail bcc: This property is a Unicode string that will be used for the list of email BCC addresses when the action is eventually triggered.

Message text: This property is a Unicode string that will be used for the email message BODY when the action is eventually triggered.

Attachment file list size: This property indicates the number of lines to include in the attachment for email actions associated with file management jobs.

Command line action type: This action runs a program on the server.

Executable path: This property is a Unicode string that specifies the program that will be started when the action is eventually triggered.

Notification.Model.Arguments: This property is a Unicode string that specifies the command line arguments to the program that will be started when the action is eventually triggered.

Notification.Model.Account: This property specifies which account the program will run when the action is eventually triggered. There are three built-in accounts: LocalService, NetworkService, and LocalSystem.

Working directory: This property is a Unicode string that specifies the directory in which the program will be started when the action is eventually triggered.

Monitor command: This property is a Boolean flag that indicates whether the server monitors the program while it runs.

Kill time-out: This property is a numeric integer value that specifies the number of minutes that the program will be allowed to run before the server forcefully terminates the program execution.

Log result: This property is a Boolean value that specifies whether the server logs an event containing the return code result from the program after it terminates.

Report action type: This action generates a report and emails it to each email address specified in the Mail To property. In addition to the Mail To property listed later in this section, the server uses the SMTP server name and Mail-from email address from the General Settings Model (section 3.2.1.9). Other fields required to send the email, for example Subject, can be any appropriate value.

Report types: This property is an array of storage report types (FsrmReportType (section 2.2.1.2.10)) that are executed when the action is eventually triggered.

Mail to: This property is a Unicode string that will be used for the list of email TO addresses to which the storage reports of the specified types will be emailed when the action is eventually triggered.

The following state data is maintained for each notification on the system:

Last Run Time: This property maintains a time stamp that corresponds to the chronological date/time the notification was last run.