Subscribe via RSS Feed Connect with me on LinkedIn

Content Type Publishing in SharePoint 2010

[ 24 ] June 6, 2010 |

Overview

In MOSS 2007 there was always the issue of how do we synchronize Content Types across Sit Collections. This was really problematic as it required either some custom coding or alternatively lots of manual configuration. This was also one of the many reasons that clients resorted to using as few Site Collections as possible

Publishing content types through the Managed Metadata Service is an extremly powerful feature of SharePoint 2010 but it does require some steps. The ability now to control content types from a central location and control all aspects of publishing is an amazing feature so check it out!

I have broken this down into three sections: Configuring the Managed Metadata Service, Configuring the Content Type Hub and finally configuring receiving site collections since you need to do all three to get this working, but once you do you can easily update your content types cross site collections and even cross farms!

Configuring the Content Type Hub

The first things to do is to create a Site Collection that will act as our content type hub. This hub will be where we will define the content types that we wish to share out via the Managed Metadata Service.
Some things to note: it doesn’t matter what the Site Collection template that you use but I would suggest using a blank template since you dont get any added overhead of some of the lists that are created.

1) Create a Site Collection and enable the ‘Content Type Syndication Hub’ feature in Site Collection Settings.

This will mark the site collection as our hub that we can expose via our Managed Metadata service. Enable this feature in the Site Collection Features listing.

Enable this feature

Enable this feature

2) Create a Content Type that you wish to publish out.

This is the same as creating a content type in MOSS 2007 but latter on you will have some other options available as shown in the below image. For now just create a content type and add some columns, even cooler you can now create your own Managed Metadata columns that you can use, sweet!

My Content Type

My Content Type

Configuring the Managed Metadata Service (MMS)

Next we have to configure the Managed Metadata Service so that it can expose our content types stored in our hub that we created above. This service will then expose our content types to which ever Web Applications are serviced by it.

1) Create or alter a MMS so that the content type hub is the Site Collection that we created in the first steps.

This will tell the MMS that it is to consume the Content Types from this site collection. To do this go to Central Administration -> Application Management -> Manage Service Applications then click on the  ’Managed Metadata Service’ row and then select ‘Properties‘. Its actually not that easy, if you click on the text you will be taken to the Term Store page which you dont want so just highlight the row and click manage as seen below:

Click on the Properties link to get to the properties page

Click on the Properties link to get to the properties page

Now scroll to the bottom and type in the URL of the Site Collection that we have set up as our Site Collection Hub.
Also check the ‘Report Syndication Errors…” box as well, why wouldn’t you?

Be sure to fill in the Content Type hub with the URL from stage 1

Be sure to fill in the Content Type hub with the URL from stage 1

2) Configure the MMS Connection to consume the content types.

Now we need to tell the service connection where to consume content types from. To be honest I should know the exact difference between the Connection and the Service but I dont, sorry :).
What I do know is that you have to follow the same procedure as above except this time you select the row ‘Managed Metadata Service Connection‘ and then press properties. Don’t click on the actual text or again you will be taken to th area where you can enter term sets.

Once you are there you will see the screen below so select the ‘Consumes content types from the Content Type Gallery..‘ so that this connection will use the content types from our Site Collection.Incidentally you can also make this MMS the default for keyword and term sets if you want to in here as well.

Check the box marked to consume our Content Type Gallery

Check the box marked to consume our Content Type Gallery

3) Create a new Site Collection to consume the Content Types from

Easy enough but remember that the new Site Collection has to be on a Web Application that is being serviced by the MMS that we just configured!

Pushing out content types

We are nearly there. So we have configured the Content Type Hub, set up the Managed Metadata Service and now we are ready to start pushing the Content Types out, but there is a couple more steps unfortunately!

1) Publish out the select Content Types

Now that we have everything set up lets publish our types. Select the content type we created and click on ‘Manage publishing for this content type‘, you should see the screen below. Then click on ‘OK‘ to publish this guy out!

Click OK to publish!

Click OK to publish!

2) Fire off the Timer Jobs for publishing Content Types

Since we are impatient we have to set off the timer jobs ourselves to get this running. Go to Central Administration -> Monitoring -> Review Job Definitions and run the Content Type Hub job, then run the Content Type Subscriber job in that order.

Run the jobs!

Run the jobs!

3) Check out the content types in the receiving Site Collection

