I was recently asked to provide some clarification around the differences between ActivityEvent.Owner and ActivityEvent.Publisher. Each of these are properties of SharePoint ActivityEvents, that is the actual activities in your SharePoint activity feeds; these are the feeds that you would typically see in the “My Newsfeeds” section of your “My Sites”. I’ll assume that if you are reading this posting you are looking to understand what the differences are between these 2 properties and already have a relatively good understanding of the SharePoint 2010 Activity Feed model; if you don’t, I highly recommend you start by looking at the following blog posting Activity Feeds, Social Ratings, Tags and Notes which provides a good overview of the Activity Feed underlying architecture in SharePoint 2010.

As far as the differences between the ActivityEvent.Owner and ActivityEvent.Publisher, we need to take a quick step back and reflect on the overall activity feed architecture; specifically how each activity event propagates and how each user ultimately has their own activity feed. In essence, if I generate an activity such as tagging or liking a document, that activity event gets created in my activity feed; but it wont appear on my colleagues activity feeds until its been propagated (in a way duplicated,) to their personal activity feed.

So with that in mind, when an ActivityEvent originates, the publisher and owner would probably the same; it first get created in the originating users activity feed (hence that user owns it), and he/she is also the person that performed the activity (the publisher.) Once the activity propagates to another users activity feed, such as that of a colleague, that other user would be designated as the owner of the newly created (propagated) activity (its in their personal feed), while the publisher would remain the originating user.