What Are Content Types, Anyway?

One of the major new concepts in Windows SharePoint Services V3 is content types. They're a core concept that enables a lot of the functionality in both Windows SharePoint Services and Office SharePoint Server 2007, so they seemed like a logical choice to talk about.

A content type is a reusable collection of settings you want to apply to a certain category of content. Content types enable you to manage the metadata and behaviors of a document or item type in a centralized, reusable way. Basically, content types include the columns (or fields, if you prefer) you want to apply to a certain type of content, plus other optional settings such as a document template, and custom new, edit, and display forms to use.

You can think of a content type as a refinement and extension of a Windows SharePoint Services 2.0 list. The list schema defined a single group of data requirements for each item on that list. So in Windows SharePoint Services 2.0, the schema of an item was inextricably bound to its location.

With content types, you can define a schema for types of content, but that schema is no longer bound to a specific location. And to look at it in reverse, each SharePoint list is no longer limited to a single data schema to which the documents stored there must adhere. You can assign the same content type to multiple document libraries, and you can assign multiple content types to a given document library. Content types, in essence, let you:

· Store the exact same type of content in multiple locations

· Store multiple types of content in the same location

Site and List Content Types: Parents and Children

There are two different levels of content types I should mention: site content types, and list content types. Think of site content types as templates, and list content types as instances of those templates. You define site content types at the um, site level, hence the name. Since site content types aren't bound to a specific list, you can assign them to any list within the site you want. The site at which you define the site content type determines the scope of that content type.

List content types are more like instances, or single-serving content types. When you assign a site content type to a list, a copy of that content type is copied locally onto the list. That's a list content type. You can even tweak a list content type so that it's different from its site content type 'parent'. Also, you can create a content type directly on a list, but it's a one-off. You can't then assign that list content type to other sites or lists.

One other thing about site content types: you can base content types on other site content types. For example, Windows SharePoint Server comes with a built-in hierarchy of content types for basic SharePoint objects, such as Document, Task, Folder, etc. You can create your own site or list content types based on one of these site content types. Ultimately, all content types derive from the grandfather of them all, System.

Also, if you make changes to a site content type, Windows SharePoint Services includes a mechanism whereby you can 'push down', or propagate those changes out to the child content types (be they site or list content types). Doesn't work the other way, though; no pushing changes to child content types up the family tree.

E is for Extensible

You can see how content types were designed to encapsulate and modularize schema settings in Windows SharePoint Services V3. One very powerful aspects of this is that you can use content types to encapsulate whatever custom data you want to include in them. The content type schema includes a <XMLDocuments> node, which you can use to store nodes of any valid XML. As far as Windows SharePoint Services is concerned, the contents of the <XMLDocuments> node is a black box. Windows SharePoint Services makes no attempt to parse any of the XML documents you store there; it simply makes sure that they are included in any children content types, such as when you assign the content type to a list.

The <XMLDocuments> node was designed to be utilized by third-party solutions. Use it to store information pertinent to any special settings or behavior you want to specify for a certain type of content. Office SharePoint Server uses this mechanism to store information various features need, such as information policies and document information panels, among others. You can programmatically access a SharePoint item’s content type, and from there access the XML documents include in the content type.

Find Out More

To learn out more about content types, browse the topics included in the Content Types section in the Windows SharePoint Services V3 (Beta) SDK.

And here’s a few places content types are utilized to facilitate Office SharePoint Server functionality:

Using content types to specify document information panel.

Using content types to specify document to page converters.

Using content types to specify information policy.

 

Written while listening to Bob Mould : Body of Song

Comments

  • Anonymous
    May 26, 2006
    The title pretty much says it all. The two posters I’m offering for download today deal with content types, a core concept in Windows SharePoint Services V3. If you’re planning on using content types, I think it’ll be worth your while to take a look at
  • Anonymous
    May 31, 2006
    The guys at OfficeZealot.com have generously agreed to host a few more of the large-size diagrams I’ve...
  • Anonymous
    June 07, 2006
    Still all 2007 stuff and likely to be that way for a little while! All from the same place today as well,...
  • Anonymous
    June 12, 2006
    Download SharePoint Beta2:

    Important Documentation Prior to SharePoint Beta 2 Installation
    Get...
  • Anonymous
    June 14, 2006
    Today I want to address a piece of SharePoint terminology that confused me no end when I first started working on the products. So, here’s a quick overview of three terms that tend to be used to mean the same thing: column, field, and document property
  • Anonymous
    July 21, 2006
    My last post talked about the OpenXML format and its interoperability with ODF using the converter tools...
  • Anonymous
    December 06, 2006
    Этот пост содержит ссылки на важные материалы, c помощью которых можно качественно повысить уровень знаний
  • Anonymous
    May 18, 2007
    Organizing information and process is one of the most fundamental goals of Systems design, architecture
  • Anonymous
    July 17, 2007
    2007 MOSS Resource Links (Microsoft Office SharePoint Server) Here is an assortment of various 2007 Microsoft
  • Anonymous
    October 03, 2007
    Document and Records Management Definition Document Management According to Wikipedia : &quot;A document
  • Anonymous
    March 12, 2008
    Content Types and CSS Resources
  • Anonymous
    March 12, 2008
    In my sessions last week I stressed the importance of learning about content types, and really stressed
  • Anonymous
    April 10, 2008
    Content types enable you to manage the metadata and behaviors of a document or item type in a centralized,
  • Anonymous
    July 27, 2008
    Document and Records Management Definition Document Management According to Wikipedia : &quot;A document
  • Anonymous
    October 27, 2008
    Windows SharePoint Services Notes
  • Anonymous
    December 20, 2008
    Windows SharePoint Services Notes