SharePoint 2010 User Profile Service: Part 4 Configure UPS Synchronization Sources
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.
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.
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" |
Step 2: User left click on "New Property (editable text)" in "Manage User Properties - Windows Internet Explorer" |
Step 3: User left click on "Add User Profile Property (pane)" in "Add User Profile Property - Windows Internet Explorer" |
Step 4: User left click on "Attribute (text)" in "Add User Profile Property - Windows Internet Explorer" |
Step 5: User left click on "wWWHomePage (list item)" |
Step 6: User left click on "Add (push button)" in "Add User Profile Property - Windows Internet Explorer" |
Step 7: User left click on "OK (push button)" in "Add User Profile Property - Windows Internet Explorer" |
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" |
Step 2: User left click on "Add new synchronization connection (pane)" in "Add new synchronization connection - Windows Internet Explorer" |
Step 3: User left click on "Business Data Connectivity (list item)" |
Step 4: User left click on "Select External Content Type (graphic)" in "Add new synchronization connection - Windows Internet Explorer" |
Step 5: User left click on "https://sp2010.dev.mcs.local:8080/EmployeeWCFService/EmployeeService.svc/mex (editable text)" in "External Content Type Picker -- Webpage Dialog" |
Step 6: User left click on "OK (push button)" in "External Content Type Picker -- Webpage Dialog" |
Step 7: User left click on "Add new synchronization connection (pane)" in "Add new synchronization connection - Windows Internet Explorer" |
Step 8: User left click on "Return items identified by this profile property: (text)" in "Add new synchronization connection - Windows Internet Explorer" |
Step 9: User left click on "EmployeeIDAD (list item)" |
Step 10: User left click on "OK (push button)" in "Add new synchronization connection - Windows Internet Explorer" |
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.
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.
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.
Comments
Anonymous
February 17, 2011
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.Anonymous
March 02, 2011
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.Anonymous
July 06, 2011
The comment has been removed