SharePoint 2010 - How Do Alerts Work?

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.

SharePoint user

In order to see the preceding button, you need to set your Email Server in "Central Administration" > "System Settings" > "Configure outgoing e-mail settings".

Central Administration

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.

SharePoint Email

Open the database & you will see the following records in the ImmedSubscriptions table.

 ImmedSubscriptions table

You will see that the ListId column is assigned a List GUID.

The table structure is as follows.

Table structure

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.

SchedSubscriptions table

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.

Monitoring

Scrolling down, you will see the Timer Job for Immediate Alert.

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.

last execution

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".

Template

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.