I love content types in SharePoint. They’re an important part of a well-defined Information Architecture (IA) and have many benefits. Anyone who’s been around the SharePoint space for a while knows they’re certainly not new, however modern SharePoint has introduced some new ways of leveraging them. If you’re creating lists and libraries in SharePoint, content types are a way of organizing your content both within and across your environment. Although there may not always be a case for leveraging content types, there are some key benefits of using them you should consider before deciding not to. These benefits include:
For the remainder of this post, I’ll discuss these benefits and give a tip for each one!
Before we start… Content Type Setup
The following document custom content types will be used as examples:
- Content Type: Invoice
- Metadata included: Invoice #, Invoice date, Invoice amount, Customer #, Invoice Status
- Content Type: Sales Order
- Metadata included: Order #, Order date, Order details, Customer #, Order Status
Benefit 1: Consistency
Content types are a great way of providing consistency across your environment. You can define them at the following levels:
- Subsite level (although I would NOT recommend this level. Much better to have a flat architecture and define them at the site collection level)
- Site Collection by adding them at the root site level of a site collection. This can be done manually, using site scripts and site designs, or PnP Provisioning techniques depending on how much you want to scale your content types across your environment.
- Tenant by adding them into the content type hub and then publishing them to all subscribing site collections (I believe this capability will eventually be usurped with the SharePoint Hub functionality below)
- coming soon… SharePoint Hub. All site collections joined to a Hub will be able to use the content types published in the Hub (announced at Microsoft Ignite conference)
Why is this important? Consistency allows us to rely on how something is described in our environment and, when we can rely on it, we can use it to build solutions across our environment. In the above example, if the Invoice content type was deployed to many sites, we can guarantee that the required metadata will be prompting the end-user to fill it in. If the metadata is filled in consistently across the environment, we can search on it, report on it and gain insights on all invoices for our environment. An invoice is an invoice is an invoice. Someone hasn’t decided to store invoices in their own library and not include the Invoice date, for example. Well, maybe they will, but that’s a governance issue. 😊
Tip: Spend some time thinking about how much metadata should be included in your content types. There is a sweet spot you should aim for to balance the business value of what you’re trying to achieve with the end-user experience of filling it in. Too much will frustrate an end-user.
Benefit 2: Templates
Templates also provide consistency (Benefit 1), but in a different way. A recent announcement by Microsoft allows you to add a document template to a list/library. (Announcing new file template management for document library content types) When you do this, it adds the template as an option when a user selects the New command bar action. Although not associated to a content type visibly in the list/library, it allows the end-user to easily leverage document templates in a library. You can also associate a document template to any of the custom content types you’ve added to a library. For example, if you added a new template called ‘Tailspin Invoice.docx’ to a library, you can change the content type its associated with.
Announced at Microsoft Ignite 2018, in the future, the ability to manage content types centrally will be introduced (will include both metadata and templates) which will allow for a “global” definition of a content type across your entire environment.
Tip: Teach information workers about the new Template feature so they can add their own commonly-used templates to their libraries for improved consistency.
Benefit 3: Filtering
Once you include custom content types on a list/library, you can add it as a piece of metadata on views. If you have multiple content types in the same library, you can filter the list by content type by using the column header and selecting Filter by. This will pop-out the filter pane on the right-hand side of the page where you will be able to select the content type you want to filter on. You can create permanent filtered views as well. In our fictitious example, we could create a view only showing Invoices and another one only showing Sales Orders.
Tip: Teach information workers in your organization how to filter their lists/libraries by content type. Filtering, in general, is a must-have skill for SharePoint!
Benefit 4: Roll-ups
This is an important benefit particularly when the same content type is being used across many sites in your environment. Roll-ups leverage search functionality in the background to look for content matching your search criteria. One of the criteria you can use is… you guessed it… Content Type! For example, if you had a Project Charter content type defined across all Project sites and you wanted to see a list of all Project Charters, you could do that by using a search modern web part (Highlighted Content Web Part) and filtering on the content type property value, SPContentType, of Project Charter. Refer to my recent post demonstrating how to roll-up content based on Content Type: Content Type Filters in Modern SharePoint
Tip: Learn how the search mechanism works in the SharePoint back-end, the importance of managed properties, and how to use them for content types. Important to know is it’s not immediate – new/changed content must be indexed before it will appear in the search results which can take up to 15 minutes.
Benefit 5: Different metadata
The only way to add content with different metadata in one library is to use content types. In our example, if you wanted to store both Invoices and Sales Orders in the same library (each with different metadata), we would add both custom content types to the library which would allow us to add both types of documents and tag each with different metadata. Conversely, if you chose not to use content types and instead, just added all metadata for both Invoices and Sales Orders directly to the library, the metadata would apply to every document in the library whether it was an Invoice or a Sales Order. This means you would add an Invoice document, and still see the metadata for a Sales Order. This would be a confusing end-user experience and would make it challenging to identify what an Invoice really was in your environment.
Tip: in the modern experience, you can select several items/documents in a list/library and edit the metadata, including content type, for all selected items/documents.
Benefit 6: Workflows
Microsoft Flow is aware of content types in your content. Because of this, it can have conditional logic (Switch, Condition) in the Flow based on content types. In our example, we might have a Flow triggered on an Item Added event on the Sales library. The Flow may want to perform different actions if the item added was an Invoice or a Sales Order. If content types weren’t in use, you would have to assume all documents within the library are the same or rely on another piece of metadata on the document to decide which action to take. By using content types, it provides more flexibility in the Flow.
Tip: Leverage content types in your Flow logic to make it smarter and more content-aware.
Benefit 7: Retention
At the recent Microsoft Ignite 2018 conference in Orlando, an important announcement was made for the Information Architects in SharePoint. Here is an excerpt:
“… retention labels can be created by importing the content types that you already use in SharePoint to help streamline the application of retention policies across all your content in SharePoint.”
Link to announcement: What’s new in security, compliance, and administration for SharePoint & OneDrive from Microsoft Ignite. Note: this feature is coming in 2019Q1.
You might be saying to yourself “but we could do that before with Information Management Policies” in SharePoint! Yes, this is true, but you shouldn’t be using those anymore. 🙂 First, because the new retention policies in Office 365 are the new way of applying retention across all Office 365 workloads and you should be moving to that model to future-proof your solutions. Second, if you have both a retention policy and information management policy in effect for the same piece of content, the retention policy will override the information management policy negating the retention you may want to associate with the content type.
I love this announcement from a pure IA perspective. If you’ve been diligent in setting up content types in your environments particularly for content requiring a specific retention behavior, you will be rewarded by there now being the ability to import your content types into the Security & Compliance Center.
Tip: if you have retention requirements specific to a type of content, leveraging a content type may be an easy way to apply the retention control.
Content types are not always required, particularly in collaboration sites across an organization. There are times, however, where they would be beneficial for reasons above. If you’re responsible for provisioning new lists and libraries across your environment, make sure you understand these benefits, so you can make an informed, intentional decision whether to use them or not.
Thanks for reading.
Did you enjoy Joanne’s blog? Read Valo’s newest eBook written by Joanne C. Klein to learn all about Modern Site Architecture!
Stay tuned for more invaluable content from thought leaders in the Microsoft community by following us on social!