SlideShare una empresa de Scribd logo
1 de 29
SharePoint 2010
extending the activity feed




Wes Hackett
Principal Solutions Architect at Content and Code
wesley.hackett@contentandcode.com
@weshackett        http://weshackett.com
agenda
 introduction
 out of the box
 architecture
 development
 extensibility
 known issues
 questions
 useful links
introduction
introduction
aims of this session

 examine the native SharePoint 2010 activity
  feed
 describe how to extend it with custom
  activity types
     walkthrough a demo scenario
out of the box
out of the box
activity feed types

consolidated
the consolidated feed is all the activity events being generated by colleagues
shown on the Newsfeed page


published
The published feed is all the activity events generated by that individual
shown on the profile page
out of the box
newsfeed page
                newsfeed page
                this is a picture of the native newsfeed
                page
out of the box
activity types

   new membership
   sharing interests
   tagging by my colleague
   note board post
   tagging with my interests
   rating
   status message
   new colleague
out of the box
activity types continued

   job title change
   manager change
   new blog post
   workplace anniversary
   profile update
   upcoming birthday
   birthday
   upcoming workplace anniversary
out of the box
atom feeds

consolidated
the consolidated feed are all the activity events being generated by colleagues
http://<MySiteHost>/_layouts/activityfeed.aspx?consolidated=true


published
the published feed are the activity events being generated by an individual
http://<MySiteHost>/_layouts/activityfeed.aspx?publisher=<accountname>


no web services
out of the box
Outlook 2010 integration

 Outlook 2010 has the ability to display the
  SharePoint Activity Feed
 configure using the Outlook 2010 Social
  Connector
architecture
architecture
 user profile
                gatherer                             web part
                 timer                                  or
                  jobs                                ATOM

                           activity
    social                 object     user profile
                           model




                                                        user
                                                     interface
  custom
  source
development
development
tools and assemblies

 tools
   Visual Studio 2010 + CKSDev
   ULSViewer

 assemblies
   Microsoft.Office.Server
   Microsoft.Office.Server.UserProfiles
extensibility
scenario
suggestions box

 allow a user to make a suggestion on a site
 promote this suggestion to their colleagues

 NB: code example only NOT production
  ready
scenario
architecture

   user profile
                   gatherer                               web part
                    timer                                    or
                     jobs                                  ATOM

                                activity
      social                    object     user profile
                                model



                  suggestions
                                                             user
  suggestions       gatherer
                                                          interface
   list source       timer
                       job
scenario
some prep

content type and site columns
provides structure to the data



list definition
provides a type of list with the content type and event receiver pre-bound



list instance in a site
provides an instance for users to add suggestions
scenario
solution overview

list event receiver
this registers items for processing by the timer job
one technique, others might use SPQuery or change log approaches


timer job
processes the work items and passes them into the custom gatherer
use a timer job for scale and security reasons, native approach


custom gatherer
this is the element where activities are handled
also registers and unregisters the custom activity application
scenario
list 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’
scenario
Activity application

 register the Activity Application
 register the Activity Types
     add activity templates


 Farm scoped feature
     needs to be admin on the UPA
scenario
timer job

 adds each work item into the gatherer
 responsible for repeating the processing
  logic on a schedule
scenario
custom 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
known issues
known issues
it isn’t Facebook

missing methods
most of the ‘remove’ methods have not been implemented
eg. ActivityApplicationsCollection.Remove throws an exception ‘NotImplementedException’


permissions
some actions require an elevated state
ActivityEvent.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 Facebook
restrictive API means to create advanced functionality needs other services
questions
useful links
useful links
root of the MSDN namespace reference
bit.ly/Ae6hAP
index of the SharePoint SDK articles
bit.ly/pn8t24
extending Activity Feed with ECM data
bit.ly/kWujgL
the native templates
bit.ly/zQC6K9

Más contenido relacionado

La actualidad más candente

SharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business IntelligenceSharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business IntelligenceIvan Sanders
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
 
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the EnvironmentsO365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the EnvironmentsIvan Sanders
 
