This is a follow on post to Taxonomy in MOSS (SharePoint Server 2007). Not everyone knows that you can manage columns at the site collection level and then re-use them across libraries. Also, whilst SharePoint doesn't really do taxonomy management, you can use lists to perform some lightweight management, such as controlling what values are used within metadata columns. Here's how to set it all up. Note: if you have multiple site collections, you would need to repeat this process for each site collection. You will need to be a Site Administrator to perform the following steps.
Scenario: We want all documents created or uploaded into any library within the site collection to be classified by Business Unit. To ensure the data entered is consistent, users will be presented with a menu from which to choose the appropriate Business Unit. The menu will be populated with values stored in a SharePoint list. Whenever the SharePoint list is updated (i.e. to add/remove/rename business units), the menu will automatically display the changes. The image below shows the basic architecture:
Image 1: outline architecture
Step 1: Create your taxonomy lists.
Because we are going to create a column that looks up values held in a SharePoint list, first we need to create the SharePoint list. You need to create the list(s) in the top-level site of the site collection (Joining Dots in this example).In the image below, I have created a list called 'Business Unit'. If I want to add an item to the list, I simply click New and enter the title of another business unit:
Image 2: A SharePoint List
Step 2: Create the site column.
The next step is to create the site column that will look up the values in the SharePoint list. Click the Site Actions button at the top-right of the SharePoint page and click 'Site Settings'. (Hint: If you can't see the Site Actions button, you don't have the required permissions - you need to be a Site Administrator). It is important to navigate to the top-level site. On the Site Settings page, view the options under 'Site Collection Administration' (circled in red in the image below). If you don't see the list of options, you should see a single link 'Go to top level site settings'. Click on it.
Image 3: SharePoint Site Collection Administration
Assuming you are at the top level site, under Galleries, click Site columns. You will be presented with a list of the existing site columns. Click 'Create' to create a new one and you will be presented with a page like the one below (the red arrows are mine):
Image 4: Create a SharePoint Site Column
- Give the column a name (in this example, 'Business Unit').
- For the type of column, select 'Lookup (information already on this site)'
- Under Group, for the first time, select New group and give it a name (in this example, 'Our Taxonomy). After that, use the same group. Makes it easy to locate your taxonomy columns
- Under Additional Column Settings, choose if you want the column to be mandatory or not ('Require that the column contains information') and configure the look-up:
- Under 'Get information from:', select the SharePoint list (in this example, 'Business Unit').
- Under 'In this column:', select the column within the list that contains the values you want to use in this column. (In this example, it is 'Title'. You can see the column label on display in image 2)
- Click OK to create the column
Step 3: Configure a document library to use the site column
Navigate to a document library where you want to use this site column. In this example, we have a sub-site called 'Library' containing a document library called 'Documents' (yes, in hindsight, I could have used better names to avoid confusion).
Image 5: A SharePoint document library
In the document library, click the Settings button and do NOT choose the obvious option of 'Create Column'. Instead, select 'Document Library Settings and you will be presented with the screen shown below:
Image 6: SharePoint Document Library Settings
The clue is circled in red again. Click 'Add from existing site columns' and you will be presented with the following screen:
Image 7: Add existing site column
SharePoint has a lot of built-in columns and groups. That is why it helps to use your own group names to organise your own site columns. In this example, the group is called 'Our Taxonomy' and that filters the available site columns to the one and only 'Business Unit'. Select the column and click Add. Make sure the 'Add to default view' check box is selected and click OK.
Back in the document library itself, this time click Upload to add a document to the library:
Image 8: Upload a document
After selecting your document and clicking OK, you will be presented with the form to update any properties (values to be entered into columns):
Image 9: Classify the document
As shown in image 9, the user is presented with a dropdown menu for Business Unit. The list of values in the menu come from the SharePoint list created in step 1. Hey presto. We're done!
Now, it just wouldn't be natural to write a SharePoint post without highlighting at least one gotcha to watch out for... Here are a couple of limitations to be aware of::
- Each time you classify a document, you select and insert a value from the menu. If you look at image 9, there are two similar business units - Accounts and Finance. If we decide that we do not need Accounts, we can delete it from the Business Unit list and it will automatically disappear from the menu, across every document library that references the Business Unit list. However, any documents that have already been classified as 'Accounts' will still show that value in their properties, even though it is no longer available.
- This approach is the best way to ensure consistency in your columns across your sites. However, there is no way to prevent people from creating their own columns at the document library level (see image 5), beyond restricting permissions to prevent access to all document library settings and/or providing good user training.
Filed in library under: SharePoint