Presentation is loading. Please wait.

Presentation is loading. Please wait.

Leveraging User Profiles and My Sites in SharePoint 2010 and 2013 Beatrice Baciu - Architect Derek Cash-Peterson - Practice Director.

Similar presentations


Presentation on theme: "Leveraging User Profiles and My Sites in SharePoint 2010 and 2013 Beatrice Baciu - Architect Derek Cash-Peterson - Practice Director."— Presentation transcript:

1 Leveraging User Profiles and My Sites in SharePoint 2010 and 2013 Beatrice Baciu - Architect Derek Cash-Peterson - Practice Director

2

3 The Challenge Centralize all profile data Searching profile data Integrate with other systems of record

4 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

5 What We Are Not Talking About Enterprise Social Tagging/Notes Basic configuration of User Profile Service

6 How Does the User Profile Service Work SharePoint User Profile Service Application FIM C# Direct Active Directory Import BCS External System Active Directory

7 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

8 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

9 User Profile Service Demo Configuration with ADFS and a custom database

10

11 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

12 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

13 Limitations BDC cannot be the primary sync connection Duplicate profiles Once sync connection is deleted, profiles need to be purged via PS

14 User Profile Service in Farm-level scenario

15 Design Approach

16 Coding with the User Profile Service in SharePoint 2010

17 Coding with the User Profile Service in SharePoint 2013

18 User Profile Service Data Access via REST GET All current user properties Get specific property of current user Get all properties for a specific user Get specific property for a specific user

19 User Profile Service Data Access via REST POST Provision user MySite Set current users profile picture NOTES Changing users 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

20 User Profile Service Data Access via REST var 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 } });

21 User Profile Service Data Access via CSOM SP.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 properties var messageText = " \"DisplayName\" property is " + personProperties.get_displayName(); messageText += " \"Department\" property is " + personProperties.get_userProfileProperties()['Department']; }

22 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

23 Beatrice Derek BlueMetal Architects Thank You!


Download ppt "Leveraging User Profiles and My Sites in SharePoint 2010 and 2013 Beatrice Baciu - Architect Derek Cash-Peterson - Practice Director."

Similar presentations


Ads by Google