Visual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share PointVisual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share PointChakkaradeep Chandran
 
Microsoft Planner Deep Dive
Microsoft Planner Deep DiveMicrosoft Planner Deep Dive
Microsoft Planner Deep DiveAndré Vala
 
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for SharepointO365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for SharepointIvan Sanders
 
SharePoint Hosted Add-in with AngularJS and Bootstrap
SharePoint Hosted Add-in with AngularJS and BootstrapSharePoint Hosted Add-in with AngularJS and Bootstrap
SharePoint Hosted Add-in with AngularJS and BootstrapRoy Kim
 
#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best Practices#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best PracticesIvan Sanders
 
Appear IQ - Tutorials Backbone.js
Appear IQ - Tutorials Backbone.jsAppear IQ - Tutorials Backbone.js
Appear IQ - Tutorials Backbone.jsAppear
 
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
  O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office  O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for OfficeIvan Sanders
 
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...Ivan Sanders
 
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core SolutionsExam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core SolutionsBecky Bertram
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimRoy Kim
 
Share point features - Dipali Shiledar
Share point features - Dipali ShiledarShare point features - Dipali Shiledar
Share point features - Dipali ShiledarDipali Shiledar
 

La actualidad más candente (14)

SharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business IntelligenceSharePoint Saturday NYC - Business Intelligence
SharePoint Saturday NYC - Business Intelligence
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
 
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the EnvironmentsO365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
O365 DEVCamp Los Angeles June 16, 2015 Module 02 Setting up the Environments
 
Visual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share PointVisual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share Point
 
Microsoft Planner Deep Dive
Microsoft Planner Deep DiveMicrosoft Planner Deep Dive
Microsoft Planner Deep Dive
 
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for SharepointO365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
O365 DEVCamp Los Angeles June 16, 2015 Module 03 Hook into Apps for Sharepoint
 
SharePoint Hosted Add-in with AngularJS and Bootstrap
SharePoint Hosted Add-in with AngularJS and BootstrapSharePoint Hosted Add-in with AngularJS and Bootstrap
SharePoint Hosted Add-in with AngularJS and Bootstrap
 
#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best Practices#OCSPUG SharePoint 2013 Best Practices
#OCSPUG SharePoint 2013 Best Practices
 
Appear IQ - Tutorials Backbone.js
Appear IQ - Tutorials Backbone.jsAppear IQ - Tutorials Backbone.js
Appear IQ - Tutorials Backbone.js
 
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
  O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office  O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
O365 DEVCamp Los Angeles June 16, 2015 Module 05 Hook into Apps for Office
 
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
O365 DEVCamp Los Angeles June 16, 2015 Module 06 Hook into SharePoint APIs wi...
 
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core SolutionsExam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy Kim
 
Share point features - Dipali Shiledar
Share point features - Dipali ShiledarShare point features - Dipali Shiledar
Share point features - Dipali Shiledar
 

Similar a Suguk activity feed

SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformSoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformIvan Sanders
 
From Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksFrom Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksAndré Vala
 
SharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in ActionSharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in ActionElaine Van Bergen
 
Sharepoint developement tools(webparts+worflows) EBizSoft
Sharepoint developement tools(webparts+worflows) EBizSoftSharepoint developement tools(webparts+worflows) EBizSoft
Sharepoint developement tools(webparts+worflows) EBizSoftShakir Majeed Khan
 
Integrated Proposal (Vsts Sps Tfs) - MS stack
Integrated Proposal   (Vsts Sps Tfs) - MS stackIntegrated Proposal   (Vsts Sps Tfs) - MS stack
Integrated Proposal (Vsts Sps Tfs) - MS stackBijoy Viswanadhan
 
Share point review qustions
Share point review qustionsShare point review qustions
Share point review qustionsthan sare
 
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...Ivan Sanders
 
4 tools, sandboxed solutionds, web part development
4   tools, sandboxed solutionds, web part development4   tools, sandboxed solutionds, web part development
4 tools, sandboxed solutionds, web part developmenticdesktop
 
