extending the my site activity feed with external blog posts
DESCRIPTION
Extending the My Site activity feed with external blog posts. Bram de Jager Audience: Development Level: 300. About Bram. Lead SharePoint developer / architect for Information Worker Solutions center of Macaw Microsoft Certified Master for SharePoint Server 2010 Contact - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/1.jpg)
Extending the My Site activity feed with external blog posts
Bram de Jager
Audience: DevelopmentLevel: 300
![Page 2: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/2.jpg)
About Bram
• Lead SharePoint developer / architect for Information Worker Solutions center of Macaw
• Microsoft Certified Master for SharePoint Server 2010
• Contact– http://bramdejager.wordpress.com– @bramdejager– [email protected]
![Page 3: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/3.jpg)
Poll
• Who had a coffee?• Who are developers?• Who developed on social solutions?• Who played around with the Activity Feed
API?• Who extended the Activity Feed for customer
based solutions?
![Page 4: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/4.jpg)
Agenda
• User Profiles and My Site• Activity Feeds• Extending the Activity Feed• Demo
![Page 5: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/5.jpg)
USER PROFILES AND MY SITEExtending the My Site activity feed with external blog posts
![Page 6: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/6.jpg)
User Profiles and My Site
• User Profiles– User Profile Service Application– Tight relation with MMS, BCS and Search– My Site Host (mandatory) provides My Profile and
My Newsfeed pages• My Site– Personal Site Collection (personal storage)– “Content” tab on My Profile page
![Page 7: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/7.jpg)
Improvements SharePoint 2010
• My Colleagues, My Interests, and Newsfeed Settings• Shows Activity Feeds from user’s network• Configuration and social network settings & interests
My Network
• User profile data, including position within organization, memberships
• Public notes, ratings and tagsMy Profile
• Personal and shared document libraries• Shared pictures, discussion boards, surveys• Lists, and sub-workspaces
My Content (MOSS 2007 feature)
![Page 8: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/8.jpg)
Logical Architecture Components
My Network
MyProfile
My Content
Pages / Navigation
My Site Host My Site Site Collections
My Web Application Web Application
UPA MMS Search Service Applications
![Page 9: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/9.jpg)
ACTIVITY FEEDSExtending the My Site activity feed with external blog posts
![Page 10: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/10.jpg)
Activity Feeds
• Aggregates colleague activity as feed• Natively displays user profile changes, tagging
and notes activity• Security trimmed, you can only see what you
are allowed to see• Can be extended via Activity Feed API
![Page 11: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/11.jpg)
Data aggregation
• Two types of activities– User profile changes such as job title, colleague
changes, shared interest and anniversary reminders
– Social feedback events such as tags, notes, ratings and personal blog posts
• Gathering by timer job and broadcasted to colleagues
![Page 12: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/12.jpg)
Timer Jobs
• Activity Feed job (Hourly)• Pre-computes activities to be shown in users'
activity feeds.• Aggregates user profile changes and social
feedback• Activity Feed Cleanup (Daily)– Cleans up pre-computed activities used in activity
feeds which are older than 14 days. This job does not affect the User Profile Change Log.
![Page 13: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/13.jpg)
Before and after SP1
• Enable Activity Feed job– RTM: disabled by default– SP1: enabled by default
• Additional setting in “Setup My Sites”
![Page 14: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/14.jpg)
Activity Feed types
• Consolidated feed– Activities from everything I track
http://<my>/_layouts/activityfeed.aspx?consolidated=true
• Published feed– My activities
http://<my>/_layouts/activityfeed.aspx
– Activities by publisherhttp://<my>/_layouts/activityfeed.aspx?publisher=<accountname>
![Page 15: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/15.jpg)
Consolidated feed
• Activities from everything I track
![Page 16: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/16.jpg)
Activities I am following…
• Activity feed depends on interests defined in Edit Profile page
• Custom activity applications will be soon here as well
![Page 17: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/17.jpg)
Published feed
• Account related activities / my activities
![Page 18: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/18.jpg)
EXTENDING THE ACTIVITY FEEDExtending the My Site activity feed with external blog posts
![Page 19: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/19.jpg)
Extending activity feed
• Why extend the activity feed?– ECM activities within SharePoint environment– xRM/CRM activities– External data (WordPress, Facebook, Twitter)
• Activity Feed API for extending the activity feed– Microsoft.Office.Server.ActivityFeed namespace– Microsoft.Office.Server.UserProfiles.dll
![Page 20: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/20.jpg)
Activity feed architecture
Activity Feed - Profile DB
Change log - Profile DB
Social database
Custom Timer Job
Custom gatherer
Activity Timer JobProfile and social
gatherers
Activity Feed
![Page 21: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/21.jpg)
Activity Feed classes
Activity Application
Blog Activity Application
Activity Type
Blog Post Added
Comment Added
Activity Template
Type Display
Single Value Template
Multi Value Template
Activity Event
Type Value
![Page 22: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/22.jpg)
DEMO OVERVIEWExtending the My Site activity feed with external blog posts
![Page 23: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/23.jpg)
Blog Activity Application
Activity Feed - Profile DB
Change log - Profile DB
Social database
Custom Timer JobActivity Timer JobProfile and social
gatherers
BlogPostTimerJob
Activity Feed
Custom gathererBlogPostGatherer
![Page 24: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/24.jpg)
Main classes
• ActivityFeed namespace– BlogActivityApplication– BlogPostGatherer– BlogPostTimerJob
• Entities namespace– Blog– Post
• BlogActivityApplicationGlobals
![Page 25: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/25.jpg)
Solution Package (WSP)
• Features– Activity Feed Blog application (Farm)– Configure Diagnostic Areas and Categories (Farm)– Activity Feed Blog Post Setup (WebApp)
• Resources– ActivityFeedBlog.resx
![Page 26: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/26.jpg)
Activity Templates
• Type Display– ActivityFeed_Blog_BlogPostAdded_Type_Display– “Posted a new blog post”
![Page 27: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/27.jpg)
Activity Templates
• Single Value Template– ActivityFeed_Blog_BlogPostAdded_SV_Template– “{Publisher} has written a new post {Link} on blog
{Link2}.”
![Page 28: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/28.jpg)
Activity Templates
• Multi Value Template– ActivityFeed_Blog_BlogPostAdded_MV_Template– “{Publisher} has written {Size} new posts on blog
{Link}. <br/> {List}”
![Page 29: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/29.jpg)
DEMO TIME!!Extending the My Site activity feed with external blog posts
![Page 30: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/30.jpg)
Recap: Key Points
• Activity Feed types– Consolidated feed– Published feed
• Extending the activity feed– Don’t just add everything, like Twitter (overload
database)– Because you can, doesn’t mean you must!
![Page 31: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/31.jpg)
What We Covered
• User Profiles and My Site• Activity Feeds• Extending the Activity Feed
![Page 32: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/32.jpg)
Resources
• MSDN – User Profiles and Social Data Code Samples
http://msdn.microsoft.com/en-us/library/ff512773.aspx – Microsoft.Office.Server.ActivityFeed namespace
• Wes Hackett’s blog– http://weshackett.com
• SharePoint Guidance– SharePoint Logger– http://spg.codeplex.com
![Page 33: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/33.jpg)
Thank You!
• Blog: http://bramdejager.wordpress.com • Twitter: @bramdejager
• Thanks to Wes Hackett– http://weshackett.com
![Page 34: Extending the My Site activity feed with external blog posts](https://reader036.vdocuments.us/reader036/viewer/2022062410/5681610a550346895dd05715/html5/thumbnails/34.jpg)