Managed Metadata under the hood

Post date: May 26, 2012 1:53:36 AM

Metadata repository at a logical and physical level 


Physical Level:


Managed Metadata Services Application (MMS); when managed metadata is enabled in our SPS2010 Central Administration Services, a managed metadata service and connection are created automatically. The service identifies the database to be used as the term store, and the connection provides access to the service, so that this service can be consumed by our site collections. 


Logical Implementation:


Managed Metadata Terms (MMT) is a hierarchical collection of centrally managed terms that we can define, and then use in our SPS 2010, for items such as Pages, Lists and Libraries. When we create new managed terms these are stored in the database that is specified in the MMS when we publish a managed metadata service, a URL to the service is created, These URL are then used by our site collections to consume these services. 

Managed Metadata Connections (MMC): To consume managed metadata, a web application such as our Authoring environments in all of our farms must have a connection to a MMS. A Web application can have connections to multiple services, and the services can be local to the Web application or remote to another farm as long as the farm can talk to each other. When a managed metadata service is first created, a connection to the service is created automatically in the same Web application as the service. 


A Term

A term is a word or phrase that can be associated with an item in SharePointServer2010 


Global MMT VS Local MMT 



The development lifecycle of a metadata repository 

OOTB SPS 2010 offers a centralised UI so that Term Sets can be easily and logical created, edited, deleted and managed:




Term Sets can also be imported using a spread sheet. Term Sets can also be programmatically created, edited, deleted however it is a bit more difficult and error prone to go this way. 


IMPORTANT: We cannot use our regular deployment lifecycle to deploy new metadata using Visual Studio solutions. 


As I have explained in the first question, we can consume a MMT as long as the following prerequisites are met:  

View the nature of specific secure farm architecture which uses SQL Authentication between our Authoring and Publishing I can foresee issues such as content migration from Authoring to Publishing breaking, search not be able to properly index and more.



The idiosyncrasies of a SharePoint 2010 metadata repository

I have listed some of the know issues below:







Ampersands are stored as full width ampersands within the MMS database. Working with terms in PowerShell and custom solutions (e.g. exporting terms to CSV) becomes a must, thus preventing Communication access, and writing CAML Query becomes a problem.

PowerShell cmdlets do not contain the same features available in the Taxonomy API

The Get-SPTaxonomySession always retrieves a cached version of the TermStore