In this article we can explore the
underlying infrastructure of SharePoint Alerts. Let us analyze
step-by-step what is happening in the background when we create an
alert, an alert is triggered, email is sent etc.
What are Alerts?
SharePoint provides an excellent feature that notifies the users of changes of an item/library.
Uses can set alerts on:
- Library / List
- Document / Item
You can set alerts through the SharePoint user interface as in the following:
order to see the preceding button, you need to set your Email Server in
"Central Administration" > "System Settings" > "Configure
outgoing e-mail settings".
Note: For receiving the emails triggered you can use a SharePoint Email Notification Tool like smtp4dev.
Now you are ready to create an alert & we can examine what happens in the database.
Open the database & you will see the following records in the ImmedSubscriptions table.
You will see that the ListId column is assigned a List GUID.
The table structure is as follows:
Note: You will see the database server & name through "Central Administration" > "Manage content databases" link.
If you have created a Summary Alert (daily or weekly) you will see the record was created inside SchedSubscriptions table.
The structure of the SchedSubscriptions table is:
Jobs are responsible for building the Alert using a template &
sending the Emails. We can see the timer job status through "Central
Administration" > "Monitoring" > "Check job status" link.
Scrolling down, you will see the Timer Job for Immediate Alert.
will see the Status of last execution there. In my case it has
succeeded. Click on the link to see the settings as in the following:
the preceding case the Timer Job is scheduled to run every 5 minutes.
You can try clicking the Run Now button to trigger execution.
Timer Job creates the email content of the Alert Template file. We can
modify the file, but copying & modifying is recommended. We can
define a template in the list & library level.
The Alert template can be found in "14 hive" > "TEMPLATE" > "XML folder".
default there are 2 templates - one for email & another for SMS.
The alerttemplates.xml file contains around 10 thousand lines.
We can change the alert template through PowerShell & the STSADM commands.
In this article we have explored the activities & tables involved when working with SharePoint Alerts.