In my post yesterday I raised the question about Content Type syndication using the Content Type Hub mechanism, and how this would work together with Lookup Fields, since they don’t support crossing Site Collection boundaries.
Another question is in regard to the “challenges” of using OOXML (docx, dotx, …) templates with Content Types: Office 2007 document templates and Content Types in SharePoint – lessons learned. The main question was whether or not the Content Type Hub would improve the situation.
Configuration
Configure Content Type Syndication
You can follow this quick rundown on the Content Type Hub by Wictor Wilén:
Plan your SharePoint 2010 Content Type Hub carefully
I like the idea of creating a dedicated Site Collection for managing your Content Types.
The Hub: define Content Types and Publishing Settings
I’ve created a Content Type called “Specific Document X” with the following fields:
- a Lookup to the Tasks list
- an Enterprise Keywords field
- a Person field
- a text field called “Simple Field” with a default value CTHUB for the Hub
Next, go into the “Manage publishing for this content type” option of the Content Type settings and Publish the Content Type. See the aforementioned guide on how to make run the Content Type Subscriber Job immediately so you don’t have to wait for results.
The syndication occurs for all Site Collections in all Web Applications configured with the specific Managed Metadata Service.
The Subscriber
In the subscribing Site Collection the Content Type is added after the Subscriber Job has run. Most of the settings are locked down because they’re maintained in the Hub.
You can however go to Site Columns and modify the columns there. Not sure if this is supported
Experiences
Lookup Fields
Lookup Fields are copied if the Subscriber has the Lookup List defined as well. The fields are connected to the list on the Subscriber as expected, since the Site Collection boundary on Lookup Fields still exists.
If the Lookup List does not exist the Field will not be present on the Subscriber. The error log on the Hub will mention this:
Field default values
The “Simple Field” had a default value, which is of course pushed to all Subscribers. You can change the value on the Subscriber if you want, but if the Content Type is Republished in the Hub, the changes will be overwritten.
Document template “challenges”
Once a document is added to SharePoint, a ‘snapshot’ of the Content Type info is inserted as Custom XML Part (OOXML). This XML updates when the Content Type is changed, but it doesn’t when a referenced field changes (like the default value).
I had little hopes for improvement, as this is not really an issue of Content Types but more of the field update mechanism and/or OOXML inner workings.
A quick test with the “Simple Field” proved that this issue still exists in SharePoint 2010, even when changing the default value in the Hub itself, those changes aren’t pushed to the template. So it would definitely not be pushed to the Subscribers. The test with dotx rather than docx didn’t change the outcome.
So in these scenario’s a custom fix up script is still required to force the document template to resync it’s information from SharePoint.
Finally
I’m glad I got an answer to some questions I’ve been having with SharePoint 2010 and the Content Type Hub. I didn’t know what it would bring extra to the table in a SharePoint 2010 environment, but now I have a much clearer image. There’s a lot of potential in the Hub, but as always requires good planning and troubleshooting skills :)