leveraging user profiles and my sites in sharepoint 2010 and 2013

Post on 22-Feb-2016

117 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Leveraging User Profiles and My Sites in SharePoint 2010 and 2013. Beatrice Baciu - Architect Derek Cash-Peterson - Practice Director. http://thebookofsharepoint.blogspot.com/. @BeatriceBaciu. @spdcp. http://spdcp.com. The Challenge. Centralize all profile data Searching profile data - PowerPoint PPT Presentation

TRANSCRIPT

Leveraging User Profiles and My Sitesin SharePoint 2010 and 2013

Beatrice Baciu - ArchitectDerek Cash-Peterson - Practice Director

http://thebookofsharepoint.blogspot.com/ @BeatriceBaciu

@spdcp http://spdcp.com

The Challenge

Centralize all profile data

Searching profile data

Integrate with other systems of record

Agenda

• How does the user profile service work?

• The benefits of the user profile service.

• How does the user profile relate to MySites?

• Configuring user profile service

• Ways to develop against the user profile service in 2010 & 2013

What We Are Not Talking About

• Enterprise Social

• Tagging/Notes

• Basic configuration of User Profile Service

How Does the User Profile Service Work

SharePoint

User ProfileService

Application

FIM

C#

Direct Active Directory Import

BCS

External System

?

Active Directory

Benefits of the User Profile Service

• Allows centralized location for all user properties

• Aggregation of user properties regardless of source

• Out-of-the-box storage of links to user mysites

• Individual MySite provides indivudal location to manage and store documents, links, etc.

• Easy consumption of data in code

How does the user profile relate to MySites

• There is a link to the users MySite in the User Profile

• MySite provides user with an interface to edit profile data

• MySite Provides an individual repository for users that is security trimmed

• Aggregation of all user profile properties in one source

User Profile Service Demo Configuration with ADFS and a custom database

Recap

• Use AD/ADFS as primary sync connection

• Use BCS to import additional profile properties

• Use property mapping to aggregate the User Profile

• If using SPD, the primary key will be used as the identifier; modify the BDCM file yourself and use a unique logical key

• Permissions in BDC

Troubleshooting

• Connections Disappear: consider restarting the User Profile Synchronization Service

• Random Sync issues: consider restarting the SharePoint Timer Service

• when MySite gets created, user profile gets created if not there

Limitations

• BDC cannot be the primary sync connection

• Duplicate profiles

• Once sync connection is deleted, profiles need to be purged via PS

User Profile Service in Farm-level scenario

Design Approach

Coding with the User Profile Service in SharePoint 2010

Coding with the User Profile Service in SharePoint 2013

User Profile Service Data Access via REST• GET• All current user properties

http://siteurl/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='domain\username

• Get specific property of current userhttp://siteurl/_api/SP.UserProfiles.PeopleManager/GetMyProperties?$select=PictureUrl,AccountName

• Get all properties for a specific userhttp://siteurl/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='domain\username’

• Get specific property for a specific userhttp://siteurl/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='LastName')?@v='domain\username‘

User Profile Service Data Access via REST• POST• Provision user MySite

http://siteurl/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile/CreatePersonalSiteEnqueue

• Set current user’s profile picturehttp://siteurl/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture

• NOTES• Changing user’s profile properties is not implemented in REST or CSOM• Deletion of user profiles is not implemented in REST or CSOM• o365 authentication uses account names like @v='i:0%23.f|membership|

user@siteurl.onmicrosoft.com‘

User Profile Service Data Access via RESTvar inputParameters = {

“props”: {

"__metadata": { "type": "SP.UserProfiles. GetUserProfilePropertyFor" }, "accountName": "demo\bbaciu","propertyName": [“FirstName”]

}}; var requestHeaders = {

"Accept": "application/json;odata=verbose","X-RequestDigest": jQuery("#__REQUESTDIGEST").val()};

jQuery.ajax({

url:_spPageContextInfo.webAbsoluteUrl + "/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor",

type:"POST",data: JSON.stringify(inputParameters ),contentType : "application/json;odata=verbose",headers: requestHeaders,success:function(data){

//read property},error:function(jqxr,errorCode,errorThrown){

//handle error}

});

User Profile Service Data Access via CSOMSP.SOD.executeOrDelayUntilScriptLoaded(getUserProperties, 'SP.UserProfiles.js');

function getUserProperties() {

var targetUser = "domainName\\username”;

var clientContext = new SP.ClientContext.get_current(); var peopleManager = new SP.UserProfiles.PeopleManager(clientContext); personProperties = peopleManager.getPropertiesFor(targetUser); clientContext.load(personProperties);clientContext.executeQueryAsync(onRequestSuccess, onRequestFail);

} function onRequestSuccess()

{//we distinguish between user properties and user profile propertiesvar messageText = " \"DisplayName\" property is " + personProperties.get_displayName(); messageText += "<br />\"Department\" property is " + personProperties.get_userProfileProperties()['Department'];

}

Recap

• How the user profile service works.

• The benefits of the user profile service.

• How does the user profile relate to MySites?

• Configuring user profile service

• Ways to develop against the user profile service in 2010 & 2013

Beatrice Baciu@BeatriceBaciuhttp://thebookofsharepoint.blogspot.com/

Derek Cash-Peterson@spdcphttp://www.spdcp.com

BlueMetal Architectswww.bluemetal.comBlog.bluemetal.com@bluemetalinc

Thank You!

top related