Recently I’ve had a bunch of customers who have custom provisioning scripts where they’re re-creating the same fields in many sites. In this post, I’ll explain how the Content Hub can simplify that process and make future changes much easier.
The Content Hub is simply a SharePoint Site where you can create fields and content types, and then publish them. Other sites can then “pull” them down, where they can be used. If you update the Content Hub field or content type, any sites that are using them will automatically get the update.
A content type is simply a group of fields. A document (or list item) in SharePoint always has a content type assigned to it - you can pick which content type makes the most sense for a particular type of document. For example, a Contract or an Audio File or simply a list item like a Task.
Content types also have other capabilities:
Disclaimer: I have never seen anyone using the retention rules or audit log events. I have no idea if they work well or not.
That’s easy. Go to your SharePoint Admin Center (mytenant-admin.sharepoint.com) and select Content services > Content type gallery.
Did you know? You can populate the value of any field on an item, as long as the content type is added to the list/library. The content type doesn’t have to be explicitly applied to the item.
In the below diagram, I show how a content type makes it from the hub right down to a document:
My favourite feature of this is that if you set up your provisioning system correctly, you can easily spin up new sites or document libraries and then have those documents automatically appear in the search index with the correct default managed property values.
It’s worth again noting that when you publish an update to a content type in your hub, that update will apply everywhere in your tenant where the content type is used.
When you create your content type, be careful to give the fields unique names. Maybe prepend them with a specific piece of text. The reason is that when you attempt to pull the content type down to a site, if there’s a duplicate field already there, the whole content type sync will fail.
When you create the fields, you can only input a display name. This then gets converted to an internal name behind the scenes. To get a nice clean internal name, make your initial display name whatever you want the internal name to be - and then change the display name after.
Sometimes, a content type takes a long time (like an hour) to get pulled to a site. That can interfere with other parts of your provisioning process that rely on it. Make sure your process waits for that asynchronous “pull” to finish before continuing with provisioning views, documents, default field values, etc.
If you want to modernise your SharePoint architecture with content types, or would like to learn more about how we can help, please get in touch!