Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Social Architecture of SharePoint 2013 for Developers

3,210 views

Published on

Short version for Sharing the Point South America

Published in: Technology
  • Be the first to comment

Social Architecture of SharePoint 2013 for Developers

  1. 1. Social Architecture of SharePoint Paul J. Swider CTO Level: Intermediate
  2. 2. Agenda  Community Sites Template Creation and Management Discussions and Moderation Discovery and Membership Reputation Model
  3. 3. Agenda (Continued)  My Site Microblogging, status Following Tasks  OM and Programming API’s
  4. 4. MY SITE
  5. 5. My Site Host – Home Page
  6. 6. Profile (person.aspx)
  7. 7. My Site Hubs • Hubs are found in global navigation • Newsfeed (security trimmed) – Following – Everyone – Mentions • SkyDrive – Recent Documents on Office 365 • Sites
  8. 8. Search Posts and Feeds • Can be used instead of REST • Developer topics
  9. 9. Following Sites and People
  10. 10. • Following Infrastructure is the same as 2010 – Stored in User Profile Database – 2 Million Items per UP Database • Integration with Consolidated Feeds Web part • People can see who are their followers Following People
  11. 11. • Ability for users to receive system notifications for a site • Site conversations and activities are received in consolidated feeds web part • Site Admin can control at library level Following Sites
  12. 12. • Track and get information on document changes and activities • When a document or metadata changes new system feed is posted – People following get notified – Not meant to replace alerts Document Following
  13. 13. Document Call Out
  14. 14. • A single aggregated view of all SharePoint, Exchange and Project task items • Work Management Service Application • Aggregated tasks can be synced with Exchange My Tasks
  15. 15. My Site, Profile Data • Data stored in personal site and velocity cache • Two lists: Microfeed list and Social List • Profile database still used for following people and tags
  16. 16. • Used to store user generated activities • Users control system activities which show as activity feeds • User activity available to all authenticated users, some system activities are security trimmed • New events trigger a new item in the list and the Velocity Cache Microfeed List
  17. 17. Distributed Cache in SharePoint 2013
  18. 18. • Aggregation of most social activities • Doesn’t work without a My Site • Can create limited social experience Social List
  19. 19. COMMUNITY SITES
  20. 20. Communities
  21. 21. Communities Design
  22. 22. • Community site template Id=62 • CommunityEventReceiver fires when activated • Asynchronous updates - beware of save conflicts • The Community Site provides a forum experience and reputation model. It does not expose a specific API – Use SharePoint site and list APIs directly to extend its functionality – Discussion Board Template Type = 108 Community Template
  23. 23. Categories
  24. 24. • Ratings and comments not in socialdb • Reputation is based on Community silos • Can use Feature Stapling to add reputation functionality across the communities Ratings and Reputation
  25. 25. • Points • Configurable • Gift Badges Badges
  26. 26. OM AND API FOR MY SITE AND SOCIAL
  27. 27. My Site Social API • Working with social feeds • Following people and content (documents, sites, and tags), • Working with social data • Working with user properties. • Add social features to a custom app or extend the social features
  28. 28. Extending Social Features
  29. 29. API’s for Social Features
  30. 30. 2013 App Model
  31. 31. App Permission Scopes
  32. 32. UserProfiles and People • New client-side UserProfile Object • Provides methods you can use to create a personal site • Does not contain the user properties that the server-side UserProfile object contains. • Use the PersonProperties object and its UserProfileProperties property for Server Side
  33. 33. New Objects for People • SocialActor object represents users (and other entities) for feed and following activities • SPSocialActor used for server OM • PersonProperties object contains general user properties and user profile properties • PersonProperties is the primary API for accessing user properties from client- side code
  34. 34. • CSOM: SocialFollowingManager • JSOM: SocialFollowingManager • REST: http://<mySiteUri>/_api/social.following • SSOM: SPSocialFollowingManager Instance of Following Manager
  35. 35. • CSOM: GetFollowers • JSOM: getFollowers • REST: GET http://<mySiteUri>/_api/social.following/my /Followers • SSOM: GetFollowers GetFollowers
  36. 36. • CSOM: Follow (StopFollowing) • JSOM: follow (stopFollowing) • REST: POST http://<mySiteUri>/_api/social.following/Follow (http://<mySiteUri>/_api/social.following/StopF ollowing) and pass the actor parameter in the request body • SSOM: Follow (StopFollowing) Follow an Item
  37. 37. • http://<mySiteUri>/ – Maps back to My Site host • http://<siteUri>/ – Any site within the scope of the User Profiles service application • _Api always on the right of the path REST API
  38. 38. REST Services for Social Features • Social features in the REST service • http://<mySiteUri>/_api/social.feed • http://<mySiteUri>/_api/social.following • http://<siteUri>/_api/SP.UserProfiles.Peopl eManager
  39. 39. • HTML and JavaScript control • Supports Claims • Same Properties as Server Control • SPClientPeoplePicker Client-side People Picker
  40. 40. • // Get the people picker object from the page. var peoplePicker = this.SPClientPeoplePicker.SPClientPeoplePickerDict. peoplePickerDiv_TopSpan; • // Get information about all users. var users = peoplePicker.GetAllUserInfo(); var userInfo = ''; for (var i = 0; i < users.length; i++) { var user = users[i]; for (var userProperty in user) { userInfo += userProperty + ': ' + user[userProperty] + '<br>'; } } $('#resolvedUsers').html(userInfo); Code for People Picker
  41. 41. Deprecated Features • Microsoft.Office.Server.ActivityFee • Activityfeed.aspx replaces with RES • Recent Activities Web Part replace with Newsfeed web Part
  42. 42. Deprecated Features • Some Activity events • SocialFollowingManager replaces much of Colleagues • Organization Profiles • My Links
  43. 43. THANK YOU! Questions? www.paulswider.com pswider@msn.com @pswider

×