Create a custom content type to be used with CreateTaskWithContentType activity in SharePoint Workflow

Posted: February 10, 2009 in SharePoint
Tags:

Create a folder at C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATEFEATURES for e.g. MyCustomContentTask.

Now add three xml files over there

Name them as

· Feature.xml

· MyCustomContentType.xml

· MyCustomContentTypeColumns.xml

First define your custom content type as following (MyCustomContentType.xml)

Our custom content type would be including two custom columns i.e. one for FirstName and other for LastName.

<?xml version=1.0 encoding=utf-8?>

<Elements xmlns=http://schemas.microsoft.com/sharepoint/>

<ContentType ID=0x0108010011D80FDA18534a3f9A162A1F5D6187F0

Name=My Custom Content Type

Group=Custom Content Types

Description=Custom Content Type

Version=0

Hidden=FALSE>

<FieldRefs>

<FieldRef

ID={9A447D6C-5BB8-4890-80E5-056B60FF6462}

Name=_FirstName

/>

<FieldRef

ID={76CC8E55-59C9-40d6-B46B-A4C1D95B16CB}

Name=_LastName

/>

</FieldRefs>

<XmlDocuments>

<XmlDocument NamespaceURI=http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url>

<FormUrls xmlns=http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url>

<New></New>

<Display></Display>

<Edit></Edit>

</FormUrls>

</XmlDocument>

</XmlDocuments>

</ContentType>

</Elements>

ID- Id of the custom content type

0×0108010011D80FDA18534a3f9A162A1F5D6187F0

0×010801 -The id of the base content type the custom content type should derive from

http://msdn.microsoft.com/en-us/library/ms452896.aspx

Followed by 00.

And a new guid 11D80FDA18534a3f9A162A1F5D6187F0.

Name- Name of the custom content type.

Hidden – Whether or not the users should see the content type.

FieldRefs – Collection of column references. Can contain one or more FieldRef.

FieldRef- Define the fields.

Id – Give a new guid.

Name – Name of the field

XmlDocument – Here we could define our custom form that should open when users creates, edit  task or when the task is displayed.We can simply let it blank if we want to use the same forms that SharePoint uses for the default task.

Now to define the columns that we have just added we’ll put the following information in our MyCustomContentTypeColumns.xml file

For your custom columns (MyCustomContentTypeColumns.xml)

<?xml version=1.0 encoding=utf-8?>

<Elements xmlns=http://schemas.microsoft.com/sharepoint/>

<Field ID={9A447D6C-5BB8-4890-80E5-056B60FF6462}

Name=_ FirstName

DisplayName=First Name

Group=Custom Columns

Type=Note

NumLines=10

Required= TRUE>

</Field>

<Field ID={76CC8E55-59C9-40d6-B46B-A4C1D95B16CB}

Name=_ LastName

DisplayName= Last Name

Group=Custom Columns

Type= Note

NumLines=10

Required=TRUE>

</Field>

</Elements>

Here we have two field tags corresponding to the FieldRef field defined in MyCustomContentType.xml.

ID- It should the same as defined for Field Ref field

Name- Same as defined for Field Ref field.

Type – Note i.e. appear as multiline text box.

Required – To make the field mandatory.

For more info for Field

http://msdn.microsoft.com/en-us/library/ms437580.aspx

And for the Feature.xml

Id – Generate a new guid for the feature

Title – The name for the feature

ElementManifest- Defining the location of the above two files defining our custom content type.

<?xml version=1.0 encoding=utf-8?>

<Feature Id=64CB36F5-BF1A-470e-A27F-213A9F170DA4

Title=My Custom Feature

Description=Represents a custom content type

Version=12.0.0.0

Scope=Site

xmlns=http://schemas.microsoft.com/sharepoint/>

<ElementManifests>

<ElementManifest Location= MyCustomContentTypeColumns.xml />

<ElementManifest Location= MyCustomContentType.xml />

</ElementManifests>

<Properties>

<Property Key=Globallyavailable Value=TRUE />

</Properties>

</Feature>

Now install the feature and activate it using the stsadm tool

stsadm.exe -o installfeature -filename MyCustomContentTask Feature.xml

stsadm -o activatefeature -filename MyCustomContentTask Feature.xml -URL http://localhost:82

Now to use it

Go to your Lists à Settings àListSettings

Scroll down to find Add from existing site content types

Click on it and Select your new content type from Available Site Content Types.

That’s it..


Comments
  1. vinesh says:

    hii
    what is use of edit tag

    if we add some asp page in it when will that asp page show???

  2. vinesh says:

    hii
    what is use of edit tag

    if we add some asp page in it when is that page show???

  3. vinesh says:

    hiii
    what’s the use of

    if we add some form in edit the when will it show that form….

  4. malini says:

    Hi Rana, your posts are too good

  5. Now to use it

    Go to your Lists à Settings àListSettings

    Scroll down to find Add from existing site content types

    Click on it and Select your new content type from Available Site Content Types.

    That’s it..

Share your thoughts

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s