How to get alerts for a user within a single web applicaiton in different site collection.?

الإجابة How to get alerts for a user within a single web applicaiton in different site collection.?

  • Tuesday, August 21, 2012 3:32 PM
     
     

    How can we get alerts for a user in all site collection with in a web application.

    alerts may be for lists, libraries, webs in different site collection but same web application....


    kukdai

All Replies

  • Wednesday, August 22, 2012 9:36 AM
    Moderator
     
     Answered Has Code

    Hi,

    It is not possible out of the box, you should do it programmatcially to get all alerts for specificuser in all site collections with in a web application:

     SPSite mysite = new SPSite(http://yoursite);
                SPWebApplication webapplication = mysite.WebApplication;
    
                
                SPSiteCollection siteCollections = webapplication.Sites;
    
    
                foreach (SPSite siteCollection in siteCollections)
                {
    
                    using (SPSite oSiteCollection = new SPSite(siteCollection.Url))
                    {
                        SPWebCollection collWebsites = oSiteCollection.AllWebs;
                        foreach (SPWeb oWebsite in collWebsites)
                        {
                            SPUser user = oWebsite.EnsureUser(@"dc\Administrator");
                            SPAlertCollection alertColl = user.Alerts;
                            foreach (SPAlert alert in alertColl)
                            {
                                Console.WriteLine(alert.Title);
                            }
                            Console.ReadLine();
                        }
                    }
                }

    Xue-mei Chang

    TechNet Community Support