1 / 23

Leveraging User Profiles and My Sites in SharePoint 2010 and 2013

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

kiefer
Download Presentation

Leveraging User Profiles and My Sites in SharePoint 2010 and 2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  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 BCS User ProfileService Application External System FIM C# Direct Active Directory Import 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. 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

  11. 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

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

  13. User Profile Service in Farm-level scenario

  14. Design Approach

  15. Coding with the User Profile Service in SharePoint 2010

  16. Coding with the User Profile Service in SharePoint 2013

  17. 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‘

  18. User Profile Service Data Access via REST POST Provision user MySitehttp://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‘

  19. User Profile Service Data Access via REST • varinputParameters= { • “props”: • { • "__metadata": { "type": "SP.UserProfiles.GetUserProfilePropertyFor" }, • "accountName": "demo\bbaciu", • "propertyName": [“FirstName”] • }}; • varrequestHeaders= { • "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 • } • });

  20. User Profile Service Data Access via CSOM • SP.SOD.executeOrDelayUntilScriptLoaded(getUserProperties, 'SP.UserProfiles.js'); • function getUserProperties() • { • vartargetUser = "domainName\\username”; • varclientContext = newSP.ClientContext.get_current(); • varpeopleManager = newSP.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 • varmessageText = " \"DisplayName\" property is " + personProperties.get_displayName(); • messageText += "<br />\"Department\" property is " + • personProperties.get_userProfileProperties()['Department']; • }

  21. 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

  22. Thank You! Beatrice Baciu@BeatriceBaciuhttp://thebookofsharepoint.blogspot.com/ Derek Cash-Peterson@spdcphttp://www.spdcp.com BlueMetal Architects www.bluemetal.com Blog.bluemetal.com @bluemetalinc

More Related