Search Alerts in SharePoint On-premise & Office365

 

Once you do keyword search on an Sharepoint online site , the Results page has an option to Configure Alerts for the keyword you search for & thereby provide you updates via email once the results change based on content being modified etc ,

 

image

 

 

image

 

The Search Alerts in Sharepoint 2013 /2016 On-prem or Sharepoint online are quite different from the Regular alerts we have on list and libraries as you cannot

1. They are configured for the logged on user , Email address cannot be specified

2. There is no option for Immediate Alert it can only be Daily or Weekly alert

3. You cannot schedule them at all .

 

One of the Customer I worked with came in with a Requirement to be able to schedule an alert like Specify the time of the day . Additional Research on an On-prem Sharepoint setup revealed

 

# The 'job-immediate-alerts' is the only jobs which processes alerts irrespective of these are Immediate , Daily or Weekly alerts

# The Alerts Based on type of Subscription are stored in ImmedSubscriptions or SchedSubscriptions table accordingly .

# The Alerts are stored based on time of subscription for Content Based Alerts this can be specified when you create the alert , while for Search Alerts there is no option to Schedule , so It takes the Time when you create the Alert .

# Alert Processing logic works in UTC time zone as All alert times are converted in UTC times & then stored for alert processing .

 

Note : Search Alerts daily /Weekly schedule is same time it was created & hence would fire in at same time next Day or Day of Week in an On-prem Scenario. In case of a Office 365 /SharePoint Online we have some additional Factors at play .

 

1. All SharePoint Backend Servers are in Pacific time ( Irrespective of which data center you are hosted in ) , Please Don't ask me Why ?

2. The Alert Time logic takes in account the TimeZone /Regional Settings of the Site collection on which alerts are created for Storing the alert Schedule .

 

 

Talking a few example s here for a Daily alert Subscription to explain the concept ..

 

1. Regional Settings of the Site collection are set for Pacific Time (UTC-8 ), while User is in EST (UTC-5)

 

Let's say the User creates an alert at 09:00 his time in EST , This would be like 6:00 am PST . Alerts get created for the Particular time of Day in ServerTime i.e 06:00 PST & it would fire at the same time next day . So finally it will be received at the time it was created last day & every other day

 

2. Regional Settings of the Site collection are set for EST time (UTC-5 ) on 1 Jan 2016 , while User is in EST (UTC-5) as well

Let's say the User creates an alert at 09:00 hrs his time in EST , This would be like 06:00 hrs PST . Now in this talking into his account his regional Settings of the site collection , Alert store Time calculation will add 5 hrs to the current PST time & would fire the next day . So alert would receive at 09:00 am + 5 hrs i.e 14:00 hrs EST next day & on each subsequent days , while he had creaeted it at 9:00 hrs EST

 

3. Regional Settings of Site collection at Set to IST time Zone (UTC+5:30) & user is in IST time Zone as well (UTC+5:30)

Let says user browses to the site at 09:00 hrs IST time , which is 20:00 hrs PST ( last Night ) as per Server time , Talking into account his regional settings ( UTC+5:30 ) , The alert storing time calculation will subtract 5:30 from Current PST time which will be 14:30 hrs PST & would fire the next day at that time . Alert would then be received at 03:30 hrs in IST time or to say during the night at 3:30 am IST time .

 

Note : Regional /Time Zone settings in Question are for Site collection which has the Search Center

 

Workaround :

==================

 

1. Set the Site collection which hosts the Search Center Site ( Root site collection by default ) to PST time & then configure the alerts . This can be changed back to whatever time zone as needed once the alert is created .

2. Use a Separate Site collection for Search Center & set that to be in PST time (UTC-8) that way users will get search alerts daily /weekly based on when they are created during time of the day .

 

POST By : Rajan Kapoor [MSFT]