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.
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.
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.
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.
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.
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.
Once the values have been crawled and are available in the search index, you will start to see results in the people search process.
By extending the User Profiles with custom properties you can leverage the robust platform to support an organization and its unique processes and content.