BizTalk & Development Thoughts

This is a blog about my experience with development specially for BizTalk ...

SharePoint 2010 User Profile Service: Part 4 Configure UPS Synchronization Sources

SharePoint 2010 User Profile Service: Part 4 Configure UPS Synchronization Sources

Rate This
  • Comments 3

In the previous post I showed you how to deploy the BCS model for the Employee WCF service. In this post we will continue our scenario by adding the synchronization sources for the AD and the BCS WCF service.

Add the Employee IDs to the AD profile

This step is needed to allow the UPS to link the AD profile to the proper WCF profile. As said before I will be using the employee ID property from the SQL database as the link property. We could have chosen any other property but this property have to be unique per a profile. We need to add the employee ID to any unused AD property.

clip_image001

clip_image002

clip_image003

clip_image004

Add AD Connection

Now you need to add the synchronization connection to the AD source from the UPS management. You need to add it and then select the appropriate OU that contains the list of all employees in the company.

image

Add the Link property

The property used for linking is held in the AD field of the user home page (this is just an example). But since the SharePoint 2010 performs data validation during synchronization and this field should contain actually a URL, the default property will not work. So We need to add a custom property pointing to this AD field as a string property.

Step 1: User left click on "Manage User Properties (editable text)" in "Manage Profile Service: User Profile Service Application - Windows Internet Explorer"

clip_image001[4]

 
 

Step 2: User left click on "New Property (editable text)" in "Manage User Properties - Windows Internet Explorer"

clip_image002[4]

 
 

Step 3: User left click on "Add User Profile Property (pane)" in "Add User Profile Property - Windows Internet Explorer"

clip_image003[4]

 
 
 

clip_image004[4]

 
 
 

clip_image005

 
 
 

clip_image006

 
 

Step 4: User left click on "Attribute (text)" in "Add User Profile Property - Windows Internet Explorer"

clip_image007

 

Step 5: User left click on "wWWHomePage (list item)"

clip_image008

 
 

Step 6: User left click on "Add (push button)" in "Add User Profile Property - Windows Internet Explorer"

clip_image009

 
 

Step 7: User left click on "OK (push button)" in "Add User Profile Property - Windows Internet Explorer"

clip_image010

 

Add WCF BCS Connection

Now we can add the employee WCF BCS connection linking to it using the custom added profile property which is already populated in the user web page field on the AD as we already seen.

Step 1: User left click on "Create New Connection (editable text)" in "Synchronization Connections - Windows Internet Explorer"

clip_image001[8]

 
 

Step 2: User left click on "Add new synchronization connection (pane)" in "Add new synchronization connection - Windows Internet Explorer"

clip_image002[8]

Step 3: User left click on "Business Data Connectivity (list item)"

clip_image003[8]

 
 

Step 4: User left click on "Select External Content Type (graphic)" in "Add new synchronization connection - Windows Internet Explorer"

clip_image004[8]

 
 

Step 5: User left click on "http://sp2010.dev.mcs.local:8080/EmployeeWCFService/EmployeeService.svc/mex (editable text)" in "External Content Type Picker -- Webpage Dialog"

clip_image005[6]

 
 

Step 6: User left click on "OK (push button)" in "External Content Type Picker -- Webpage Dialog"

clip_image006[6]

 
 

Step 7: User left click on "Add new synchronization connection (pane)" in "Add new synchronization connection - Windows Internet Explorer"

clip_image007[6]

 
 

Step 8: User left click on "Return items identified by this profile property: (text)" in "Add new synchronization connection - Windows Internet Explorer"

clip_image008[6]

 
 

Step 9: User left click on "EmployeeIDAD (list item)"

clip_image009[6]

 
 

Step 10: User left click on "OK (push button)" in "Add new synchronization connection - Windows Internet Explorer"

clip_image010[6]

 
 
 

clip_image011

 

Add the Custom Profile Properties

Now add all custom WCF properties that are needed to be added to the user profile. Remember to set the EmployeeID as aliased and indexed property as we might need to search using it later. For the remaining properties you select the options as required. The properties to be added are as follows.

Property

Is Required

Indexed

Show to

EmployeeID

R

R

Me

Degree

Q

Q

Everyone

LocalFullName

R

Q

Everyone

MainDepartment

R

Q

Everyone

SubDepartment

Q

Q

Everyone

Salary

R

Q

My Manager

The final profile properties are as follows.

image

Start Profile Synchronization

Now you can start the profile full synchronization and then create the appropriate synchronization schedule.

Now when we open a user profile we should see the custom properties populated as follows.

image

In this post I already showed how to link this to the people search center and how to search for user profiles using indexed properties. Also in this post I showed how to refine people search results using custom properties.

  • Excellent series of posts. I have one question: Do you know if it's possible to use a BCS connection by itself just to update existing profiles from an external system without having an AD or other type of primary connection? I've set up an ECT which returns data from the external system into an external list without problem. Profile synchronization completes all steps in FIM successfully. But no profiles ever get updated. And I missing something here?

    Thanks.

  • Thank you Michael.

    As far as I understand you cannot use BCS as the primary source of your users profiles. As you can see when adding a BCS based synchronization connection you will have to choose a filter property to be able to link it to the primary source. It does though support other types of primary sources like IBM, Novel, and Sun directory services. Sorry for that and I hope this helps.

    Thanks.

  • We are using AccountName to join to an external BCS to pull in more profile data.  the connection is setup, and a couple of mapings created, but not sure if it is synching.  Here is my question:  AccountName is of Type=People.  Will it successfully join to a string field of format "domain\username"?

    Same question for the Manager field in Sharepoint 2010?  When I try to map a BCS connection field to Manager property, there are no fields in the drop down.  So I assume no fields of compatible data type.  I have tried the "ad\username" format, and the Distinguished Name format "CN=xx,OU=xx,DN=xx,DN=xx,DN=xx" but neither shows up in the drop down when I try to map.

    Appreciate your help

Page 1 of 1 (3 items)
Leave a Comment
  • Please add 2 and 3 and type the answer here:
  • Post