Vs2010开发SharePoint工作流2——创建任务内容类型

这里介绍内容类型,主要目的是用工作流任务内容类型,来定制工作流审批的表单页面。

一、VS开发内容类型简单介绍

1.1、内容类型元素

  针对内容类型元素,MSDN上做了详细的分类描述,可以通过下面的各个元素的超链接查看。

     <Elements 元素 (ContentType)>

      <ContentType 元素 (ContentType)>

          <Folder 元素 (ContentType)>

          <FieldRefs 元素 (ContentType)>

             <FieldRef 元素 (ContentType)>

             <RemoveFieldRef 元素 (ContentType)>

          <XmlDocuments 元素 (ContentType)>

             <XmlDocument 元素 (ContentType)>

          <DocumentTemplate 元素 (ContentType)>

1.2、内容类型ID

  内容类型的ID是一长串数字,看着头晕,其实是有规律的,按照以下两个规则可以构造一个有效的内容类型:

  • 父内容类型 ID + 两个十六进制值(两个十六进制值不能为“00”)
  • 父内容类型 ID +“00”+ 十六进制 GUID 

  下图展示了内容类型ID的结构图: 

 1.3、定制内容类型表单页面

  在Vs2010的项目中,右键选择添加新项,找到Application页面,点击创建,如下图  

   创建好Form页面后,可以在内容类型里,设定表单为自定义页面路径。如下所示:
    <XmlDocuments>
    <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
          <FormUrls xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
            <Display>_layouts/xxx/Approve.aspx</Display>
            <Edit>_layouts/xxx/Approve.aspx</Edit>
          </FormUrls>
        </XmlDocument>
      </XmlDocuments>

 二、定制工作流任务内容类型

 2.1、新建内容类型

   右键点击项目名称,点击“Add New Item”,出现下面的界面,选择Content Type,如下图所示:  

  点击Add,出现选择父内容类型的界面,选择"Task",如下图所示:  

  点击完成,添加完成,双击内容类型文件夹中的Elements.xml,默认生成的代码如下图所示:   

   可以到Task的ID是0x0108,生成的是0x010800029c8e3785f34bd29c80768da3f82c11,我在0x0108后面加了个01,表示父类型是工作流任务内容类型。

   最后修改后的代码如下:   

   这里注意一下,<FieldRefs>使用的是父类型的字段,就不用填写了。

   Inherits="TRUE",这个字段要么修改为False,要么删掉,或者FormUrl使用的仍然是默认的。

 2.2、发布内容类型

  新建完成后,点击Deploy,部署到目标站点上。

  然后找到“工作流任务”列表,点击“设置”——高级设置——启动内容类型。

  然后返回设置,点击“从现有网站内容类型添加”,找到自定义的内容类型,确定添加。

  新建一个这个内容类型的项目,试试吧,看是否启用了新的页面。 

 

原文地址:https://www.cnblogs.com/windy2008/p/2134969.html