Skip to main content

Content Type Hubs – Publish and Subscribe to Content Types

Good article published in Chaks' Croner

MOSS 2007

Say for example you have a Site Collection Web Application1 and you have created a series of content types to use. Now, you create Web Application2 and find the necessity to reuse the content types created in Web Application 1. There is no way you could share or reference those content types created in Web Application1 in Web Application2. The only way possible is to create or write an application which would install those content types. This situation is pretty common in large organizations. This can be even considered for exposing base content types you use across multiple web applications in the farm.

Below is the diagram representing the above chaos:

SharePoint 2010

SharePoint 2010 now introduces a new feature called Content Type Hubs.Content Type Hub is a central location where you can manage and publish your content types – so now web applications can subscribe to this hub and pull down the published content types from the hub. Even receive updates on the published content types

!

As you can see, the content type hub is exposed to every web application using the Metadata Service Application. So, as long as the web applications use the same Metadata Service Application, the content types will be pushed to those subscribed web applications.

Configuring The Content Type Hub

This is pretty simple.

1) Create the web application and the root site which you want it to be the Hub

2) In the Managed Metadata Service Application (under Central Administration | Application Settings | Service Applications )properties, you can set the Content Type Hub

3) In the Managed Metadata Service Connection, we explicitly tell to consume content types from the hub

4) Now, we can go to our content type hub site, create content types and you should see Manage content type publishing option

5) And publish the same

6) This will publish the content types

Timer Jobs

In order to receive the published content types immediately, you can go and run two timer jobs immediately:

1) Content Type Hub

2) Content Type Subscriber (of the web application which is going to receive the content types updates)

Published Content Types

After running the timer jobs, the content types should be published. Go to your Site Settings | Site Collection Administration | Content Type Publishing

You can see all the published content types here :)

Remember, as long as the Web Application use the same Metadata Service Application the content type hub is using, it can receive the content types from the hub.

Comments

Popular posts from this blog

How to get SPUser or SPGroup from Person or Group field

You have person or group field in SharePoint list and you want to programmatically get the user or person. The below code to gets SPUser from User or Group field in the list when multiple choice and Groups are not allowed in the field: //get SPUser SPFieldUser userField = (SPFieldUser)item.Fields.GetField("Users"); SPFieldUserValue userFieldValue = (SPFieldUserValue)userField.GetFieldValue(item["Users"].ToString()); SPUser user = userFieldValue.User; This part of code would help you to get SPUser when multiple choice is allowed and groups are not allowed: //Multiple choices are allowed SPFieldUser userField = (SPFieldUser)item.Fields.GetField("Users"); SPFieldUserValueCollection userFieldValueCollection = (SPFieldUserValueCollection)userField.GetFieldValue(item["Users"].ToString()); foreach (SPFieldUserValue userFieldValue in userFieldValueCollection) {     Console.WriteLine("     " + userFieldValue.User.LoginName); } And when group...

SharePoint publishing page scheduling

In SharePoint 2010 publishing enabled team site collection is not showing schedule button in publish ribbon. Solution: Here is how to enable it  though the UI: Locate the SharePoint Server Web site on which you want to enable content approval and item scheduling. Click  Site Actions , click  Site Settings , and then click  Modify Pages Library Settings . Under  General Settings , click  Versioning Settings . Click  Yes  next to  Content Approval , and then click  OK . Click  Manage item scheduling .   Click to enable the  Enable scheduling of items in this list  check box, and then click  OK .

Changing Content Type Hub URL

Change the Hub URL through powershell by using: Set-SPMetadataServiceApplication -Identity " " -HubURI " " For Ex: Set-SPMetadataServiceApplication -Identity "Managed Metadata Service" -HubURI "http://contenttype.Domain.Com" When you try to do this you get this rather scary message: This is SharePoint telling you that this is a major thing so be careful! Essentially all your content types that you have published out will be removed if they can, and you have to republish all of your content types out again which can cause some issue.