Update March 2013 – Please note that this article refers to only SharePoint 2010 and SharePoint 2013 On-premises. Both managed metadata and content type hub are pre-configured in Office 365 and SharePoint Online tenants.
Here are the high level steps you need to follow to configure Managed Metadata Service Application and Content Type Hub in your SharePoint 2010 On-Premises farm. This article also applies to SharePoint 2013 On-premises farm as well. Alternatively you can download step by step visual guide from my Sky Drive folder.
- Please plan to use this guidance only for Least-Privileged Developer VMs to learn how and what really happens under the hood when you configure Managed Metadata and Content Type Hub. This is more of “How” article instead of “Why” article as a quick reference for me in future. For real-world multi-server farm building scenarios (or even hardcore Developer VMs), please plan to use automated PowerShell scripts like AutoSPInstaller.
- It is also important to note that although I have used SP_Farm account to configure these services upon logging into the server, preferred approach would be using SP_Install account or any other Farm Admin Account with sufficient privileges to configure Services and Service Applications (AutoSPInstaller uses this approach) using PowerShell or Upon logging into the server or using Central Admin from remote server. Discussions about whether to use SP_Install or SP_Farm or any other Farm Administrator account is out of scope of this article.
Configure Managed Metadata Service and Content Type Hub in Single-Server Least-Privileged Developer VM.
Planning and Pre-requisites:
- SharePoint Edition – SharePoint 2010 Standard or Enterprise, This feature is not available in SharePoint 2010 Foundation.
- Service Application Dependency – None
- Logon Account to Configure Service Application – Access to SP_Install or any other Farm Administrator Account to login to the server for Service Configuration. I will be using SP_Farm account in this guide and SP_Farm is local admin on the machine. More specifically, SP_Farm account is domain admin on DC since I am configuring UPA and UPS on single server All-UP VM.
- Managed Metadata Service Application Pool Account Identity – SP_ServiceApps, either already created or access to AD to provision new domain user for service account. Additionally, this account must be configured as Managed Account in the Central Admin. (this step is discussed in this article)
High Level Steps:
- Prepare the Service Accounts for the Managed Metadata Service Application – Niks\sp_serviceapps
- Configure the Managed Metadata Service Application and Managed Metadata Service
- Verify access to the Managed Metadata Term Store in Central Administration
- Ensure Managed Metadata Service Application is associated with the web application hosting both Consumer Site Collection and Publishing Content Type Hub Site Collection
- Provision Content Type Hub Site Collection and Activate Content Type Syndication Hub Site Collection Feature
- Configure Managed Metadata Service to use CtHub Site Collection as Content Type Hub
- Verify Content Type Hub Configuration by publishing and consuming test Site Content Type
Detailed Step by Step Directions:
Step 1 – Prepare the Service Accounts for the Managed Metadata Service Application
For the Least Privileged Setup, create service application domain user account (e.g. Niks\sp_serviceapps). Majority of the service applications along with Managed Metadata Service Application will run under this account identity. Ensure “User cannot change password” and “Password never expires” are checked.
Log in to the server as a farm account (e.g. Niks\sp_farm). Visit the Central Admin and register the “Niks\sp_serviceapps” as managed account. Managed Metadata and other SharePoint Service Applications requires Service Application pool configured as Managed Account in the central administration.
Step 2 – Configure the Managed Metadata Service
Log in to the server as a Niks\sp_farm user. To setup Managed Metadata Service Application properly, please ensure that Managed Metadata Service is already activated on the farm. Please note that this step is NOT mandatory but much more preferred approach. If you don’t start Managed Metadata Service prior to provisioning Managed Metadata Service Application, it would start automatically for you.
Visit the Central Administration -> System Settings -> Manage services on server and verify that Managed Metadata Service is started.
To setup new Managed Metadata Service application, Navigate the Central Administration -> Application Management -> Manage Service Applications to create the new Managed Metadata Service Application.
Click New and select “Managed Metadata Service”
On the new Managed Metadata Service Application creation page, enter the service application name, database name, and default windows authentication.
Enter the Application Pool information. Create the new Application Pool – Specify its name – “SharePoint Service Application Pool” and use the “Niks\sp_serviceapps” as Application Pool identity.
In the Content Type Hub Section, Verify that last option – “Add the Service Application in the farm’s default list” is checked. This will associate this service application to all the web application associated with the default proxy group.
Let’s setup Content type Hub later. We will ignore Content Type Hub settings at this moment and click OK to provision new Managed Metadata Service Application.
Step 3 – Verify Managed Metadata Service Application Configuration
You can visit Term Store by double clicking the Managed Metadata Service Application link. If you get the error saying “The Managed Metadata Service or Connection is currently not available. The Application Pool or Managed Metadata Web Service may not have been started. Please Contact your Administrator.” restart the IIS and it should be working fine.
Verify that Term Store is associated with Managed Metadata Service Application you have provisioned earlier. If you want any other users except farm account, you must configure permissions for those users in Term Store Administrators to allow users to manage Term Store and add new term sets or terms.
For advanced SharePoint IT Pro related verification, please see Appendix in downloadable document (link specified above) to understand what happens under the cover when you provision new managed metadata service application.
In general, when SharePoint provisions new Managed Metadata service application, it typically configures various components on the server:
- Central Administration
- Managed Metadata Service is started and Managed Metadata Service Application and Proxy is created
- Local Farm Account is added with Full Access to the Term Store in the Managed Metadata Service Application Permissions Page
- Associate Managed Metadata Service Application with Content Web Application
- SharePoint Service Application Pool is configured for Managed Metadata service on the Configure Service Accounts page.
- Active Directory
- SharePoint Service Account is added to member of IIS_IUSERS and WSS_WPG group
- New Service Application Pool is created
- New WCF Endpoint for Managed Metadata Service Application is configured.
- SQL Server
- New Managed Metadata Service Application Database is provisioned
- Managed Metadata Service Application Pool Account (e.g. NIKS\sp_serviceapps) is added as Login account on the database Server
- Managed Metadata Service Application Pool Account (e.g. NIKS\sp_serviceapps) is configured with “db_owner” role on the Managed Metadata Service Application database and WSS_Content_Application_Pools role on the SharePoint_Admin and SharePoint_Config database. Additionally, Managed Metadata Service Application Pool Account doesn’t have any access to the content web application database
- SP_Farm account (or any account used to login to Central Admin or run PowerShell to configure Service Application) is configured with “db_owner” role on the Managed Metadata Service Application database.
- Default Web Application Pool Account (e.g. NIKS\sp_defaultwebapp) doesn’t have any access to the Managed Metadata Service Application database.
Step 4 – Provision Content Type Hub Site Collection
It is important to note that you can have only one Site collection as Content Type Hub per Managed Metadata Service Application. There is no specific site template for Content Type Hub. Content Type Hub site collection in SharePoint 2010 are based on standard team site template and requires site collection level “Content Type Syndication Hub” feature activated.
Provision Content Type Hub Site Collection at http://sp2010vm/sites/cthub using Team Site Template from the central administration and activate Site Collection Feature – Content Type Syndication Hub
Step 5 – Configure Managed Metadata Service to use cthub as Content Type Hub
Specify Content Type Hub URL to the Managed Metadata Service Application Properties from the Central Administration. Also, please ensure to check the box next to – Report syndication import errors from Site Collections using this service application.
Update Managed Metadata Service Application connections Properties from the Central Administration to explicitly consume the content type from Hub. Check “Consumes content types from the Content Type Gallery at http://sp2010vm/sites/cthub” on the connection properties.
Step 6 – Verify Content Type Hub Configuration
Define Enterprise Content Type for Policy Document
To ensure custom content types are used across multiple site collections, SharePoint 2010 has introduced new mechanism called Enterprise Content Type. Basically enterprise content types are defined in the content type hub associated with managed metadata service application and publish content type to all site collections in the web application associated with same managed metadata service application.
In our example, we will create content Type – “Company Policy” in the Content Type Hub (http://sp2010vm/sites/cthub/SitePages/Home.aspx), Publish this content type from Content Type Hub, and consume this content type from the root site collection (http://sp2010vm)
To Create Enterprise Content Type, Visit Content Type Hub (in my case – http://sp2010vm/sites/cthub/SitePages/Home.aspx) and create new content type in the Site Collection Content Type Gallery.
Publish Content Type from the Content Type Hub
Once Enterprise Content Types are defined, next step is to publish the content type to the consumer site collections. You can publish the “Company Policy” Content Type by clicking “Manage Publishing for this content type” link from the site content type page in the Content Type Hub.
If you have never published content type, select “Publish” option otherwise ensure “Republish” option is checked before clicking OK.
Consume Content Type from the Content Type Hub
Once Enterprise Content type is published, you can consume “Company Policy” Content Type from consumer site collections. In our example, visit root site collection – http://sp2010vm and you can import content type by visiting “Content Type Publishing Page” from the Site Collection Administration Settings and by selecting “Refresh all published content types on next update”. Content type publishing requests will be picked up by timer job.
Content Type Syndication Timer Jobs
In Production environment, you can wait for Content type publishing requests picked up by timer job. Alternatively, you can force running “Content Type Hub Subscriber” timer job manually to publish content types right away from the central administration.
There are couple of Timer Jobs you have to consider:
- Content Type Hub: There is only 1 timer job at the farm level. This timer job would take any Content Types marked as published from Content Type Hub and make it ready to be picked up by Web Application level timer jobs (discussed next)
- Content Type Subscriber – You will find 1 instance of this timer job per web application. This timer job finishes the second lag of Content Type syndication started by Content Type Hub timer job and push them out to the Consumer Site Collection.
Once content types are published, Enterprise Content Type – “Company Policy” should be available in the consumer site collection content type gallery.
Changing Content Type Hub Association with Managed Metadata Service:
Many of you have noticed that once Content Type Hub is associated with Managed Metadata Service, there is no way to change association from the Central Administration UI. Luckily, Microsoft hasn’t left us in cold & wet. Thanks to SPJoel for this wonderful tip.
You can run following PowerShell command to change association of Managed Metadata Service with different Content Type Hub => Set-SPMetadataServiceApplication -Identity “<ServiceApplication>” -HubURI “<HubURI>”
Above command can be used like this => Set-SPMetadataServiceApplication -Identity “Managed Metadata Service” -HubURI “http://sp2010vm/contenttypehub”
That’s it as far as Step by Step details of configuring Managed Metadata and Content Type Hub.
- Steve Peschka’s Guide – Publish and Subscribe to Content Types in SharePoint 2010 – http://blogs.technet.com/b/speschka/archive/2009/10/30/publish-and-subscribe-to-content-types-in-sharepoint-2010.aspx
- Changing Content Type Hub Association – http://spjoel.wordpress.com/2012/08/06/changing-the-content-type-hub-url/