Skip to main content
 
Go Search
Home
Categories
Bloggers
Creating a Custom List Definition and Don’t Need the Title Column?
By: Apryl Crossland | Posted: June 28, 2008 at 9:56 AM

The Title column is a required column because a Custom List inherits from Item in SharePoint base content type hierarchy. The Item content type has one required column – Title. So what to do?

Ari Bakker has a great blog about creating a custom list, including xml structure for Site Columns, Content Type and Custom List. In my example I have created site columns, a content type and a custom list for Projects following Ari’s blog. Below are links to open my XML.

Site Columns

Content Type

Custom List

 Let’s start by making a copy of the schema.xml file from the SharePoint Custom List. This will give us a basic schema that we can tweak.  

Add your columns to the fields section, and here is the trick – Change the Name property of one of your text columns to LinkTitle. Internally the list uses LinkTitle for many controls, but your column in the UI will show DisplayName.

    <Fields>

                                <Field ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}"

                                                Name="LinkTitle"

                                                DisplayName="Project Name"

                                                Sealed="TRUE"

                                                SourceID="http://schemas.microsoft.com/sharepoint/v3"

                                                StaticName="LinkTitle" />

                                <Field ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}"

                                                Name="LinkTitleNoMenu"

                                                DisplayName="Project Name"

                                                Sealed="TRUE"

                                                SourceID="http://schemas.microsoft.com/sharepoint/v3"

                                                StaticName="LinkTitleNoMenu" />

                                <Field ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}"

                                                Name="Title"

                                                DisplayName="Project Name"

                                                Required="TRUE"

                                                ShowInNewForm="TRUE"

                                                ShowInEditForm="TRUE"/>

                                <Field ID="{b60d7dac-e8df-4e9f-9c7f-b744f7728cd3}"             

                                                Name="ProjectNumber"             

                                                Group="My Projects Site Columns"             

                                                Type="Text"             

                                                DisplayName="Project Number"             

                                                SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"             

                                                StaticName="ProjectNumber"             

                                                Description="Enter project number (SAP #, IT PIE Project #)."             

                                                MaxLength="50"

                                                DisplaySize="50"

                                                Sortable="TRUE"

                                                Required="TRUE"             

                                                AllowDeletion="FALSE">

                                                <Default></Default>

                                </Field>

                                <Field ID="{4ca657a3-e843-444b-b7f1-56c47d540fc9}"             

                                                Name="ProjectDescripton"             

                                                Group="My Projects Site Columns"             

                                                Type="Note"             

                                                DisplayName="Project Descripton"             

                                                SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"             

                                                StaticName="ProjectDescripton"             

                                                Description="Enter a brief description of the project."             

                                                RichText="TRUE"

                                                RichTextMode ="FullHTML"

                                                NumLines="6"

                                                Sortable="FALSE"

                                                Sealed="TRUE"             

                                                Required="TRUE"             

                                                AllowDeletion="FALSE">

                                                <Default></Default>

                                </Field>

                                <Field ID="{fb04e565-49e9-4a54-b0d6-83bb2c0eafcb}"             

                                                Name="ProjectRole"             

                                                Group="My Projects Site Columns"             

                                                Type="Choice"             

                                                DisplayName="Project Role"             

                                                SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"             

                                                StaticName="ProjectRole"             

                                                Description="Select your main role in the project." 

                                                Sortable="TRUE"

                                                Sealed="TRUE"             

                                                Required="TRUE"             

                                                AllowDeletion="FALSE"             

                                                FillInChoice="FALSE">

                                                <CHOICES>

                                                                <CHOICE>Sponsor</CHOICE>

                                                                <CHOICE>Owner</CHOICE>

                                                                <CHOICE>Project Manager</CHOICE>

                                                                <CHOICE>Team Member</CHOICE>

                                                                <CHOICE>Team Lead</CHOICE>

                                                                <CHOICE>Subject Matter Expert</CHOICE>

                                                                <CHOICE>IT Partner</CHOICE>

                                                                <CHOICE>Conultant</CHOICE>

                                                </CHOICES>

                                                <Default></Default>

                                </Field>

                                <Field ID="{84652802-5863-4d42-8018-5554f69a58fd}"             

                                                Name="ProjectStatus"              

                                                Group="My Projects Site Columns"             

                                                Type="Choice"             

                                                DisplayName="Project Status"             

                                                SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"             

                                                StaticName="ProjectStatus"             

                                                Description="Select the project status."    

                                                Sortable="TRUE"

                                                Sealed="TRUE"             

                                                Required="TRUE"             

                                                AllowDeletion="FALSE"             

                                                FillInChoice="FALSE">

                                                <CHOICES>

                                                                <CHOICE>Pending</CHOICE>

                                                                <CHOICE>Active</CHOICE>

                                                                <CHOICE>Complete</CHOICE>

                                                </CHOICES>

                                                <Default></Default>

                                </Field>

                                <Field ID="{05084a28-be56-4ff6-9af6-d4601fa8f7e6}"             

                                                Name="ProjectComplete"             

                                                Group="My Projects Site Columns"             

                                                Type="DateTime"             

                                                DisplayName="Project Completion Date"             

                                                SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"             

                                                StaticName="ProjectComplete"             

                                                Description=""

                                                Sortable="TRUE"

                                                Sealed="TRUE"             

                                                Required="FALSE"

                                                StorageTZ="UTC"

                                                AllowDeletion="FALSE"             

                                                FillInChoice="FALSE">

                                                <Default></Default>

                                </Field>

                                <Field ID="{8da26d97-b873-4a8c-87fa-5cb093576b7f}"             

                                                Name="ProjectLink"              

                                                Group="My Projects Site Columns"             

                                                Type="URL"             

                                                DisplayName="Project Link"             

                                                SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"             

                                                StaticName="ProjectLink"             

                                                Description="Enter the link to an existing SharePoint site or network file share."             

                                                Sealed="TRUE"             

                                                Required="TRUE"             

                                                AllowDeletion="FALSE">

                                                <Default></Default>

                                </Field>

                </Fields>

 

Once you have done that add your columns to all ViewFields sections. The trick here is to leave both the LinkTitle or LinkTitleNoMenu references and simply add your additional columns.

First ViewFields Section:

        <ViewFields>

                                  <FieldRef Name="LinkTitleNoMenu" />

                                  <FieldRef Name="ProjectNumber" />

                                  <FieldRef Name="ProjectDescription" />

                                  <FieldRef Name="ProjectRole" />

                                  <FieldRef Name="ProjectStatus" />

                                  <FieldRef Name="ProjectComplete" />

                                  <FieldRef Name="ProjectLink" />

        </ViewFields>

 

Second ViewFields Section:

                                  <ViewFields>

                                                  <FieldRef Name="LinkTitle" />

                                                  <FieldRef Name="ProjectNumber" />

                                                  <FieldRef Name="ProjectDescription" />

                                                  <FieldRef Name="ProjectRole" />

                                                  <FieldRef Name="ProjectStatus" />

                                                  <FieldRef Name="ProjectComplete" />

                                                  <FieldRef Name="ProjectLink" />

                                  </ViewFields>

 

So what does it all look like you ask?

 

 
 
 
Voila! Custom List with no apparent Title column and all the control left. Here is the updated schema.xml if you are interested.
 

 About Apryl Crossland

ConsultantApryl Crossland is a consultant for PointBridge. She has over five years of IT experience in various industries from real estate to software development. Prior to PointBridge, she was involved in proj... [more]

 Tag Cloud

 External Links

 ‭(Hidden)‬ Admin Links