Though search in Microsoft 365 SharePoint is good out-of-the box and you can do a full-text search and refine your results by “File type” and “Last modified”, but what if you want your content be tagged with your custom metadata (e.g. “Article category”), and you want to be able to refine your search results based on this metadata? I’d say it is possible and I’ll provide the solution below. The solution includes working with site term store (creating terms, term groups, term sets), configuring list/library columns and updating site search schema (mapping crawled properties to managed properties).
Tag Archives: Metadata
Fix Microsoft 365 OotB User Profiles Metadata Term Store Mapping
(WIP)
SharePoint User Profiles Metadata
Users of Microsoft 365 can go to “My Microsoft 365 profile”:
and update profile providing some details like birthday, home/mobile phone, summary, education, hobbies, skills and projects. Some properties are text fields, some are metadata. Specifically – projects, “skills and expertise”, “schools and education” and “Interests and hobbies” are backed by metadata:
People can add information free, as the corresponding term store’s submission policy is “Open policy: Users can add terms from a tagging application.” by default.
The Problem
The problem is: all mentioned user profile properties are not connected to term store by default:
and everything users add to their profiles goes to the default “Keywords” term store under “System” term group:
(To ensure – a SharePoint admin can go to “More features” – “User Profiles” – “Manage User Properties” and “Content services” – “Term Store” from SharePoint admin center.)
Obviously, after some time there will be a mess… Universities, hobbies, skills and projects are different subjects and should not be in the same list.
Solution
Once the problem is understood, the solution would be straight-forward:
If you are just implementing Microsoft 365:
- Create a Term Set
- Map User Profile Property to a Term Set
The only you need is to
1. Provide permissions to yourself so you can create a term group and term store:
Under SharePoint admin center – Content Services – Term Store
2. Create a term group, e.g. “User Profile Properties”
and
3. come up with names for your term sets, as default naming is ambiguous/controversial:
How a user can see it in his/her personal profile (Delve) | SharePoint Admin Center User Profiles Properties Display Name | SharePoint Admin Center User Profiles Properties Internal Name |
---|---|---|
Project | Past projects | SPS-PastProjects |
Skills and expertise: Here are some of my professional skills | Skills | SPS-Skills |
Skills and expertise You can also ask me about | Ask Me About | SPS-Responsibility |
Schools and education | Schools | SPS-School |
Interests and hobbies | Interests | SPS-Interests |
Create term set:
Configure submission policy, so users can add terms:
(alternatively, you may want to have closed submission policy but in this case you would pre-create terms so users can choose from existing)
Map User Profile Property to a Term Set
(Under SharePoint admin center – More features – User Profiles – Manage User Properties):
If you already have users with their profiles filled with values
In case you already have users with their profiles filled with values, you need to deal with it, and you have 3 options:
- Inform users about the change and that all values will be lost and ask them to update their profiles again
- (if number of profiles/values relatively small) – just manually write it down and re-create after reconfiguration
- Develop a custom PowerShell script to save all the values and custom PowerShell script to restore the values.
Video tutorial:
10 minutes video tutorial that explains the same: