This blog has moved to www.mikeoryszak.com



User Profiles – Creating Custom Properties



This blog has moved... here



The User Profiles in SharePoint Server represent a very robust and flexible way to manage information about the members of your organization.  It can be used to fill the roll of a searchable Employee Directory, used to drive business processes and workflows, and also makes it easier to find people in the organization based on their expertise and user property attributes providing social networking functionality. 

The default properties that are created at the time of installation are just a starting point.  In this article I will show you just how easy it is to create new properties that help support your organization and business processes. 

Planning The New Property

When defining new fields here is a selection of things to consider:

  • Name / Display Name
  • Type – Wide range of field types
  • Length – Cannot be modified in some situations
  • Configure a Term Store Set - Managed Meta Data
  • Policy Setting – Required, Optional, or Disabled
  • Privacy Settings – Field level privacy
  • Edit Settings – User maintained or administrator/system maintained
  • Display Settings – Show on View/Edit/Newsfeed
  • Search Settings – Support for a user Alias (i.e. Employee ID) and if it is Indexed
  • Profile Synchronization – You also have the ability to configure a synchronization with an external system (i.e. CRM, HRIS)

In many cases the options change based on the value of previous options.  A good example is based on the settings with the Type of string (Multi Value) or the Policy Setting.

Create Custom Property Walkthrough

Since I work in consulting, much of our content is very much client focused.  This is a great example of a property that would be very important to us, but not so important for the average company.  In my case, I want to allow consultants to add one or more customer names that they have worked with.  Since this valuable information could potentially be used for a number of purposes, (like tagging) throughout the entire SharePoint environment, I have decided to create a Managed Meta Data Term Set for this property so that we can reuse the content. 

Here is a quick shot of the Client List I created in the Term Store.

Define A Term Set

To create a new property, browse out to the User Profiles Service Application (or whatever your Profile Service App is named) and select the Manage User Properties link.

Manage User Properties

A full listing of the User Properties is displayed with properties organized into sections.  They can be ordered and placed into sections as needed.  To create a new property, simply click the New Property menu item.

New Property

Complete the main Property Settings.  In many cases changes to these settings cannot be made which means the previous property would have to be deleted and recreated.  In this case I created my Clients property and set it to a multi-value string separated by semicolons.  I then pointed it to the Client List Term Set previously configured.


Property Definition

The next set of fields control how the list is displayed and if it can be edited.  In this case, I want to make it an optional property and encourage consultants to maintain the value so I will enable it in each of the Display Settings.  It is not confidential information, so I will be sure to set the Privacy level to Everyone. 


Display and Policy Settings

Here is what the current profile looks like when rendered.  You can see that the Clients field is displayed and each value a link that feeds into the People Search.

Profile View

Once the values have been crawled and are available in the search index, you will start to see results in the people search process. 


People Search

Summary

By extending the User Profiles with custom properties you can leverage the robust platform to support an organization and its unique processes and content.

Related Posts



Follow me on twitter - @next_connect

Digg ThisAdd To Del.icio.us Add To Furl Add To Reddit Add To Yahoo MyWeb Add To Newsvine Add To Google Bookmarks Add To Ask Add To Slashdot

6 comments:

Unknown said...

Hi Mike,
Thanks for this post. Greate to see a practical application for Term stores.

I see you create a custom user property to utilize this term store, but your search results display indicate that the "acme" search did not items found in the "Clients" property but in other standard user properties ( Past projects, summary..)

We have been unable to successfully return searches on custom user properties.
Have you had the same experience?
If you have had a different experience, please do let us know.
Its beginning to look like a SharePoint 2010 bug. Here is a great post outlining the issue:
http://kgraeme.wordpress.com/2010/07/28/sharepoint-user-profile-custom-properties-keyword-search-problem/

Thanks

next_connect said...

I will need to dig a bit deeper into this. The content highlighted in the summary section is the client list, but it was not added as a specific property in the profile display.

Unknown said...

Hi Mike,

Great post, do you know if it's possible to have field validation with any of the custom user properties? e.g. with a telephone number field, disallowing the user to put in spaces or "+" signs for example. We are trying to enforce consitency in the data quality which the users submit.
Many thanks.

Kenny_I said...

I have custom user properties where property is imported from Active Directory. Would this solution work in our case?

next_connect said...

Richard - There are no special validation options like that. For cases like this I've looked at creating custom application pages to update the specific fields or sections.

next_connect said...

Kenny - You can create a custom property and then map it to your custom AD property so that it imports the value.

Post a Comment