Workflow in SharePoint 2010
Workflow in SharePoint 2010Workflow in SharePoint 2010
Workflow in SharePoint 2010barryboudreau
 
Summary Project Server Psi
Summary Project Server PsiSummary Project Server Psi
Summary Project Server PsiPhuong Nguyen
 
Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft 365 Developer
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fuseboxnascomgenk
 
Building serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure FunctionsBuilding serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure FunctionsDragan Panjkov
 
SharePoint 2010 and its development tools
SharePoint 2010 and its development toolsSharePoint 2010 and its development tools
SharePoint 2010 and its development toolsShakir Majeed Khan
 
Team Foundation Server 2008 Overview
Team Foundation Server 2008 OverviewTeam Foundation Server 2008 Overview
Team Foundation Server 2008 OverviewSteve Lange
 
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect Me
Jeremy Thake  Perth Share Point Ug   Sp2010 How Will Be Affect MeJeremy Thake  Perth Share Point Ug   Sp2010 How Will Be Affect Me
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect MeJeremy Thake
 

Similar a Suguk activity feed (20)

SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformSoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
 
Sharepoint Online
Sharepoint OnlineSharepoint Online
Sharepoint Online
 
SharePoint 2010 Development
SharePoint 2010 DevelopmentSharePoint 2010 Development
SharePoint 2010 Development
 
From Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksFrom Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint Webhooks
 
SharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in ActionSharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in Action
 
Sharepoint developement tools(webparts+worflows) EBizSoft
Sharepoint developement tools(webparts+worflows) EBizSoftSharepoint developement tools(webparts+worflows) EBizSoft
Sharepoint developement tools(webparts+worflows) EBizSoft
 
What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013
 
Integrated Proposal (Vsts Sps Tfs) - MS stack
Integrated Proposal   (Vsts Sps Tfs) - MS stackIntegrated Proposal   (Vsts Sps Tfs) - MS stack
Integrated Proposal (Vsts Sps Tfs) - MS stack
 
Share point review qustions
Share point review qustionsShare point review qustions
Share point review qustions
 
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
 
4 tools, sandboxed solutionds, web part development
4   tools, sandboxed solutionds, web part development4   tools, sandboxed solutionds, web part development
4 tools, sandboxed solutionds, web part development
 
Workflow in SharePoint 2010
Workflow in SharePoint 2010Workflow in SharePoint 2010
Workflow in SharePoint 2010
 
Share Point Object Model
Share Point Object ModelShare Point Object Model
Share Point Object Model
 
Summary Project Server Psi
Summary Project Server PsiSummary Project Server Psi
Summary Project Server Psi
 
Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fusebox
 
Building serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure FunctionsBuilding serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure Functions
 
SharePoint 2010 and its development tools
SharePoint 2010 and its development toolsSharePoint 2010 and its development tools
SharePoint 2010 and its development tools
 
Team Foundation Server 2008 Overview
Team Foundation Server 2008 OverviewTeam Foundation Server 2008 Overview
Team Foundation Server 2008 Overview
 
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect Me
Jeremy Thake  Perth Share Point Ug   Sp2010 How Will Be Affect MeJeremy Thake  Perth Share Point Ug   Sp2010 How Will Be Affect Me
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect Me
 

Más de Wes Hackett

Exploring Microsoft Teams extensibility
Exploring Microsoft Teams extensibilityExploring Microsoft Teams extensibility
Exploring Microsoft Teams extensibilityWes Hackett
 
Suguk Yammer deep dive
Suguk Yammer deep diveSuguk Yammer deep dive
Suguk Yammer deep diveWes Hackett
 
SPEvo 2015 Yammer deep dive
SPEvo 2015 Yammer deep diveSPEvo 2015 Yammer deep dive
SPEvo 2015 Yammer deep diveWes Hackett
 
SPEvo 2015 app launcher
SPEvo 2015 app launcherSPEvo 2015 app launcher
SPEvo 2015 app launcherWes Hackett
 
Yammer SDK SPSUK
Yammer SDK SPSUKYammer SDK SPSUK
Yammer SDK SPSUKWes Hackett
 
