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, an email is sent, etc.
What are Alerts?
SharePoint provides an excellent feature that notifies the users of changes to an item/library.
Users can set alerts on
- Library / List
- Document / Item
You can set alerts through the SharePoint user interface as in the following.
In 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.
Create Alert
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 the "Central Administration" > "Manage content databases" link.
If you have created a Summary Alert (daily or weekly) you will see the record was created inside the SchedSubscriptions table.
The structure of the SchedSubscriptions table is.
Timer Job
Timer Jobs are responsible for building the Alert using a template & sending the Emails. We can see the timer job status through the "Central Administration" > "Monitoring" > "Check job status" link.
Scrolling down, you will see the Timer Job for Immediate Alert.
You will see the Status of the last execution there. In my case, it has succeeded. Click on the link to see the settings as in the following.
In the preceding case, the Timer Job is scheduled to run every 5 minutes. You can try clicking the Run Now button to trigger execution.
Alert Templates
The 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 hives" > "TEMPLATE" > "XML folder".
By 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.
References
http://bit.ly/10uiVpB
Summary
In this article, we have explored the activities & tables involved when working with SharePoint Alerts.