SharePoint Config

Ari Bakker's thoughts on customising and configuring SharePoint

How we did it: Tag driven Information Architecture using MOSS

with 5 comments

Early last year I was involved in developing a Microsoft Office SharePoint Server (MOSS) based Intranet for the Ministry of Transport. This post explains how we utilised the tagging capabilities provided by MOSS to create this award winning Intranet.

Findability was a major focus for the Intranet. All content entered into the site is tagged with metadata that we can use to display content in a variety of ways. This also allows us to display; tag clouds, contextual navigation, links to related content, enhanced search results, and provide summary views of relevant content from various areas of the site.

Some examples of how this works are:

The homepage for the “Tools and Resources” section of the site that contains a tag-cloud of all the company-wide documents and articles:

Tools and resources homepage

Selecting the “Administration” topic shows all content tagged with the “Administration” value for the “Topic” attribute. Users can then sort and filter the results to further refine the results. Note that the navigation is also driven by the tags that relate to content within the site.

Administration tagged items

A typical page on the site will contain a list of tags, clicking on these will take the user to search results page, showing similarly tagged items.

Page tagging

The search results for the “Manual” content type. Note the search results have been customised to show related tags to help further identify content.

Customised search results

The homepage for the intranet, showing summary views of content from various sections of the website:

Intranet homepage

To build these features we used a combination of custom ASP.NET development and UI customisations using SharePoint designer. The following steps detail the process we used to define and implement the Information Architecture and create these features.

Step 1. Defining the Information Architecture

The first step in the process is defining the content types and attributes that you will use for the site. This step needs to be done by someone who understands the business and the ways in which people work as the information architecture will define how content is categorised and accessed. At Provoke, Information Architects within our Design and User Experience (DUX) team are responsible for this step, and produce an Information Architecture specification that contains a list of the metadata elements that will be used, along with a content type-metadata mapping that defines which attributes will be captured for each content type. A sample of this document is shown below.

One row from the metadata set:


Attributes by content type:

Content Types

Step 2. Creating the Information Architecture

The next step in the process is to create the metadata attributes and content types within MOSS. To do this we created a series of lists that contained the options for each attribute such as Topic or Origin, and then created site columns that referenced these lists. We then created the content types and used the content type-attribute mapping to add the required site columns (attributes) to each content type. The last step in the process was to add these content types to the relevant document libraries. Now when users add content to a document library they are shown the relevant tags based on the type of content they have uploaded.

Document based tagging:

Document tagging

We also created a series of page layouts (one for each content type) so that if users created a page within the site they would be able to tag the content when editing the page:

Page tagging

Step 3. Customising the User Interface

We now have the basic architecture that we need for users to create and tag content appropriately. To make it as easy as possible for users to find what they are after we provided several customisations of the Publishing site template. These were:

  • Aggregating the most popular and recent content on the homepage for each site
  • Using tag clouds to provide access ways into the site
  • Providing contextual based navigation that displayed tag clouds for a given site
  • Displaying related tags on each page, and displaying related articles when users clicked on these tags

Aggregating the most popular and recent content on the homepage for each site

Each site’s homepage contains listings of relevant content drawn from within the current section and/or subsections of the Intranet. To do this we made heavy use of the Data View Web Part. Using SharePoint designer we simply added several Data View Web Parts to each page, and selected the relevant list or library that contained the content. As the Data View Web Part contains a XSL template, our designers were easily able to customise this to provide a rich user interface as shown below:

The homepage for the Intranet, drawing content from several sections of the website:

Intranet homepage

Tag clouds

As an alternative to displaying the most recent or popular content, for sections of the site that had large amounts of content we used the homepage to display tag clouds to provide access ways into the site. To accomplish this we created a component that would calculate the tag counts every time content was updated, and a page layout that contained several Data View Web Parts to display these tags.

Tag lists

Tag based navigation

The metadata lists used for the tag clouds are also used to drive the navigation for sections of the site. Selecting an item in the menu takes the user to a filtered view of the content in the site that the user can then sort or filter further to help find the content they are looking for. This dynamic view of the content means users are not forced to go down a single path to find content, as is the case with tree based navigation structures. Users have the ability to filter by the attributes they feel will return the content they are after. This also has an advantage over search, as users easily sort and filter results with more control.


Related tags

Each content page on the site contains a related tags section that looks at the metadata attributes for the page, and displays each item as a link to search results for a similar item. To achieve this we built a custom ASP.NET user control that we put on each page layout.

Intranet homepage


The MOSS platform provides a great platform for implementing an information architecture that makes it easy for users to find what they are looking for.

Post to Twitter Post to Delicious Post to Digg Post to Reddit Post to StumbleUpon

Written by Ari Bakker

January 22nd, 2008 at 9:01 am

5 Responses to 'How we did it: Tag driven Information Architecture using MOSS'

Subscribe to comments with RSS or TrackBack to 'How we did it: Tag driven Information Architecture using MOSS'.

  1. Your article has been life-changing for me. I was headed down this line of thinking and now have built an interface along the same lines as expressed in your article. At last, out of tree-heirarchy driven menu systems. At last, discoverability for users is a reality. I have added one more element. I set up a search scope on the relevant library and added a Search box web part/ search results page to the system to allow users both the Browse/filter mechanism and Search.

    Thanks for the inspiration.

    David Potter

    1 Oct 08 at 12:16 am

  2. The filtered view of the content shown in the "Tag based navigation" section is a standard document library view web-part, with filters applied. This does not aggregate content from other libraries in the site, but draws data from a single document library within the "Tools and Resources" site. Other sites have similar filtered views of documents, and searching is used to find data across all the sites within the intranet.

    Ari Bakker

    20 Feb 08 at 8:34 am

  3. Thank you for the insightful article!
    I was wondering, how did you implement the filtered view of the content in the site (shown on screenshot in "Tag based navigation")? It looks like a document library view web-part, but AFAIK you cannot aggregate content from different libraries with one of those. Is all site data stored in a single library?


    30 Jan 08 at 4:03 pm

  4. Great work! I've been pushing metadata based site listings, but you've taken it even further to be tag based on EVERYTHING.


    28 Jan 08 at 7:32 pm

  5. Great Article, we have been struggling for a long time now how to generate a Knowledge base and I think this is the solution to our challenge.

    Is there any detailed article I can follow to implement a variation of this solution in house?

    And one small question, how the tags became a link to the right location?

    Thanks it helped a lot as is


    16 Jan 11 at 7:24 am

Leave a Reply