By now most of us know that in SharePoint 2010 we have Metadata Services which help us manage the cotent types across site collections, web apps, farms. It helps us define a hub site collection (to say it is the place where we define our all content types and we can also call it as PROVIDER OF CONTENT TYPES). Lot of information is already available on this on net.
So I thought of trying this wonderfull feature and followed the steps:
1. Created a new site collection called PROVIDER HUB Content Types.
2. Added this as a Hub in the Metadata Service Application
3. Associated the Web App to this service
4. Created a Content Type “MyFirstContentType” in the hub site collection (step 1)
5. Created a new site collection CONSUMER, and now I assumed that this content type to should be available (as the web-application for this site collection uses the same Managed Metadata Service. But to my surprise that CT was not available. I thought my understanding is wrong about this new feature so I tried to look around and found that:
a. I checked the managed metadata service proxy and made sure the checkbox for the option to Consume content types from the content type gallery and Push down content type publishing updates from the content type gallery. So basically all 4 checkboxes were checked.
b. Then realized that there are two important TIMERJOB “Content Type Subscriber” for every consuming web-app & “Content Hub Job” that I could see in the Central Admin so I manually kicked the two timer jobs: Content Hub job, and then the Content Type Subscriber job.
c. That’s it now I had the new content type in my Consumer web-application.
So just remember if you make any changes to the CONTENT TYPES in the HUB site collection and want it to be propagated immediately to the CONSUMING site-collections, lists, libraries just go to the Central Admin and manually kick of the CONTENT TYPE SUBSCRIBER TimerJob, this will ensure that the content type changes are propagated immediately to all the consuming list/libraries for that web-app. Remember that this timerjob is one per web-app.