social architecture of sharepoint 2013 for developers
DESCRIPTION
Short version for Sharing the Point South AmericaTRANSCRIPT
![Page 1: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/1.jpg)
Social Architecture of SharePoint
Paul J. SwiderCTO
Level: Intermediate
![Page 2: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/2.jpg)
![Page 3: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/3.jpg)
Agenda Community Sites
Template Creation and ManagementDiscussions and ModerationDiscovery and MembershipReputation Model
![Page 4: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/4.jpg)
Agenda (Continued) My Site
Microblogging, statusFollowingTasks
OM and Programming API’s
![Page 5: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/5.jpg)
MY SITE
![Page 6: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/6.jpg)
My Site Host – Home Page
![Page 7: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/7.jpg)
Profile (person.aspx)
![Page 8: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/8.jpg)
My Site Hubs
• Hubs are found in global navigation• Newsfeed (security trimmed)
– Following – Everyone– Mentions
• SkyDrive– Recent Documents on Office 365
• Sites
![Page 9: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/9.jpg)
Search Posts and Feeds
• Can be used instead of REST• Developer topics
![Page 10: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/10.jpg)
Following Sites and People
![Page 11: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/11.jpg)
• 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
![Page 12: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/12.jpg)
• 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
![Page 13: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/13.jpg)
• 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
![Page 14: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/14.jpg)
Document Call Out
![Page 15: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/15.jpg)
• 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
![Page 16: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/16.jpg)
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
![Page 17: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/17.jpg)
• 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
![Page 18: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/18.jpg)
Distributed Cache in SharePoint 2013
![Page 19: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/19.jpg)
• Aggregation of most social activities• Doesn’t work without a My Site• Can create limited social experience
Social List
![Page 20: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/20.jpg)
COMMUNITY SITES
![Page 21: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/21.jpg)
Communities
![Page 22: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/22.jpg)
Communities Design
![Page 23: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/23.jpg)
• 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
![Page 24: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/24.jpg)
Categories
![Page 25: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/25.jpg)
• 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
![Page 26: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/26.jpg)
• Points• Configurable• Gift Badges
Badges
![Page 27: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/27.jpg)
OM AND API FOR MY SITE AND SOCIAL
![Page 28: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/28.jpg)
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
![Page 29: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/29.jpg)
Extending Social Features
![Page 30: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/30.jpg)
API’s for Social Features
![Page 31: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/31.jpg)
2013 App Model
![Page 32: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/32.jpg)
App Permission Scopes
![Page 33: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/33.jpg)
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
![Page 34: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/34.jpg)
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
![Page 35: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/35.jpg)
• CSOM: SocialFollowingManager• JSOM: SocialFollowingManager• REST:
http://<mySiteUri>/_api/social.following• SSOM: SPSocialFollowingManager
Instance of Following Manager
![Page 36: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/36.jpg)
• CSOM: GetFollowers• JSOM: getFollowers• REST: GET
http://<mySiteUri>/_api/social.following/my/Followers
• SSOM: GetFollowers
GetFollowers
![Page 37: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/37.jpg)
• CSOM: Follow (StopFollowing)• JSOM: follow (stopFollowing)• REST: POST
http://<mySiteUri>/_api/social.following/Follow (http://<mySiteUri>/_api/social.following/StopFollowing) and pass the actor parameter in the request body
• SSOM: Follow (StopFollowing)
Follow an Item
![Page 38: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/38.jpg)
• 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
![Page 39: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/39.jpg)
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.PeopleManager
![Page 40: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/40.jpg)
• HTML and JavaScript control• Supports Claims• Same Properties as Server Control• SPClientPeoplePicker
Client-side People Picker
![Page 41: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/41.jpg)
• // 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
![Page 42: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/42.jpg)
Deprecated Features
• Microsoft.Office.Server.ActivityFeed
• Activityfeed.aspx replaces with REST API
• Recent Activities Web Part replace with Newsfeed web Part
![Page 43: Social Architecture of SharePoint 2013 for Developers](https://reader034.vdocument.in/reader034/viewer/2022051610/54819270b07959520c8b4578/html5/thumbnails/43.jpg)
Deprecated Features
• Some Activity events
• SocialFollowingManager replaces much of Colleagues
• Organization Profiles
• My Links