Introduction to Content Types
Published: May 2010
A content type is a reusable collection of metadata (columns), workflow, behavior, and other settings for a category of items or documents in a Microsoft SharePoint Foundation 2010 list or document library. Content types enable you to manage the settings for a category of information in a centralized, reusable way.
For example, imagine a business situation in which you have three different types of documents: expense reports, purchase orders, and invoices. All three types of documents have some characteristics in common; for one thing, they are all financial documents and contain data with values in currency. Yet each type of document has its own data requirements, its own document template, and its own workflow. One solution to this business problem is to create four content types. The first content type, Financial Document, could encapsulate data requirements that are common to all financial documents in the organization. The remaining three, Expense Report, Purchase Order, and Invoice, could inherit common elements from Financial Document. In addition, they could define characteristics that are unique to each type, such as a particular set of metadata, a document template to be used in creating a new item, and a specific workflow for processing an item.
You can use each of the content types in this example on any document library in the site hierarchy, and you can use all of them together on the same document library. When business requirements change, you can modify the content types to meet the new requirements and push down the updates to any document library where the content type is used.
Content types are a means of encapsulating the data requirements for a category of information. A content type can include the following information:
The metadata, or properties, you want to assign to this type. These are represented by site columns added to the list or document library when you add the content type. For more information, see Columns.
Custom New, Edit, and Display forms to use with this content type. For more information, see Custom Information in Content Types.
Workflows available for items of this content type. These can be defined to start automatically based on a selected event or condition, or through user selection. For more information, see the WorkflowAssociations property.
For document content types, the document template on which to base documents of this type. For more information, see DocumentTemplate Element (ContentType).
Any information necessary for custom solutions that are associated with this content type. You can store this information in the content type as one or more XML documents. For more information, see Custom Information in Content Types.
Because content types can be defined independently of any specific list or document library, you can make a given content type available for the lists on multiple SharePoint Foundation sites. This enables you to centrally define and manage the types of content you store in your site collection. For example, you could define a Legal Document content type to ensure that all legal documents track the same metadata, even if those documents are created and stored in multiple sites.
Content types are independent of file formats. For example, suppose you create a content type to represent a business plan. This content type could be applied to any file format. You might have the following:
Microsoft Word documents that contain background information
Microsoft Excel workbooks that contain a financial plan
Microsoft PowerPoint presentations for the venture capital pitch
Windows Media files of demos
SharePoint Foundation list items that contain the specified metadata
You can assign the Business Plan content type to all of these files. You can also assign content types to items that do not have a file at all, such as list items or folders.
You can create column and content types in three ways:
Using the SharePoint Foundation user interface.
Using the SharePoint Foundation object model.
Deploying a Feature that installs the content type based on an XML definition file. For more information, see Using Features in SharePoint Foundation.
Content types that are created at the site level can be applied to child sites or lists. For more information, see Site and List Content Types.