social architecture of sharepoint 2013 for developers

44
Social Architecture of SharePoint Paul J. Swider CTO Level: Intermediate

Upload: paul-swider

Post on 05-Dec-2014

3.017 views

Category:

Technology


0 download

DESCRIPTION

Short version for Sharing the Point South America

TRANSCRIPT

Page 1: Social Architecture of SharePoint 2013 for Developers

Social Architecture of SharePoint

Paul J. SwiderCTO

Level: Intermediate

Page 2: Social Architecture of SharePoint 2013 for Developers
Page 3: Social Architecture of SharePoint 2013 for Developers

Agenda Community Sites

Template Creation and ManagementDiscussions and ModerationDiscovery and MembershipReputation Model

Page 4: Social Architecture of SharePoint 2013 for Developers

Agenda (Continued) My Site

Microblogging, statusFollowingTasks

OM and Programming API’s

Page 5: Social Architecture of SharePoint 2013 for Developers

MY SITE

Page 6: Social Architecture of SharePoint 2013 for Developers

My Site Host – Home Page

Page 7: Social Architecture of SharePoint 2013 for Developers

Profile (person.aspx)

Page 8: Social Architecture of SharePoint 2013 for Developers

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

Search Posts and Feeds

• Can be used instead of REST• Developer topics

Page 10: Social Architecture of SharePoint 2013 for Developers

Following Sites and People

Page 11: Social Architecture of SharePoint 2013 for Developers

• 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

• 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

• 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

Document Call Out

Page 15: Social Architecture of SharePoint 2013 for Developers

• 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

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

• 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

Distributed Cache in SharePoint 2013

Page 19: Social Architecture of SharePoint 2013 for Developers

• 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

COMMUNITY SITES

Page 21: Social Architecture of SharePoint 2013 for Developers

Communities

Page 22: Social Architecture of SharePoint 2013 for Developers

Communities Design

Page 23: Social Architecture of SharePoint 2013 for Developers

• 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

Categories

Page 25: Social Architecture of SharePoint 2013 for Developers

• 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

• Points• Configurable• Gift Badges

Badges

Page 27: Social Architecture of SharePoint 2013 for Developers

OM AND API FOR MY SITE AND SOCIAL

Page 28: Social Architecture of SharePoint 2013 for Developers

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

Extending Social Features

Page 30: Social Architecture of SharePoint 2013 for Developers

API’s for Social Features

Page 31: Social Architecture of SharePoint 2013 for Developers

2013 App Model

Page 32: Social Architecture of SharePoint 2013 for Developers

App Permission Scopes

Page 33: Social Architecture of SharePoint 2013 for Developers

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

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

• CSOM: SocialFollowingManager• JSOM: SocialFollowingManager• REST:

http://<mySiteUri>/_api/social.following• SSOM: SPSocialFollowingManager

Instance of Following Manager

Page 38: Social Architecture of SharePoint 2013 for Developers

• 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

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

• 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

• // 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

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

Deprecated Features

• Some Activity events

• SocialFollowingManager replaces much of Colleagues

• Organization Profiles

• My Links

Page 44: Social Architecture of SharePoint 2013 for Developers

THANK YOU!

Questions?

[email protected]

@pswider