Now go back to the receiving site collection and check out the new content types. Click on Site Settings ->Content Type publishing and see the new content types! Or not…

Tags: , ,

Category: How To, Planning, Requirements and Analysis

About Michal Pisarek: Michal Pisarek is the founder of Dynamic Owl Consulting and a Microsoft SharePoint MVP. View author profile.

Comments (24)

Trackback URL | Comments RSS Feed

  1. [...] This post was mentioned on Twitter by Hire SharePoint Dev, Michal Pisarek. Michal Pisarek said: http://bit.ly/bXGqP8 Great article on setting up Content Type Publishing within #Sharepoint #sp2010 [...]

  2. Michael,

    I have a strange one here. It seems that we can’t add metadata to a content type that has been published to another site collection. Have you seen this before?

    Ulysses

  3. Hey Ulysses,
    Did you go into Advanced Settings on the consuming Site Collection and then specify that this content type shouldn’t be read only?

  4. Rafael says:

    A great article, but I wonder if the content type that is published is read-only?
    I have a situation in which I must replicate structures of lists in different site collections and keep them up-to-date, each list can have independent data.
    The use of the content type, is that I need, there is some other alternative?

    Thanks, Rafael

  5. Ofer Gal says:

    I see and changed the content type to be not read only on the consuming site collection.
    I do not see how to create a library of this content type. (it is based on document content type)
    Am I missing a step?

  6. Barry says:

    The problem is each time the content type definition is republished to the subscriber site collections it becomes read only again.

    Testing does appear to show that the columns added at the library level are unaffacted by the republishing though and do remain associated with the desired content type.

    I guess this becomes a governance issue…should designers be able to add additional metadata to lists controlled by content types. If the answer is yes then the training / maintenance requires becomes greater when a content type hub is being used.

  7. Barry says:

    …added to my previous comment. One very strange piece of behaviour which I have been able to reproduce.

    Once I have made my site content type NOT read-only and associated a column with it in the library, I lose the ability to create a new document of that content type via the New button.

    Under New, for the content type in question the option provided changes to:

    ‘Upload a new ‘…which takes me to the upload form.

    This is not good at all!

  8. Lucy Blain says:

    Hiya, Fantastic post thanks! Great clear steps and screen shots. But, I haven’t quite succeeded yet and hoping you can help?

    I have set up the CT hub, and also the Managed MD services.

    At first on publishing my CTs from hub site had error, but I’d used wrong url for hub site (your other post here helped fix that, http://www.sharepointanalysthq.com/2010/11/how-to-change-the-content-type-hub-url/)

    So my CTs are successfully republishing, and then as you suggest, I have manually run the Jobs, these show as successful in the Job history.

    But still no CTs in other Site Collection’s gallery :-(

    (Both Site Collections under same web application, am logged in as site administrator.)

    I’ve checked SharePoint Log files and hard to tell whats gone wrong, here are the log lines showing where it starts to fail!

    w3wp.exe (0×1068) SharePoint Server Taxonomy – MetadataWebServiceApplication.GetChanges called on ‘Managed Metadata Service’ completed.
    w3wp.exe (0×1068) SharePoint Foundation Monitoring – Leaving Monitored Scope (ExecuteWcfServerOperation)
    w3wp.exe (0x1E88) SharePoint Server Taxonomy – Cannot check for changes because no EMM application proxy can be found
    OWSTIMER.EXE (0×2050) SharePoint Foundation Monitoring – Entering monitored scope (Timer Job SchedulingApproval)
    OWSTIMER.EXE (0×2050) SharePoint Foundation Monitoring – Leaving Monitored Scope (Timer Job SchedulingApproval)
    mssearch.exe (0×1214) SharePoint Server Search Propagation Manager – file copy failed (error 0×80070005: Access is denied.

    Many thanks in advance,
    hopefully,
    Lucy

  9. Bijay says:

    Below is a tutorial for creating a content type using SharePoint 2010 using visual studio 2010

    http://www.fewlines4biju.com/2011/05/create-content-type-using-visual-studio.html

    Thanks
    Bijay

  10. Hey Lucy,

    This looks like you do not have the ‘Consume content types from the Content Type gallery at’ value filled in for your service connection.
    Try filling that in and it should work.

    Let me know if you need more help and how to do this but its in the original article of mine that you referenced.

  11. Lucy Blain says:

    Michal – Many thanks for the quick reply, all working now, fantastic.

  12. Awesome Lucy good to hear

  13. Rebecca Ward says:

    I have my Content Syndication Hub working. All sites have the Custom Content Type. One site, (Document Center) however, has the metadata fields grayed out (I think it believes them to be read only), but I have checked via the settings page that the CCT is NOT set to read only, as well as checking via SP Designer. All the other sites allow users to add metadata.

    I have run the stsadm -o activatefeature to add “metadata taxonomy” to sites built on the “blank” template (since for whatever reason, “blank” doesn’t install the feature to allow consumption of metadata by default).

    In addition, my Document Center can see all three SendTo connections (its own, and the two Record Centers that are on another web app – DocCenter is the one with the “read-only” acting Custom Content Type); but the two Record Centers (which share a web app), while having the same Custom Content Type as the Document Center, see that CCT as writeable. They can see each others’ SendTo, but not the one on the DocCenter. Central Admin agrees that the DocCenter SendTo is valid, and I can visit the .asmx page to verify that the XML is well-formed.

    Any suggestions? This is a closed system, so I cannot provide a link. I did follow your instructions on setting this up. And I have set this same system up multiple times on various development environments, and this is the first time that I have run into this problem. What have I missed. All settings seem to be the same on each site.

  14. Hey Rebecca,
    To be honest I don’t really know what the issue could be. Sounds super odd though considering that the other sites worked…
    Sorry that I couldn’t be of more help

  15. Jason says:

    I have created content type hub and sucessfully published new content type to a site collection.

    I want to configure Metadata Properties (Mapping to crawled properties) for SharePoint advance search, how i can do that?? In fact, I can’t find any site columns which i defined in content type hub in crawled properties.

    My question is, can we configure metadata properties if we use publising content type (content type hub is on same web application) ??.

    Thanks,

  16. Tracy Loi says:

    Hi,

    I followed the steps above created a content type hub and custom content type (Inventory); able to see the Inventory in Site Settings/Content Type Publishing in another site collection; but can’t create new document with that custome content type??

    Thanks

  17. Nancy says:

    Must sites have the Publishing Infrastructure enabled in order to consume from the Content Type Hub?

    Are there _any_ key caveats that address whether or not Publishing should be activated on “consumer” sites with regard to the CT hub(at either the site level or the site collection level)?

  18. Daren says:

    Michael,
    I’m a novice at CTS and I’m a little confused. Once I create the CTS it will have it’s own URL, but any site collections that are consuming CTs from it can have a totally different URL? Or must the sites under each site collection fall directly under the CTS?

    ie.
    CTS: http://mycts.com
    Team Site: http://mycompany.com/dept/ar/default.aspx

    OR

    CTS: http://mycts.com
    Team Site: http://mycts.com/dept/ar/default.aspx

  19. Atul says:

    Hey Michal,

    Just wanted to know if you have any recommendation/Best Practice for the CT Hub, like if one should create a separate Web Application for it or any existing web application would do.

    Thanks,
    Atul

  20. Avian says:

    Avian

    We are in process of migration from MOSS 2007 to SP2010. We have lots of migrated site collections and document libraries. We also created our own classification plan. Now we want to update document libraryes content type of each site collection with our own classification.

    What is the best way to do this automatically to save the time, as we have thousands of folders and files in different site collections.

    Please advise

  21. Avian says:

    Helli Michal

    We are in process of migration from MOSS 2007 to SP2010. We have lots of migrated site collections and document libraries. We also created our own classification plan. Now we want to update document libraryes content type of each site collection with our own classification.

    What is the best way to do this automatically to save the time, as we have thousands of folders and files in different site collections.

    Please advise

  22. ramesh says:

    Hai this is ramesh
    Issue:I am creating Content Type Hub but when i am publishing that content type i was face “No valid proxy can be found to do this operation.”
    i was fallow the same : http://blogs.technet.com/b/steve_chen/archive/2011/01/27/sps2010-publishing-on-content-type-hub-throws-error-quot-no-valid-proxy-can-be-found-to-do-this-operation-quot.aspx?CommentPosted=true#commentmessage

    but even also i am getting an error”No valid proxy can be found to do this operation.”

    Please tell me is there any way to rectify this error.
    Thanks,
    Ramesh

  23. [...] in Content Type Hub FAQ and Limitations by Chaks’ SharePoint Corner; not to forget the content type publishing timer jobs that actually push the content types to the [...]

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.