SPConnect2014 Office 365 APIs
SPConnect2014 Office 365 APIsSPConnect2014 Office 365 APIs
SPConnect2014 Office 365 APIsWes Hackett
 
SharePoint Evolutions roadshow 2014 - If apps are the answer what was the sol...
SharePoint Evolutions roadshow 2014 - If apps are the answer what was the sol...SharePoint Evolutions roadshow 2014 - If apps are the answer what was the sol...
SharePoint Evolutions roadshow 2014 - If apps are the answer what was the sol...Wes Hackett
 
SPSNL - Bringing SharePoint information into Office through Office Apps
SPSNL - Bringing SharePoint information into Office through Office AppsSPSNL - Bringing SharePoint information into Office through Office Apps
SPSNL - Bringing SharePoint information into Office through Office AppsWes Hackett
 
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...Wes Hackett
 
SPSUK Apps for Office
SPSUK Apps for OfficeSPSUK Apps for Office
SPSUK Apps for OfficeWes Hackett
 
Share point saturday putting you at the centre of the intranet
Share point saturday   putting you at the centre of the intranetShare point saturday   putting you at the centre of the intranet
Share point saturday putting you at the centre of the intranetWes Hackett
 

Más de Wes Hackett (12)

Exploring Microsoft Teams extensibility
Exploring Microsoft Teams extensibilityExploring Microsoft Teams extensibility
Exploring Microsoft Teams extensibility
 
Suguk Yammer deep dive
Suguk Yammer deep diveSuguk Yammer deep dive
Suguk Yammer deep dive
 
SPEvo 2015 Yammer deep dive
SPEvo 2015 Yammer deep diveSPEvo 2015 Yammer deep dive
SPEvo 2015 Yammer deep dive
 
SPEvo 2015 app launcher
SPEvo 2015 app launcherSPEvo 2015 app launcher
SPEvo 2015 app launcher
 
Yammer SDK SPSUK
Yammer SDK SPSUKYammer SDK SPSUK
Yammer SDK SPSUK
 
SPConnect2014 Office 365 APIs
SPConnect2014 Office 365 APIsSPConnect2014 Office 365 APIs
SPConnect2014 Office 365 APIs
 
SharePoint Evolutions roadshow 2014 - If apps are the answer what was the sol...
SharePoint Evolutions roadshow 2014 - If apps are the answer what was the sol...SharePoint Evolutions roadshow 2014 - If apps are the answer what was the sol...
SharePoint Evolutions roadshow 2014 - If apps are the answer what was the sol...
 
SPSNL - Bringing SharePoint information into Office through Office Apps
SPSNL - Bringing SharePoint information into Office through Office AppsSPSNL - Bringing SharePoint information into Office through Office Apps
SPSNL - Bringing SharePoint information into Office through Office Apps
 
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
 
SPSUK Apps for Office
SPSUK Apps for OfficeSPSUK Apps for Office
SPSUK Apps for Office
 
Share point saturday putting you at the centre of the intranet
Share point saturday   putting you at the centre of the intranetShare point saturday   putting you at the centre of the intranet
Share point saturday putting you at the centre of the intranet
 
BPCCOM601
BPCCOM601BPCCOM601
BPCCOM601
 

