Welcome!

Apache Authors: Jayaram Krishnaswamy, Yeshim Deniz, Bob Gourley, Si Chen, Kevin Benedict

Blog Feed Post

How to: Fix content types that won’t unpublish from a content type hub

I’ve been doing a lot of work with content type hubs and sharing them between multiple SharePoint 2010 and SharePoint 2013 farms.  The main thing I took away from this experience is that.  Content Type publishing is easy to break and hard to fix.  In my particular case, I ended up with content types that were published by one Managed Metadata Service Application and I wanted them to be published by another service application instead.  If you just change the settings on your Managed Metadata Service Application proxy before unpublishing the content types, you are going to end up in a bit of bind.  The old content types won’t unpublish no matter what you do.

Here’s how you fix it.  From here on out we’ll refer to the bad content type hub and the good one.  The bad one being the one where the content types are published from but are no longer wanted.  What I have discovered is that if you change the Content Type Hub Url to an invalid address, we can get the types unpublished.  Run the following command in PowerShell to change the Content Type Hub to an invalid URL such as http://server/contenttypes.  Set the name of the Managed Metadata Service Application as appropriate to your environment.

Set-SPMetadataServiceApplication -Identity "Bad Managed Metadata Service Application" -HubURI http://server/contenttypes

You will get an error that says that it cannot activate the Content Type Hub feature but that is ok.  Now, you need to ensure that the content type hub is activated on the proxy.  Select the following options:

  • Consumes content types from the Content Type Gallery at http://server/contenttypes
  • Push-down Content Type Publishing updates from the Content Type Gallery to sub-sites and lists using the content type.

ManagedMetadataProxySettingsAllSelected

You can leave the other options checked or unchecked as desired.

Once you have configured the proxy, you need to make sure that this service application is associated with the web applications that you are having trouble with in the service application associations.  This may be the case already, but if it is not associated this content type hub won’t be present on the Content Type Publishing page in the site collection.

Now, we need to run a few jobs.  Go to Monitoring –> Job Definitions, and then run the Content Type Hub job.   Do this on the server farm that is hosting the Managed Metadata Service Application.  Check the job history to make sure it executes.  It usually is quite fast.  Now on the farm hosting the web applications that you are having issues with, run the Content Type Subscriber job for each web application.  If you did this right, you should be able to watch the job run on the Running Jobs page.  Sometimes, it takes quite a while.

ContentTypeSubscriberJobRunning

Once, it’s done, you can go back to the subscribing site collection and verify that the content types from the bad content type hub are no longer published.  Now you need to go back to the proxy settings of the bad Managed Metadata Service Application and uncheck the content type hub settings.

  • Consumes content types from the Content Type Gallery at http://server/contenttypes
  • Push-down Content Type Publishing updates from the Content Type Gallery to sub-sites and lists using the content type.

At this point, the bad content types are gone and we need to transition over to the new good Managed Metadata Service Application.  Set the Content Type Hub Uri to the new correct content type hub if you haven’t already.  You can use a similar PowerShell statement like the one we used above.  Next ensure that this service application is in the service application associations for the web applications you want to publish content types to.

Now, you are going to need to republish all of the content types.  Your best bet is to run a PowerShell script to do this.  There are some out there on the Internet, but I’ll post mine to the TechNet script center in the future.  Finally, go to the Content Type Publishing page of each affected site collection.  This is kind of a pain if you have a lot of site collections and I haven’t found a script to automate it yet.

    ContentTypePublishingRefreshChecked

    Finally, run the Content Type Hub job on the farm hosting the good Managed Metadata Service Application.  Once it has finished, run the Content Type Subscriber job on all affected web applications.  With any luck, you should have your published content types working in good order again.

    Read the original blog entry...

    More Stories By Corey Roth

    Corey Roth, a SharePoint Server MVP, is a consultant at Hitachi Consulting specializing in SharePoint and Office 365 for clients in the energy sector. He has more than ten years of experience delivering solutions in the energy, travel, advertising and consumer electronics verticals.

    Corey specializes in delivering ECM and search solutions to clients using SharePoint. Corey has always focused on rapid adoption of new Microsoft technologies including Visual Studio 2013, Office 365, and SharePoint.

    He is a member of the .NET Mafia (www.dotnetmafia.com) where he blogs about the latest technology and SharePoint. He is dedicated to the community and speaks regularly at user groups and SharePoint Saturdays.