In this article we can explore ways of creating a custom content type.
What is a Content Type?
A Content Type is a reusable, shareable metadata. The base type of content type could be an existing content type like:
- Item
- Document
- Folder
- Event
- Task
- Message
- Comment
- Post
Some more information on Content Type:
- Base Type: The base type of the Content Type is System with Id as 0x.
- Example: If you need a common list format or document format across the sites then Content Type is advisable.
- Groups: The content types are organized in groups for eg: List Content Types, Document Content Types and Folder Content Types.
- 3 Important Content Types: They are Item, Document and Folder.
- Feature: A content type can be deployed as a feature.
- Scope: The scope of content type could be specified in the feature as Site, Web etc.

Creating Custom Content Types
We can use the following tools for creating Content Types:
- SharePoint UI
- Visual Studio 2010
- SharePoint Designer 2010
The content type is in XML format so a notepad can also do the job but in a different way.
Creating Content Type using Visual Studio 2010
Now we can try creating a content type using Visual Studio 2010. The SharePoint Developer Tools already contains the template for Content Type creation. Here we are trying to create an Item Content Type with the following fields:
- Title
- Contact Type
Open Visual Studio and create a new project from SharePoint > Content Type.
Enter the name of your content type and click the OK button.
In the next page you will be prompted with the solution type:
Select the option as Sandboxed solution and click the Next button.
In the next page select the base type. You will see a large list of base types possible.
Select the base type as Item and click the Finish button. Expand the Content Type1 and enter the following code in Elements.xml.
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Field ID="{B7410A27-4E0C-42FB-BC6E-07928C43108D}" Name="ContactType" DisplayName="Contact Type" Type ="Choice" >
<CHOICES>
<CHOICE>Personal Contact</CHOICE>
<CHOICE>Official Contact</CHOICE>
<CHOICE>Other Contact</CHOICE>
</CHOICES>
</Field>
<!-- Parent ContentType: Item (0x01) -->









Comments
Join the conversation! Your thoughts help the community grow.