Último

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Último (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Suguk activity feed

  • 1. SharePoint 2010 extending the activity feed Wes Hackett Principal Solutions Architect at Content and Code wesley.hackett@contentandcode.com @weshackett http://weshackett.com
  • 2. agenda introduction out of the box architecture development extensibility known issues questions useful links
  • 4. introduction aims of this session  examine the native SharePoint 2010 activity feed  describe how to extend it with custom activity types  walkthrough a demo scenario
  • 6. out of the box activity feed types consolidated the consolidated feed is all the activity events being generated by colleagues shown on the Newsfeed page published The published feed is all the activity events generated by that individual shown on the profile page
  • 7. out of the box newsfeed page newsfeed page this is a picture of the native newsfeed page
  • 8. out of the box activity types  new membership  sharing interests  tagging by my colleague  note board post  tagging with my interests  rating  status message  new colleague
  • 9. out of the box activity types continued  job title change  manager change  new blog post  workplace anniversary  profile update  upcoming birthday  birthday  upcoming workplace anniversary
  • 10. out of the box atom feeds consolidated the consolidated feed are all the activity events being generated by colleagues http://<MySiteHost>/_layouts/activityfeed.aspx?consolidated=true published the published feed are the activity events being generated by an individual http://<MySiteHost>/_layouts/activityfeed.aspx?publisher=<accountname> no web services
  • 11. out of the box Outlook 2010 integration  Outlook 2010 has the ability to display the SharePoint Activity Feed  configure using the Outlook 2010 Social Connector
  • 13. architecture user profile gatherer web part timer or jobs ATOM activity social object user profile model user interface custom source
  • 15. development tools and assemblies  tools  Visual Studio 2010 + CKSDev  ULSViewer  assemblies  Microsoft.Office.Server  Microsoft.Office.Server.UserProfiles
  • 17. scenario suggestions box  allow a user to make a suggestion on a site  promote this suggestion to their colleagues  NB: code example only NOT production ready
  • 18. scenario architecture user profile gatherer web part timer or jobs ATOM activity social object user profile model suggestions user suggestions gatherer interface list source timer job
  • 19. scenario some prep content type and site columns provides structure to the data list definition provides a type of list with the content type and event receiver pre-bound list instance in a site provides an instance for users to add suggestions
  • 20. scenario solution overview list event receiver this registers items for processing by the timer job one technique, others might use SPQuery or change log approaches timer job processes the work items and passes them into the custom gatherer use a timer job for scale and security reasons, native approach custom gatherer this is the element where activities are handled also registers and unregisters the custom activity application
  • 21. scenario list 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’
  • 22. scenario Activity application  register the Activity Application  register the Activity Types  add activity templates  Farm scoped feature  needs to be admin on the UPA
  • 23. scenario timer job  adds each work item into the gatherer  responsible for repeating the processing logic on a schedule
  • 24. scenario custom 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
  • 26. known issues it isn’t Facebook missing methods most of the ‘remove’ methods have not been implemented eg. ActivityApplicationsCollection.Remove throws an exception ‘NotImplementedException’ permissions some actions require an elevated state ActivityEvent.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 Facebook restrictive API means to create advanced functionality needs other services
  • 29. useful links root of the MSDN namespace reference bit.ly/Ae6hAP index of the SharePoint SDK articles bit.ly/pn8t24 extending Activity Feed with ECM data bit.ly/kWujgL the native templates bit.ly/zQC6K9

Notas del editor

  1. Introduce myself:Wes HackettPrincipal Solutions Architect at MS Gold Partner based in London
  2. Run through the agenda itemsIntroduction &gt; explanation of this sessionOut of the box &gt; describing the out of the box behavioursArchitecture &gt; describing the elements to the system and where a customisation fitsDevelopment &gt; what tools and assemblies are involvedExtensibility &gt; how to go about adding a new customisationKnown issues &gt; covering off the known problems with the APIQuestions &gt; Ask anything you wantUseful links &gt; Some short links to useful information
  3. In this section I’ll give a quick run down of this session
  4. In this session I aim to provide the following:An overview of the native SharePoint 2010 activity system, what it is, how it worksDescribe how to extend it with your own custom activity itemsWe’ll be doing this by walking through a demo scenario
  5. In this section I’ll describe what features come with SharePoint 2010
  6. There are two types of activity feed views in SharePoint 2010:ConsolidatedThis shows the items being generated by your colleague networkPublishedThis shows activities by the individual
  7. This is view of the Consolidated feed which lives on the NewsFeed page in the MySite host
  8. Natively the activity system provides mainly Social and tagging activityNew membershipsSharing interestsTagging by a colleagueNote board postsTagging with my interestsRatingStatus messageNew colleague
  9. Natively the activity system provides mainly Social and tagging activityJob title changeManager changeNew blog post (only if you created the blog using mysite.aspx?blog=1)Workplace anniversaryProfile updateUpcoming birthdayBirthdayUpcoming workplace anniversary
  10. There are two ATOM feeds for the systemConsolidated which provides items for the colleagues of the calling userPublished which shows the items for the specified accountThere are NO WEB SERVICES
  11. The Activity System also integrates into Outlook via the Social Connector.Items show up in the pane below a user in the main pane
  12. In this section I’ll give a quick run down of the systems existing architecture
  13. Explain each elementProfile DB holds the profile change logSocial DB holds the tagging, rating change logGatherer timerjobs, one for profile, one for socialPushes the data back into the Profile database via the APIWeb Part of ATOM page call the API to get Consolidated or Published item feeds
  14. In this section I’ll give a quick run down of things you need to be able to extend the system
  15. Tools you’ll needVisual Studio 2010CKSDevAssembliesMicrosoft.Office.ServerMicrosoft.Office.Server.UserProfiles
  16. In this section I’ll go through a demo scenario
  17. Scenario introductionSo for the purpose of an example we have been asked to provide the following functions:Provide a mechanism for a user to submit a suggestionPromote this suggestion to their colleaguesWord of warning, this code is NOT production ready and is to highlight the main Objects and Techniques you can use only.
  18. As you can see the new extension slots in alongside the OOTBThe two elements are:Suggestions list event receiver &gt; this adds a work item into the SPSite Work Items list for the new list itemTimer job gatherer &gt; This reads the SPSite Work Items and processes them into Activity Events
  19. So before we can dive into the Activity Extensions there is some plumbing neededThere is a new custom content type ‘Suggestion’ with a custom site column ‘Suggestion Details’There is then a list definition which is based off this content type to give us a repeatable method of providing ‘suggestion’ functionalityAn instance of this list in the siteWe won’t go through the code etc for this but it is in the solution
  20. So lets take a closer look at how the solution is built upList event receiver to create work items for later processingThis is done for scaleThis could be replaced with some form of query within a timer job such as SPQuery or SPSiteDataQueryCould also use the change log to find changes to processTimer jobThis is the processing schedule for converting the work items into activity eventsThis is how the native functionality is invokedScales wellCustom gathererContains all the logic to create the work items for the publisher and colleaguesContains all the logic to register and unregister the activity application, activity types, activity templates
  21. The list event handler is used to register the new item for later processingFires on Item Added event so we can generate new activity whenever a user adds a suggestionIt uses the ScheduledWorkItem approachYou have to elevate to be able to submit a new work item unless the user is a site collection administratorYou can check its working by opening the ScheduledWorkItems table in the content database. Obviously this is only for dev….
  22. Activity ApplicationThis is the main container to register your types againstActivity TypesThese are the different types of activities that you wish to create such as ‘Colleague added’It makes the link to the resource string containing its name (used in the EditDetails.aspx)Holds a collection of Activity TemplatesActivity TemplatesThe template defines how the data will be displayedIt can be single or multi-valueSingle has a format which shows only one itemMulti uses a list of items and can display themTemplates are driven by a token approach which the web part will use
  23. It takes the work items and passes each one to the gatherer for conversion into a ProcessingItemThen calls create events once all its work items collection has been processedThe timer job is there to provide a scheduled process
  24. Provides a method to convert the list item to a processing itemDone to release the SP objects quicklyProvides a method to create a new Activity Event based on the information in the ProcessingItemProvides a method to publish activity events created by the item authorProvides a multi-cast method to push these activities to all the authors colleagues
  25. In this section I’ll cover the limitations of the current version of the API
  26. So this version is a great start but it isn’t perfect:Several of the important methods are missing:There is no API support for removing a customisation such as custom activity application and typesThere is no API support for removing individual items, so if someone posts a status that needs removing you have no officially supported means of removalPermissions:Some of the API actions require elevation and ‘Full Control’ permissions on the User Profile Service applicationNo likes and comments by defaultThe API doesn’t support this so if you want it you need to bespoke it
  27. In this section please feel free to ask questions
  28. In this section I’ll cover useful links that provide further work
  29. Here are a collection of useful resources