We would like to extend the functionality of Sharepoint 2010 to improve the Social Networking Features.

We want to trace a SharePoint 2010 user events, whatever he/she performs on the site collection level.


  • Uploading a document into the document library
  • Adding an item into the list
  • Adding a discussion or Replying to an existing discussion
  • Uploading an image into the Image library
  • Involved in any of the workflow activity
  • Changing his social status
  • Posting a Wiki /Blog
  • Any changes in the calendar List
  • Any changes in the Task List
  • Setting/Modifing Alerts
  • Any updates on the Announcement list
  • Contacts update
  • Colleagues added/removed
  • How to achieve this?

In Central Administration -> Monitoring -> Configure usage and health data collection, you can configure a number of usage monitoring settings. This may satsify some of your requirements. In the same section there is also Configure Diagnostic Logging which allows very granular control over the logging of trace events. This may be too much, but check first to see if it gives you what you need - possibly you could post-process the logs to filter down.

If that is not suitable for you, you will need to add event receivers in code to the various lists to capture the information.


I'd recommend something around the lines of writing timer jobs for each web app that cycle over site collections and read from the Change Log of each. With details from these changes, you could generate an Activity Feed using the SharePoint 2010 APIs.

I've not actually done this myself but I know people who have done, and it seems to be extremely effective and performant.

Here's some details from MSDN on reading from the change log:


Here's the section from MSDN on using the Activity Feeds:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.