suguk activity feed
TRANSCRIPT
SharePoint 2010extending the activity feed
Principal Solutions Architect at Content and Code
Wes Hackett
@weshackett http://weshackett.com
agenda
introductionZoomIn
out of the boxZoomIn
architectureZoomIn
developmentZoomIn
extensibilityZoomIn
known issuesZoomIn
questionsZoomIn
useful linksZoomIn
ZoomIn
ZoomIn
introduction
introductionaims of this session
examine the native SharePoint 2010 activity feed
describe how to extend it with custom activity types walkthrough a demo scenario
ZoomIn
out of the box
out of the boxactivity feed types
consolidatedthe consolidated feed is all the activity events being generated by colleaguesshown on the Newsfeed page
publishedThe published feed is all the activity events generated by that individualshown on the profile page
out of the boxnewsfeed page
newsfeed pagethis is a picture of the native newsfeed page
out of the boxactivity types
new membership sharing interests tagging by my colleague note board post tagging with my interests rating status message new colleague
out of the boxactivity types continued
job title change manager change new blog post workplace anniversary profile update upcoming birthday birthday upcoming workplace anniversary
out of the boxatom feeds
consolidatedthe consolidated feed are all the activity events being generated by colleagueshttp://<MySiteHost>/_layouts/activityfeed.aspx?consolidated=true
publishedthe published feed are the activity events being generated by an individualhttp://<MySiteHost>/_layouts/activityfeed.aspx?publisher=<accountname>
no web services
out of the boxOutlook 2010 integration
Outlook 2010 has the ability to display the SharePoint Activity Feed
configure using the Outlook 2010 Social Connector
ZoomIn
architecture
architecture
web partor
ATOM
activityobject model
gatherertimerjobs
user profile
user profile
social
? user interface
custom
source
ZoomIn
development
developmenttools and assemblies
tools Visual Studio 2010 + CKSDev ULSViewer
assemblies Microsoft.Office.Server Microsoft.Office.Server.UserProfiles
ZoomIn
extensibility
scenariosuggestions box
allow a user to make a suggestion on a site
promote this suggestion to their colleagues
NB: code example only NOT production ready
scenarioarchitecture
web partor
ATOM
activityobject model
suggestions
gatherertimerjob
gatherertimerjobs
user profile
user profile
social
user interface
suggestions list source
scenariosome prep
content type and site columnsprovides structure to the data
list definitionprovides a type of list with the content type and event receiver pre-bound
list instance in a siteprovides an instance for users to add suggestions
scenariosolution overview
list event receiverthis registers items for processing by the timer jobone technique, others might use SPQuery or change log approaches
timer jobprocesses the work items and passes them into the custom gathereruse a timer job for scale and security reasons, native approach
custom gathererthis is the element where activities are handledalso registers and unregisters the custom activity application
scenariolist event handler
item added event creates a ScheduledWorkItem with the
information about the list item you can confirm it has worked by
checking the Content database table ‘ScheduledWorkItems’
scenarioActivity application
register the Activity Application register the Activity Types
add activity templates
Farm scoped feature needs to be admin on the UPA
scenariotimer job
adds each work item into the gatherer
responsible for repeating the processing logic on a schedule
scenariocustom gatherer
provides the SPListItem to ProcessingItem conversion
provides the create activity event from ProcessingItem
publishes the activity events publishes the activity events to the
authors colleagues
ZoomIn
known issues
known issuesit isn’t Facebook
missing methodsmost of the ‘remove’ methods have not been implementedeg. ActivityApplicationsCollection.Remove throws an exception ‘NotImplementedException’
permissionssome actions require an elevated stateActivityEvent.CreateActivityEvent method requires ‘Full Control’ to the UPA
no ‘likes’ and ‘comments’there is no API in place to support ‘likes’ and ‘comments’ a-la Facebookrestrictive API means to create advanced functionality needs other services
ZoomIn
questions
ZoomIn
useful links
useful links
root of the MSDN namespace referencebit.ly/Ae6hAPindex of the SharePoint SDK articlesbit.ly/pn8t24 extending Activity Feed with ECM databit.ly/kWujgLthe native templatesbit.ly/zQC6K9