Editor's Note: The following is a guest post by SharePoint Server MVP Liam Cleary as part of the MVP Award Program Blog's "MVPs for Office 365" series. After 13 years in the IT industry, Liam's career has taken him from an IT Trainer, to a Developer, Network and Server Administrator, Collaboration Consultant and now works as a SharrePoint Solution Architect for SusQtech in Virginia, primarily working with non-profits and associations. His core focus as a solution architect is to ensure that SharePoint can either natively, or with minimal customization, meet the business requirement. Liam is also a five time SharePoint MVP focused on architecture, but also crosses the boundary into development. He is passionate about all aspects of the SharePoint platform and loves to share the good word. He can often be found at user groups or conferences speaking, offering advice or just spending time in the community. Online he can be found at http://www.helloitsliam.com as well as @helloitsliam on twitter.
One of the biggest questions I get either at a conference, by email or even at client meetings is “How do I use the new Term Store capabilities effectively, within my SharePoint environment”. To answer this question first we need to understand why and how it can be used. Firstly the Term Store can be likened to a filing cabinet within a department. This filing cabinet contains multiple draws, which may contain many document dividers which in turn are used to segment documents into logical groups to ease the storing and finding of them later. The Term Store within SharePoint works in very similar way, we can have various groups, which can contain many Term Sets, which hold many Terms whether a single list or a nested structure. These terms can then be surfaced within Site Columns, Content Types, and Web Parts, used as filters, mapped against user profiles or even surfaced within the search interface as refinements. The purpose of this is not to store the files in logical structures like the filing cabinet but allow objects within SharePoint to be tagged and stored anywhere within the site. This tagging mechanism will then allow you to create an easy way to find the exact data that you need.
So let’s begin by first looking at the Term Store and walking through creating a basic Taxonomy structure. In order to follow this you will first need to be granted the correct permissions that will allow you to perform the management tasks. This can be done through Central Administration, by navigating the following path, “Central Administration > Application Management > Manage Service Applications”, then clicking on the service application that has a type of “Managed Metadata Service”. Clicking on this link will display the administrator view where you are able to add users to the “Term Store Administrators” using the standard people picker within SharePoint. Simply select the user account from the people picker and add it as a term store administrator. Once you have made the change and saved these permissions you will be able to work with the term store. There are other permissions that can be set at each group and term set level that we will not go through in this post.
So now we have permission let’s start creating our taxonomy. In the left pane of the Term Store management tool, the various groups are listed within a nested format underneath the root level which is the proxy service for the managed metadata service. By default the root node displays with a system group listed. This system group is actually tied to the “Tags and Notes” capabilities within SharePoint 2010, for ad-hoc terms and folksonomy. For this example we are however going to create a new group that will contain our term sets and terms. To create the new group, right click on the root node and select the “New Group” option. We will call the group “Demonstration Taxonomy Group”. Simply type this name in the left panel and press the enter key to save. Now we are able to set properties of this such as Group Name, Description, Group Managers and Contributors. For now we will not change the default values. Now we are going to create the stub nodes for our two term sets that we are going to create. Firstly select the “New Term Set” option from the dropdown menu that is presented upon mouse clicking on the new group we created. Call this first term set “Interests”, repeat the process and create a second term set called “Document Types”. We will now add the following list of terms to each term set by once again pressing onto the term set and selected the “Create Term” menu item. Create the following underneath “Interests”, Sports, Outdoor Pursuit, Music and Technology. Then “Document Types” as the parent term with these as child terms Proposal, Presentation, Project Plan, Meeting Notes, Agenda and Invoice. Once these have been created you should have the following displayed within the term store management tool.
As you might see these terms are very flat and really would not offer any granular choices when assigning this to files within SharePoint, so to enhance the user experience we will modify the list to be the contain further sub terms for each node. For “Sports”, we will add Football, Soccer, Tennis and Baseball. For “Outdoor Pursuits” we will add Mountain Biking, Skiing, Water Rafting and Camping. For “Music” we will add Salsa, Dance, Rock and Jazz. And finally for “Technology” we will add Phones, Computers, Television, Video and Camera. For the sports category, football and soccer can mean the same thing depending where you may live, so to ensure that you can pick the correct category you are able to add other labels that will allow the user to type what they wish but still find the correct term. To add labels, select the term you wish to modify, and then add the required label to the “Other Labels” section.
This process can also be used with different languages, so for example you may want to add the Croatian translation for baseball as a label.
If we wanted to create a new term set for capturing people’s hobbies for example, we would find that some of the terms being used within the interest’s term set may be the same. We do not however want to re-type them and have multiple terms with the same name. To negate this we have the ability to reuse terms across term sets. To do this press the “Reuse Term” option from the menu on the term set. Now we can select the term(s) we wish to reuse. With this approach you can create very complex structures by reusing values from across the many term sets you may have as well as adding specific terms to the set that do not exist anywhere else.
Now that we have our taxonomy defined we are able to use this within site columns, content types, pages, search as well as various web parts for filtering of content. Within SharePoint you are able to consume the term sets and terms within Content Types as well User Profile Properties against the users of the site. We use our newly created taxonomy within a content type and within user profiles. To create a content type navigate to the site with the following URL: http://{siteurl}/_layouts/mngctype.aspx , create the content type you need. Once saved, you are then able to add site columns to the content type, by pressing the “Add from new site column” if you have not already created it or selecting the “Add from existing site columns” instead. For our content type we are going to create a new site column called “Document Type”, set the type as Managed Metadata with the following term set selected.
Our content type now has the “Title” field and the “Document Type” field we just created and added. If we now navigate to a document library within our SharePoint site we can add this content type to the library so that it displays on the library as one of the “New” options. Ensure that the “Allow Management of Content Types” option is set in the library first. (Document Library > Document Library Settings > Advanced Settings). Now we can add the newly created content type to our list. When we upload a new document we get prompted firstly for the content type and then the terms we want to add to the file.
You are then able to either type and have the control auto suggest items or select the picker icon and browse the term sets and terms that you set within the site column. If we select to create a new document from within the library then we get the following user experience.
Word 2010 loads the properties directly into the user interface where you are able to select the values you wish to store, this is very similar to the web user interface that is native to SharePoint.
So now we have our content type created, document added (more than just this one) and tagged. We will now look at exposing these options within a user profile. Once again you will need to have the specific permissions to do this within the user profile service. This is similar to the approach used for the metadata service we performed earlier. To access the user profile service, access Central Administration > Application Management > Manage Service Applications, then select the one listed with the type “User Profile Service Application”. From here you need to select the “Manage User Properties” link within the People section. This page lists out all of the properties that make up a user profile. You will need to select the “New Property” button from the toolbar. Complete this screen by setting the Name to “DemonstrationInterests”, Display Name to “Demonstration Interests”, Type to String, Length to 25 and then select the “Configure a Term Set to be used for this Property” and then select the “Interests” term set. You will also need to set the Policy settings to “Required”, Privacy Setting to “Everyone”, Allow users to edit the values and then check the “Show on the Edit Details Page” and “Show Updates to the property newsfeed”.
Once completed and saved you can now access your profile page to see how this renders. To access your profile, select the welcome control at the top of the page and select the “My Profile” link that is listed. When the profile renders, select the “Edit Profile” and navigate to the section where this profile property was added, it should be listed in the “Custom Properties” section or whichever section you added it too. Now we can apply interests from the term sets directly against users within SharePoint and search on these later. So now that we have some tagged documents and users profiles tagged with our metadata terms we can perform searches based on these tagged options. Firstly however we are able to filter documents within the libraries and lists using this metadata. The out of the box capabilities allow for filtering within the view, as well as a new feature for 2010, of metadata navigation. The base filtering will list all the possible values that are available to allow for filtering, the caveat is if the managed metadata column is set to multi-value the filtering does not work.
To make use of the metadata based navigation within lists and libraries, access the settings for the library or list and select the “Metadata Navigation Settings” link. You are able to set Navigation Hierarchies as well as Key Filters to display.
This configuration results in the following rendering within the list view web part.
This allows the users to navigate within a list or library in a way that is similar to folders within a network share.
Once you have all your data tagged and stored, outside of using the direct mechanism to filter as described above, search becomes the best approach to retrieving content. To create a better user experience refinements can be added to the search refinement panel, that will list any terms that have been returned in the search results tom allow for direct filtering of the results. By default it will return tags refinement that will return the term typed and any associated tags.
The refinement panel can be modified to add further categories that will help the end users to narrow the search results and find the results that are being searched for. This is done by modifying the core XML used within the search refinement panel web part. For details visit the following TechNet article:
http://technet.microsoft.com/en-us/library/gg193929.aspx
Even though it mentions FAST Search Server 2010 for SharePoint it also applies to base search in SharePoint 2010.
As you can see there are many ways to use Taxonomy within SharePoint 2010, the real key is defining the list of groups, term sets and terms that are, manageable and make sense within your organization. Once you have created the structure you need, SharePoint 2010 is ready and able to surface them in many ways to create an easy and intuitive user experience.