extending the my site activity feed with external blog posts

34
Extending the My Site activity feed with external blog posts Bram de Jager Audience: Development Level: 300

Upload: alaire

Post on 22-Feb-2016

23 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Extending the My Site activity feed with external blog posts

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

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

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

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

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

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

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

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

ACTIVITY FEEDSExtending the My Site activity feed with external blog posts

Page 10: Extending the My Site activity feed with external blog posts

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

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

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

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

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

Consolidated feed

• Activities from everything I track

Page 16: Extending the My Site activity feed with external blog posts

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

Published feed

• Account related activities / my activities

Page 18: Extending the My Site activity feed with external blog posts

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

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

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

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

DEMO OVERVIEWExtending the My Site activity feed with external blog posts

Page 23: Extending the My Site activity feed with external blog posts

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

Main classes

• ActivityFeed namespace– BlogActivityApplication– BlogPostGatherer– BlogPostTimerJob

• Entities namespace– Blog– Post

• BlogActivityApplicationGlobals

Page 25: Extending the My Site activity feed with external blog posts

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

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

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

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

DEMO TIME!!Extending the My Site activity feed with external blog posts

Page 30: Extending the My Site activity feed with external blog posts

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

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

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

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