Note: This post is a set-up for a follow-on post: Displaying more properties in search results
SharePoint 2010 includes the User Profile Service that manages individual profiles and ‘My Sites’. A bunch of properties are included by default, such as name, job title, department, location, phone number, email, ‘about me’, skills, interests etc.
It is also easy to create your own custom profile properties. And you can organise them under dedicated sections to call out the additional information you want people to share.
In the screenshot above, I have added some social media properties – Facebook, LinkedIn and Twitter. All three are simply created as new properties of the type ‘URL’. They’ve been organised as part of the standard Details section of the profile.
When a user then goes to edit their profile, they can also complete these additional properties. Depending on the property settings, they may be allowed to control visibility of the properties – seen by everyone, just their colleagues, their team or privately.
And, also depending on the property settings, they may appear on the main profile page (by clicking More Information)
To create a new section within the user profile is easy, simply click ‘New Section’ in the User Profile service application (within the Manage User Properties page). To create a new property, click ‘New Property’ also in the same Manage User properties page.
The image above shows the creation of a new User Profile property. In this example, the property is called ‘Role’. Key points to note:
- It will contain a single value that will be chosen from a menu of choices (that is using a term set from the Managed Metadata service). The Type field is very similar to selecting the type when creating columns in normal lists and libraries. It just has a bit of a geekier user interface to manage. You use string for text fields and choice fields (single value or multiple values). Use HTML for paragraphs and Boolean if you want a checkbox. Quick tip about HTML properties – they will default to a length of 2,000 characters but reset to the overal default of 25 if you have a problem saving the property or the screen refreshes when changing one of the other settings. Make sure you change the length back to 2,000 or it will be a very short paragraph. You can’t adjust later and would have to delete and create a new property to change. Annoying (and yes I’ve had to do it a few times).
- The property is optional – people can choose whether they want to fill it out or not. But they cannot control the visibility for this property – it will be displayed to everyone. The user will be able to edit the property within their profile and it will also be displayed on the profile page (under ‘More information’). If you want to capture sensitive information, it’s important to allow users to control visibility if you want to ensure accurate data is captured.
- This property will be indexed. We are going to use it in search results so it needs to be. Try to avoid indexing non-essential properties to avoid diluting search relevance.
- At the bottom of the image, you can see the fields for mapping a property to another data store, such as Active Directory. We’re not using it for this one but that’s where you set-up such mappings, to either import details from another source to export details from SharePoint into that source.
In the image below, you can see an entire new section added to the User Profile page. 5 properties have been created and displayed in a section called ‘Resourcing’. The first one is a boolean property, hence the check nox. The next three of all strings, one single value, two multi-value, all three using term sets to provide to limit the choices to select form. The final field is an HTML paragraph. Some descriptions have been included to help guide people when filling out the fields.
These properties are going to be used in the next blog post, showing how to modify how search results are displayed…
Additional note about User Sub-Types
SharePoint 2010 includes a new feature called User Sub-Types. This feature allows you to control what properties are displayed on the user profile page. For example, the Resourcing section above could be configured so that it is only visible for people who are part of the Resourcing team. Sounds great but the implementation is rubbish. You have to search and select the users individually to determine which sub-type they are to belong to. Haven’t found a way to either allow individuals to self-select or have a process to automatically select based on other property values. If anyone else has, please shout out how.