In SharePoint 2010 two metadata related supports are added which were a big challenges in SharePoint 2007. One Challenges I faced personally was not having the support of taxonomy or hierarchical metadata. Another challenges was the metadata could not be shared across site collection boundaries. So in SharePoint 2010 the following two new features are added to solve the issues:
1. Taxonomy Support:
Taxonomy is a mean of managing data in hierarchy. Though other CMSs have this taxonomy support out of the box, till SharePoint 2007 we had not this support out of the box. But SharePoint 2010 has this support built in. We can now use hierarchical metadata to tag content in SharePoint 2010.
2. Shared Metadata
Prior to SharePoint 2010 there was no way to share metadata across site collection boundaries. So if you ever needed to share metadata then you would go and copy the same metadata in different site collection. Now in SharePoint 2010 there’s a shared service called “Shared Metadata Service” which will facilitate the metadata sharing across the site collection and web application level.
Few definitions associated with Metadata Service
There are two types of metadata that can be associated with an item in SharePoint 2010:
1. Managed Metadata or Taxonomy: As the name suggested these metadata are managed centrally (from central administration). Users with appropriate permission can only add/edit/deleted these kind of metadata. Other users just use these metadata to tag item.
2. Unmanged Metadata or Folksonomies: These unmanged metadata are not managed centrally. If a user find that managed metadata can’t meet his requirement then he can add his own metadata to the item.
Few others terms are described below:
Term: Term is keyword or phrase that can be associated with a content. Simply we can say term is a single node in taxonomy.
Term Sets: A Collection of terms. So simply we can say term sets as a subset of taxonomy.
Term Store: A store (say database) which store all terms.
Managed Keywords: Managed keyword is a kind of metadata field which supports only non-hierarchical list called keyword-set. Managed Keyword columns allows to select from existing metadata store. It also allow to add the keyword to the store if it doesn’t exist already. This is actually an way to implement the Folksonomies.
How to define Term sets and Terms?
Go to Central administration site –> Application Management –> Manage Service Applications (under service applications). Then click Managed Metadata Service and you’ll be landed in the term store properties page. In that page move your mouse on the “Managed Metadata Service” and you’ll get a popup menu “New Group” as shown below:
Figure 1: New metadata group.
Once you create a new group you can create term set and term. In the following figure I have defined one group (Sales System) then I have defined two Term sets (IT Product and Region). Then I have defined different terms under the term sets.
Figure 2: Term sets and terms under group.
Use terms in list/library column
To assign metadata you need to create a column of type “Managed Metadata” for your list or libraries. If you go to add a column to your list you’ll find a new column type “Managed Metadata”. In that column you have two options to set your managed metadata.
- Use a Managed term set: With this option user will just be able to select from available terms. User will not be able to add new terms in the term set. As shown in the following figure, this column will only allow the terms defined in the term set “IT Product”
- Customize your term set: This option is for “Managed Keywords”. With this option selected user will be able to add new term in the custom term set. when you will select this option a new term set will be created for you.
I had created a column ProductType that is bound to the term set “IT Product”. When I landed to add new item page and started typing in the Product Type field, the suggestions were presented as shown below:
Figure 3: Metadata auto suggestion
In summary, the shared metadata service will help much to manage metadata from a central place. Also taxonomy will help better content tagging and better content organization.codeproject