Question

In SharePoint 2010 we want to create several different Information Architecture views of our Site Collections. One idea is to use Term Store from the Managed Metadata Service as a way of creating an Information Architecture view (sort of like metadata navigation for Document Libraries).

I'm curious if anyone has used a similar technique to create different Information Architecture views and how the term store was associated to the Site Collection (or Site).

Was it helpful?

Solution

SharePoint has no ability to assign meta-data to a Site Collectin or site directly. There are a few approaches to simulating it for the purposes of search and navigation:

1 - Use the Site Directory. although the 2007 Site Directory was deprecated, it still exists on SharePoint 2010 (for upgrade compatability) and you can turn it on and use it the same as 2007. Basically, it uses a single site collection with a list to to contain metadata and a link to every site collection. You can customize this to capture additional metadata.

Here is a link on how to activate it:

http://msforge.net/blogs/mcpblog/archive/2009/11/24/activate-site-directory-in-sharepoint-server-2010.aspx

2 - Use Meta tags on the default page for each site that can be picked up by search. Maxine Bombardier has a good blog post that presents this innovative approach.

http://blogs.msdn.com/b/maximeb/archive/2010/08/16/adding-metadata-to-your-site-collection-for-a-complete-secure-refinement-enabled-site-directory-on-sharepoint-2007-and-sharepoint-2010.aspx

3 - Use the Site Directory on Codeplex. Some MCS guys put this together as a replacement for the SharePoint 2007 Site Directory. Much the same architecture, but some additional capabilities, etc.

http://spsitedirectory2010.codeplex.com/

4 - Publish a custom content type through the meta-data hub, and then use it on a hidden list in each Site Collection or Site. The hidden list will contain a single row representing the metadata for the site. You could deploy a feature with a custom action that adds a link to Site Settings that links the edit page for the hidden list or implement a custom _layouts page to edit the values, etc. Search will pickup the items just like any other list, and since there is a custom content type, it is easy to use the Search API to filter for just sites.

I prefer #4 myself since you don't have to monkey with managing a Site Directory site collection and timer jobs to keep it updated. Metadata is stored directory on the site itself so it is easier to keep it updated, and it is search friendly.

OTHER TIPS

how about using the Property Bag of the site. Every site and site collection has a unique Property bag that you can add properties to. Open your site with SharePoint Designer, and click on the "Site Options" icon in the Site Toolbar to see what values are in the current properties. You can add, update, remove properties from there.

You can use Property Bags to store metadata. You can store and retrieve metadata at the following levels:

  • Farm
  • Web application
  • Site collection
  • Site

If you want to store some data specific to site collection, you can do as :

SPPropertyBag Bag =  site.RootWeb.Properties;
if (!Bag.ContainsKey("PropertyName"))
{            
      Bag.Add("PropertyName", "PropertyValue");
      Bag.Update();
}

If you need more spohisticated way to do it via code, check out the Configuration Manager for SharePoint.

If you dont want to code, you can do it with SharePoint designer (like Jeff mentioned) or try a utility from codeplex: SharePoint Manager 2010

Also I would like link a related question asked before : Meta data on site collection and/or site?

Property bags cannot be indexed by the crawler. Making the meta-data only useful within the site collection itself. You would need to use one of the above defined methods to actually make the meta-data fields searchable.

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top