{"id":45,"date":"2009-03-08T18:35:53","date_gmt":"2009-03-09T00:35:53","guid":{"rendered":"http:\/\/localhost\/todd_wp\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/"},"modified":"2013-07-01T13:59:38","modified_gmt":"2013-07-01T19:59:38","slug":"how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog","status":"publish","type":"post","link":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/","title":{"rendered":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog"},"content":{"rendered":"<p>If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data Catalog.  Each of the articles takes a different approach to implementing this functionality, however none of the articles provide a prescriptive step by step approach and end to end example.  This article is geared toward someone who has limited or no experience with the BDC and provides a prescriptive step by step approach and sample code.<\/p>\n<p>The other articles I found on the Internet about this topic include the following, they are well worth reading.<\/p>\n<ul>\n<li><a title=\"Jimmie's Sharings  Importing Profile from BDC\" target=\"_blank\" href=\"http:\/\/blogs.msdn.com\/jimmiet\/pages\/importing-profile-from-bdc.aspx\">Jimmie&#8217;s Sharings Importing Profile from BDC Blog Post<\/a> &#8211; This article provides some <strong><em>excellent troubleshooting steps<\/em><\/strong> as well as a high level overview of the process. <\/li>\n<li><a target=\"_blank\" href=\"http:\/\/statto1974.wordpress.com\/2007\/11\/02\/using-the-bdc-to-populate-user-profiles-from-a-sql-server-database-part-two\/\">Toby Statham&#8217;s Blog Post<\/a> &#8211; This article describes how to set up the MOSS Single Sign on Service and use it inside an Application Definition and also provides an overview of the process. <\/li>\n<li><a target=\"_blank\" href=\"http:\/\/blah.winsmarts.com\/2007-4-SharePoint_2007__BDC_-_User_Profiles.aspx\">Sahil Malik&#8217;s Blog Post<\/a> &#8211; This article provides a high level overview of the process. <\/li>\n<\/ul>\n<h1>Business Context<\/h1>\n<p>Before we get started with the detailed technical documentation let&#8217;s take a moment to understand the business context associated with this topic.  Imagine your company has implemented MOSS.  My Sites and User Profiles have been set up and configured on your SharePoint server farm.  The User Profiles are set up to import information from Active Directory using the out of the box functionality.  Life is good and the My Site &#8211; My Profile pages display information like first name, last name, title, phone number, e-mail address and organizational hierarchy.<\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"221\" alt=\"image\" width=\"444\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_2.png\" \/><\/a> <\/p>\n<p>Your company also has an HR system which stores additional information about employees in a separate database, not in the Active Directory.  You would like to enhance the User Profiles with additional information that is stored in the HR system&#8217;s database.  Perhaps this information includes the city and state where the employees live.<\/p>\n<p>You have a couple of options.  One option is to write some code to populate the user accounts in the Active Directory with the information from the HR system and keep it in synch.  Going with this option requires custom development and in the long run introduces another system you have to support in your organization.  Another option is to use the Business Data Catalog and the SharePoint Search Service to query the information you want to add to User Profiles and keep it up to date.<\/p>\n<h1>Solution Components<\/h1>\n<p>The following components are used to supplement the SharePoint User Profile database with data coming from a back end database containing employee information.<\/p>\n<ul>\n<li><strong>Back end database<\/strong>: In the example I am using in this article the sample database contains employee information which is not stored in the Active Directory. <\/li>\n<li><strong>Business Data Catalog<\/strong>: An application definition is created to register the back end database with the Business Data Catalog. <\/li>\n<li><strong>SharePoint Search Service<\/strong>: The SharePoint Search Service is configured to crawl the database registered with the Business Data Catalog and populate the profile properties in the User Profile Database with the information. <\/li>\n<li><strong>User Profile Database<\/strong>:  The User Profile Database stores the information retrieved by the Business Data Catalog and the SharePoint Search Service.  The User Profile database is queried at runtime by the controls on the My Sites which display the information. <\/li>\n<\/ul>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"568\" alt=\"image\" width=\"446\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_1.png\" \/><\/a> <\/p>\n<h2>Active Directory account<\/h2>\n<p>The account used in this example is <strong>litwareinctoddbaginski<\/strong>.  Here you can see the property pages which define the user account in Active Directory.  Notice the City and State values are <strong><em>not<\/em><\/strong> populated in the Active Directory.<\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_12.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"484\" alt=\"image\" width=\"404\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_5.png\" \/><\/a> <\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_14.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"484\" alt=\"image\" width=\"404\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_6.png\" \/><\/a> <\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_16.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"484\" alt=\"image\" width=\"404\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_7.png\" \/><\/a> <\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_18.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"484\" alt=\"image\" width=\"404\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_8.png\" \/><\/a> <\/p>\n<h2>Back end database<\/h2>\n<p>In this example I&#8217;m using a SQL Server 2005 database named <strong>LitwareIncEmployeeInformation<\/strong>.  The database has a table in it named <strong>dbo.EmployeeData<\/strong> which has the following schema.<\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"82\" alt=\"image\" width=\"342\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_3.png\" \/><\/a> <\/p>\n<p>The database contains sample data for my user account inside it.  The sample data looks like this.<\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_10.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"47\" alt=\"image\" width=\"394\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_4.png\" \/><\/a> <\/p>\n<h1>Implementing the solution<\/h1>\n<h2>Application Definition<\/h2>\n<p>The first thing we need to do is create an application definition to register the <strong>dbo.EmployeeData<\/strong> table in the<strong> LitwareIncEmployeeInformation<\/strong> database with the Business Data Catalog.  The application definition includes a <strong>Finder<\/strong>, a <strong>SpecificFinder<\/strong>, and <strong>IDEnumerator<\/strong> methods.  The <strong>IDEnumerator<\/strong> method is used by the SharePoint Search Service to index the database and the <strong>SpecificFinder<\/strong> method is used to return information for a given record in the database.  The Finder method may be used for testing purposes.  I like to drop a Business Data List Web Part on a SharePoint Web Part Page after I import an application definition and configure it to display the data for an Entity I just registered with the BDC.  Taking the time to do this after importing an application definition ensures the entities you have registered with the BDC are functioning properly and can save you a lot of time and headache in the event your application definition was not created properly.<\/p>\n<p>You can use the Microsoft Business Data Catalog Definition Editor which is part of the <a target=\"_blank\" href=\"http:\/\/www.microsoft.com\/downloads\/details.aspx?FamilyID=6D94E307-67D9-41AC-B2D6-0074D6286FA9&amp;displaylang=en\">SharePoint Server 2007 SDK: Software Development Kit<\/a>, or the <a target=\"_blank\" href=\"http:\/\/www.lightningtools.com\/bdc-meta-man\/default.aspx\">BDC Meta Man<\/a> to generate the application definition.  I used the <a target=\"_blank\" href=\"http:\/\/www.lightningtools.com\/bdc-meta-man\/default.aspx\">BDC Meta Man<\/a> to generate the application definition used in this example.  Generating application definitions is a large topic, too big for this article.  Please see the documentation in the <a target=\"_blank\" href=\"http:\/\/www.microsoft.com\/downloads\/details.aspx?FamilyID=6D94E307-67D9-41AC-B2D6-0074D6286FA9&amp;displaylang=en\">SharePoint Server 2007 SDK: Software Development Kit<\/a> or the step by step videos on the <a target=\"_blank\" href=\"http:\/\/www.lightningtools.com\/bdc-meta-man\/default.aspx\">BDC Meta Man<\/a> web site for more information.  <\/p>\n<p>Just remember, as long as you generate the <strong>Finder<\/strong>, <strong>SpecificFinder<\/strong>, and <strong>IDEnumerator<\/strong> methods you will be good to go. You don&#8217;t need any <strong>FilterDescriptors<\/strong> to make this work, it is very straightforward.  You can also use the application definition which is part of this example as a reference to help you along the way.  <\/p>\n<p>After you create the application definition go to the Shared Services Administration web site and Import the application definition.<\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_20.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"61\" alt=\"image\" width=\"285\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_9.png\" \/><\/a> <\/p>\n<p>Once the application definition is imported you can view it in the Shared Services Administration web site.  <\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_24.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"362\" alt=\"image\" width=\"553\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_11.png\" \/><\/a> <\/p>\n<p>Notice the <strong>dbo.EmployeeData<\/strong> table is registered with the Business Data Catalog as an entity with the friendly name <strong>EmployeeData<\/strong>.  Also notice the Entity is Crawlable because it has a <strong>SpecificFinder<\/strong> method defined for it.<\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_22.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"336\" alt=\"image\" width=\"375\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_10.png\" \/><\/a> <\/p>\n<h2>Import Connection<\/h2>\n<p>Now that an application definition has been created and imported into the Business Data Catalog we can create an Import Connection to connect to the <strong>EmployeeData<\/strong> entity defined in the Business Data Catalog.  The Import Connection is used to populate the User Profile database with additional information.  To create an Import Connection follow these steps.<\/p>\n<ol>\n<li>Open the Shared Services Administration web site. <\/li>\n<li>In the User Profiles and My Sites section, click  <strong>User profiles and properties<\/strong> <\/li>\n<li>Click the <strong>View import connections<\/strong> link <\/li>\n<li>Click <strong>Create New Connection<\/strong> <\/li>\n<li>In the Type dropdown list select <strong>Business Data Catalog<\/strong> <\/li>\n<li>In the Connection Name textbox enter <strong><em>LitwareIncEmployeeInformation<\/em><\/strong> <\/li>\n<li>Click the <strong>browse button<\/strong> to the right of the Business Data Catalog Entity textbox <\/li>\n<li>In the Business Data Type Picker select <strong>LitwareInc Employee Information &#8211; EmployeeData<\/strong> <\/li>\n<li>Click <strong>OK<\/strong> <\/li>\n<li>In the Connection section, select the <strong>Connect User Profile Store to Business Data Catalog Entity as a 1:1 mapping<\/strong> <\/li>\n<li>In the Return items identified by this profile property textbox select <strong>WorkEmail<\/strong> <\/li>\n<li>Click <strong>OK<\/strong> <\/li>\n<\/ol>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_26.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"518\" alt=\"image\" width=\"600\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_12.png\" \/><\/a> <\/p>\n<p>When you are finished you will see the new import connection in the list.<\/p>\n<p><a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_28.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"249\" alt=\"image\" width=\"623\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_13.png\" \/><\/a> <\/p>\n<p>These steps set up a connection to the <strong>dbo.EmployeeData<\/strong> table registered with the BDC.  The connection is set up in a 1:1 fashion because there is exactly one row of data in the <strong>dbo.EmployeeData<\/strong> table in the<strong> LitwareIncEmployeeInformation<\/strong> database for each employee.  The <strong>WorkEmail<\/strong> profile property is used to match the appropriate record in the <strong>dbo.EmployeeData<\/strong> table in the<strong> LitwareIncEmployeeInformation<\/strong> database with a given user in Active Directory.  The <strong>WorkEmail<\/strong> property populated for the litwareinctoddbaginski Active Directory user account matches values in the <strong>EmailAddress<\/strong> column in the <strong>dbo.EmployeeData<\/strong> table in the<strong> LitwareIncEmployeeInformation<\/strong> database.  It is possible to match on other columns as well.  For example, if your back end database had a column which held the Active Directory user account name for each employee then you could do the lookup based on the <strong>AccountName<\/strong> profile property.<\/p>\n<p><strong>Note<\/strong>: If you are using a database that contains many rows of data for a single user you could use the 1:many mapping.  If you take this approach you will need to adjust your application definition to include a <strong>FilterDescriptor<\/strong> which can then be used to return all the rows for a given user account.<\/p>\n<h2>User Profile Properties<\/h2>\n<p>At this point SharePoint knows how to get the data from the back end database and match it to a user defined in Active Directory by using the user&#8217;s email account as the key.  The next step is creating new profile properties in the User Profile database to store the information returned from the back end database.  To create the profile properties for the City and the State, follow these steps.<\/p>\n<ol>\n<li>Return to the Shared Services Administration web site. <\/li>\n<li>In the User Profiles and My Sites section, click  <strong>User profiles and properties<\/strong> <\/li>\n<li>In the User Profile Properties section, click <strong>Add profile property<\/strong>  <\/li>\n<li>In the Property Settings section enter the following values\n<ul>\n<li>Name: EmployeeHomeCity <\/li>\n<li>Display Name: City <\/li>\n<li>Type: string <\/li>\n<li>Length: 50 <\/li>\n<\/ul>\n<\/li>\n<li>In the User Description section, in the Description text box enter <strong><em>This user profile property contains the city where the employee lives.  This property is populated with information from the LitwareIncEmployeeInformation database.<\/em><\/strong> <\/li>\n<li>In the Policy Settings section in the Default Privacy Setting drop down list select <strong>Everyone<\/strong> <\/li>\n<li>In the Display Settings section uncheck <strong>Show on the Edit Details Page<\/strong> and check <strong>the Show changed in the Colleague Tracker web part<\/strong> <\/li>\n<li>In the Property Import Mapping section, in the Source Data Connection drop down list select <strong>LitwareIncEmployeeInformation<\/strong> <\/li>\n<li>In the Data source field to map drop down list select <strong>City<\/strong> <\/li>\n<li>Click <strong>OK<\/strong> <\/li>\n<li>In the User Profile Properties section, click <strong>Add profile property<\/strong>  <\/li>\n<li>In the Property Settings section enter the following values\n<ul>\n<li>Name: EmployeeHomeState <\/li>\n<li>Display Name: State <\/li>\n<li>Type: string <\/li>\n<li>Length: 50 <\/li>\n<\/ul>\n<\/li>\n<li>In the User Description section, in the Description text box enter <strong><em>This user profile property contains the city where the employee lives.  This property is populated with information from the LitwareIncEmployeeInformation database.<\/em><\/strong> <\/li>\n<li>In the Policy Settings section in the Default Privacy Setting drop down list select <strong>Everyone<\/strong> <\/li>\n<li>In the Display Settings section uncheck <strong>Show on the Edit Details Page<\/strong> and check <strong>the Show changed in the Colleague Tracker web part<\/strong> <\/li>\n<li>In the Property Import Mapping section, in the Source Data Connection drop down list select <strong>LitwareIncEmployeeInformation<\/strong> <\/li>\n<li>In the Data source field to map drop down list select <strong>State<\/strong> <\/li>\n<li>Click <strong>OK<\/strong> <\/li>\n<\/ol>\n<h2>Full Import<\/h2>\n<p>Finally, the easy part!  The final step is kicking off the Full Import to query the back end database, return the information and add it to the new profile properties for the corresponding user accounts in the User Profile database.  To begin the Full import follow these steps.<\/p>\n<ol>\n<li>Return to the Shared Services Administration web site. <\/li>\n<li>In the User Profiles and My Sites section, click  <strong>User profiles and properties<\/strong> <\/li>\n<li>Click <strong>Start full import<\/strong> <\/li>\n<li>In the Profile and Import Setting section the Profile import status will change to Enumerating <br \/>\n    <a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_36.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"266\" alt=\"image\" width=\"541\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_17.png\" \/><\/a> <\/li>\n<li>Click the <strong>Refresh<\/strong> link until the Full Import is complete.  This can take several minutes or even hours if your database is very large. <br \/>\n    <a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_38.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"270\" alt=\"image\" width=\"622\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_18.png\" \/><\/a> <\/li>\n<\/ol>\n<h2>Verification<\/h2>\n<p>To verify the Full Import worked successfully follow these steps.<\/p>\n<p>First, verify the properties were populated with values.<\/p>\n<ol>\n<li>Return to the Shared Services Administration web site. <\/li>\n<li>In the User Profiles and My Sites section, click  <strong>User profiles and properties<\/strong> <\/li>\n<li>Click <strong>View profile properties<\/strong> <\/li>\n<li>Scroll to the bottom of the page and find the <strong>Custom Properties<\/strong> section <br \/>\n    <a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_40.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"101\" alt=\"image\" width=\"401\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_19.png\" \/><\/a> <\/li>\n<li>Click the <strong>State property<\/strong> and select the <strong>Edit<\/strong> option from the drop down menu <\/li>\n<li>In the Usage section, verify the number of user profiles which are using the State property is accurate.  In this example only one user will have the State profile property information populated because the same database contains only one row of information. <br \/>\n    <a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_42.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"110\" alt=\"image\" width=\"616\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_20.png\" \/><\/a> <\/li>\n<li>Perform the same verification for the City profile property. <\/li>\n<\/ol>\n<p>Next, verify the populated property values were mapped to the appropriate users.<\/p>\n<ol>\n<li>Return to the Shared Services Administration web site. <\/li>\n<li>In the User Profiles and My Sites section, click  <strong>User profiles and properties<\/strong> <\/li>\n<li>Click <strong>View user profiles<\/strong> <\/li>\n<li>Find a user profile in the list which you wish to verify.  In this case I will use the LITWAREINCtoddbaginski account. <\/li>\n<li>Click on the user account name and select <strong>Edit<\/strong> in the drop down menu. <br \/>\n    <a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_46.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"105\" alt=\"image\" width=\"624\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_22.png\" \/><\/a> <\/li>\n<li>Scroll to the bottom of the list and verify the information which matches the user&#8217;s email address in the database is correct. <br \/>\n    <a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_48.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"149\" alt=\"image\" width=\"674\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_23.png\" \/><\/a> <\/li>\n<\/ol>\n<h2>Enhancing the My Site &#8211; My Profile Page<\/h2>\n<p>Now you are ready to enhance the My Site &#8211; My Profile page to display the City and State information from the back end database.  To do this, follow these steps.<\/p>\n<ol>\n<li>Return to the Shared Services Administration web site. <\/li>\n<li>In the User Profiles and My Sites section, click  <strong>User profiles and properties<\/strong> <\/li>\n<li>Click <strong>View profile properties<\/strong> <\/li>\n<li>Scroll to the bottom of the page and find the <strong>Custom Properties<\/strong> section <br \/>\n    <a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_40.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"101\" alt=\"image\" width=\"401\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_19.png\" \/><\/a> <\/li>\n<li>Click the <strong>State profile property<\/strong> and select the <strong>Edit<\/strong> option from the drop down menu <\/li>\n<li>In the Display Settings section check the <strong>Show in the profile properties section of the user&#8217;s profile page<\/strong> checkbox <\/li>\n<li>Click <strong>OK<\/strong> <\/li>\n<li>Repeat the process for the <strong>City profile property<\/strong> <\/li>\n<li>Open a web browser and navigate to the My Site &#8211; My Profile page.  The screen shot below shows the My Site &#8211; My Profile page displaying the City and State User Profile Properties. <br \/>\n    <a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_50.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"224\" alt=\"image\" width=\"452\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_24.png\" \/><\/a> <\/li>\n<li>If you wish to change the header for the properties return to the <strong>View Profile Properties<\/strong> page and edit the name of the Custom Properties section.  For this example, I changed the section name to Employee details<a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_52.png\">.<br \/>\n    <img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"235\" alt=\"image\" width=\"625\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_25.png\" \/><\/a> <\/p>\n<p>    Here you can see the updated category name in the My Site &#8211; My Profile page. <\/p>\n<p>    <a href=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_54.png\"><img loading=\"lazy\" decoding=\"async\" style=\"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px\" height=\"209\" alt=\"image\" width=\"447\" border=\"0\" src=\"https:\/\/toddbaginski.com\/blog\/images\/www_toddbaginski_com\/blog\/WindowsLiveWriter\/HOWTOEnhanceSharePointUserProfilesWithTh_97D2\/image_thumb_26.png\" \/><\/a>  <\/li>\n<\/ol>\n<p>You can download the sample database, and application definition used in this article <a target=\"_blank\" href=\"https:\/\/toddbaginski.com\/blog\/files\/article%20files\/bdc%20user%20profile%20sample%20code.zip\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":1,"featured_media":249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[100,46,97],"tags":[4,5,6,7],"class_list":["post-45","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bcs","category-most-popular","category-sharepoint","tag-bdc","tag-helpful-code","tag-how-to-sharepoint","tag-sharepoint"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data Catalog. Each of the articles takes a different approach to implementing this functionality, however none of the articles provide a prescriptive step by step approach and end to end\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Todd Baginski\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Todd Baginski&#039;s Blog - An AI, SharePoint, Office 365, Azure, Power Apps, Power Platform, and Mobile Blog\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog - Todd Baginski&#039;s Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data Catalog. Each of the articles takes a different approach to implementing this functionality, however none of the articles provide a prescriptive step by step approach and end to end\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/toddbaginski.com\/blog\/wp-content\/uploads\/2019\/09\/todd-400x400.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/toddbaginski.com\/blog\/wp-content\/uploads\/2019\/09\/todd-400x400.jpg\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2009-03-09T00:35:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2013-07-01T19:59:38+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@toddbaginski\" \/>\n\t\t<meta name=\"twitter:title\" content=\"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog - Todd Baginski&#039;s Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data Catalog. Each of the articles takes a different approach to implementing this functionality, however none of the articles provide a prescriptive step by step approach and end to end\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@toddbaginski\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/toddbaginski.com\/blog\/wp-content\/uploads\/2019\/09\/todd-400x400.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#blogposting\",\"name\":\"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog - Todd Baginski's Blog\",\"headline\":\"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog\",\"author\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/author\\\/todd\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/05\\\/PC080031-e1306876406399.jpg\",\"width\":640,\"height\":249},\"datePublished\":\"2009-03-08T18:35:53-04:00\",\"dateModified\":\"2013-07-01T13:59:38-04:00\",\"inLanguage\":\"en\",\"commentCount\":27,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#webpage\"},\"articleSection\":\"BCS, Most Popular, SharePoint, BDC, Helpful Code, HOW TO: SharePoint, SharePoint\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/toddbaginski.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/category\\\/sharepoint\\\/#listItem\",\"name\":\"SharePoint\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/category\\\/sharepoint\\\/#listItem\",\"position\":2,\"name\":\"SharePoint\",\"item\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/category\\\/sharepoint\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/category\\\/sharepoint\\\/bcs\\\/#listItem\",\"name\":\"BCS\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/category\\\/sharepoint\\\/bcs\\\/#listItem\",\"position\":3,\"name\":\"BCS\",\"item\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/category\\\/sharepoint\\\/bcs\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#listItem\",\"name\":\"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/category\\\/sharepoint\\\/#listItem\",\"name\":\"SharePoint\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#listItem\",\"position\":4,\"name\":\"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/category\\\/sharepoint\\\/bcs\\\/#listItem\",\"name\":\"BCS\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/#person\",\"name\":\"Todd Baginski\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/author\\\/todd\\\/#author\",\"url\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/author\\\/todd\\\/\",\"name\":\"Todd Baginski\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#webpage\",\"url\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/\",\"name\":\"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog - Todd Baginski's Blog\",\"description\":\"If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data Catalog. Each of the articles takes a different approach to implementing this functionality, however none of the articles provide a prescriptive step by step approach and end to end\",\"inLanguage\":\"en\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/author\\\/todd\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/author\\\/todd\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/05\\\/PC080031-e1306876406399.jpg\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#mainImage\",\"width\":640,\"height\":249},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\\\/#mainImage\"},\"datePublished\":\"2009-03-08T18:35:53-04:00\",\"dateModified\":\"2013-07-01T13:59:38-04:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/\",\"name\":\"Todd Baginski's Blog\",\"description\":\"An AI, SharePoint, Office 365, Azure, Power Apps, Power Platform, and Mobile Blog\",\"inLanguage\":\"en\",\"publisher\":{\"@id\":\"https:\\\/\\\/toddbaginski.com\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog - Todd Baginski's Blog","description":"If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data Catalog. Each of the articles takes a different approach to implementing this functionality, however none of the articles provide a prescriptive step by step approach and end to end","canonical_url":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#blogposting","name":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog - Todd Baginski's Blog","headline":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog","author":{"@id":"https:\/\/toddbaginski.com\/blog\/author\/todd\/#author"},"publisher":{"@id":"https:\/\/toddbaginski.com\/blog\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/toddbaginski.com\/blog\/wp-content\/uploads\/2011\/05\/PC080031-e1306876406399.jpg","width":640,"height":249},"datePublished":"2009-03-08T18:35:53-04:00","dateModified":"2013-07-01T13:59:38-04:00","inLanguage":"en","commentCount":27,"mainEntityOfPage":{"@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#webpage"},"isPartOf":{"@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#webpage"},"articleSection":"BCS, Most Popular, SharePoint, BDC, Helpful Code, HOW TO: SharePoint, SharePoint"},{"@type":"BreadcrumbList","@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/toddbaginski.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/#listItem","name":"SharePoint"}},{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/#listItem","position":2,"name":"SharePoint","item":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/","nextItem":{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/bcs\/#listItem","name":"BCS"},"previousItem":{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/bcs\/#listItem","position":3,"name":"BCS","item":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/bcs\/","nextItem":{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#listItem","name":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog"},"previousItem":{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/#listItem","name":"SharePoint"}},{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#listItem","position":4,"name":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog","previousItem":{"@type":"ListItem","@id":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/bcs\/#listItem","name":"BCS"}}]},{"@type":"Person","@id":"https:\/\/toddbaginski.com\/blog\/#person","name":"Todd Baginski"},{"@type":"Person","@id":"https:\/\/toddbaginski.com\/blog\/author\/todd\/#author","url":"https:\/\/toddbaginski.com\/blog\/author\/todd\/","name":"Todd Baginski"},{"@type":"WebPage","@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#webpage","url":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/","name":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog - Todd Baginski's Blog","description":"If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data Catalog. Each of the articles takes a different approach to implementing this functionality, however none of the articles provide a prescriptive step by step approach and end to end","inLanguage":"en","isPartOf":{"@id":"https:\/\/toddbaginski.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#breadcrumblist"},"author":{"@id":"https:\/\/toddbaginski.com\/blog\/author\/todd\/#author"},"creator":{"@id":"https:\/\/toddbaginski.com\/blog\/author\/todd\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/toddbaginski.com\/blog\/wp-content\/uploads\/2011\/05\/PC080031-e1306876406399.jpg","@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#mainImage","width":640,"height":249},"primaryImageOfPage":{"@id":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/#mainImage"},"datePublished":"2009-03-08T18:35:53-04:00","dateModified":"2013-07-01T13:59:38-04:00"},{"@type":"WebSite","@id":"https:\/\/toddbaginski.com\/blog\/#website","url":"https:\/\/toddbaginski.com\/blog\/","name":"Todd Baginski's Blog","description":"An AI, SharePoint, Office 365, Azure, Power Apps, Power Platform, and Mobile Blog","inLanguage":"en","publisher":{"@id":"https:\/\/toddbaginski.com\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"Todd Baginski's Blog - An AI, SharePoint, Office 365, Azure, Power Apps, Power Platform, and Mobile Blog","og:type":"article","og:title":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog - Todd Baginski's Blog","og:description":"If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data Catalog. Each of the articles takes a different approach to implementing this functionality, however none of the articles provide a prescriptive step by step approach and end to end","og:url":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/","og:image":"https:\/\/toddbaginski.com\/blog\/wp-content\/uploads\/2019\/09\/todd-400x400.jpg","og:image:secure_url":"https:\/\/toddbaginski.com\/blog\/wp-content\/uploads\/2019\/09\/todd-400x400.jpg","article:published_time":"2009-03-09T00:35:53+00:00","article:modified_time":"2013-07-01T19:59:38+00:00","twitter:card":"summary","twitter:site":"@toddbaginski","twitter:title":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog - Todd Baginski's Blog","twitter:description":"If you look hard enough you can find several articles on the Internet which describe different ways to enhance SharePoint User Profiles with the Business Data Catalog. Each of the articles takes a different approach to implementing this functionality, however none of the articles provide a prescriptive step by step approach and end to end","twitter:creator":"@toddbaginski","twitter:image":"https:\/\/toddbaginski.com\/blog\/wp-content\/uploads\/2019\/09\/todd-400x400.jpg"},"aioseo_meta_data":{"post_id":"45","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2022-02-14 15:51:35","updated":"2025-06-03 20:48:28"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/toddbaginski.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/\" title=\"SharePoint\">SharePoint<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/bcs\/\" title=\"BCS\">BCS<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHOW TO: Enhance SharePoint User Profiles With The Business Data Catalog\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/toddbaginski.com\/blog"},{"label":"SharePoint","link":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/"},{"label":"BCS","link":"https:\/\/toddbaginski.com\/blog\/category\/sharepoint\/bcs\/"},{"label":"HOW TO: Enhance SharePoint User Profiles With The Business Data Catalog","link":"https:\/\/toddbaginski.com\/blog\/how-to-enhance-sharepoint-user-profiles-with-the-business-data-catalog\/"}],"_links":{"self":[{"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/posts\/45","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":5,"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"predecessor-version":[{"id":824,"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/posts\/45\/revisions\/824"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/media\/249"}],"wp:attachment":[{"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/toddbaginski.com\/blog\/wp-json\/wp\/v2\/tags?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}