Burnett

淡定,执着......
posts - 29, comments - 109, trackbacks - 22, articles - 10
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Workflow.xml和feature.xml节点解释

Posted on 2007-02-27 09:21 Burnett 阅读(...) 评论(...) 编辑 收藏
如果发现代码段功能里没有workflow和feature的选项可以参考一下这篇文章:
http://www.cnblogs.com/xiaoshatian/archive/2006/12/31/608479.html

这篇文章也向您展示了这两个文件的作用。
http://weblog.vb-tech.com/nick/archive/2006/09/04/1760.aspx

我的Workflow.xml的内容:
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    
<Workflow
         
Name="My Workflow"
         Description
="This workflow "
         Id
="9e22a7b0-4fef-411a-b8c2-4ff8cca31e85"
         CodeBesideClass
="HelloSPWF.ApplyWorkFlow" 
         CodeBesideAssembly
="HelloSPWF, Version=3.0.0.0, Culture=neutral, PublicKeyToken=4bfa53b046e311f6"
         TaskListContentTypeId
="0x01080100C9C9515DE4E24001905074F980F93160"
         AssociationUrl
="_layouts/CstWrkflIP.aspx"
         InstantiationUrl
="_layouts/IniWrkflIP.aspx"
         ModificationUrl
="_layouts/ModWrkflIP.aspx">

        
<Categories/>
        
<!-- Tags to specify InfoPath forms for the workflow; delete tags for forms that you do not have -->
        
<MetaData>
            
<Association_FormURN>urn:schemas-microsoft-com:office:infopath:bxd-apply1:-myXSD-2007-02-06T06-43-51</Association_FormURN>
            
<Instantiation_FormURN>urn:schemas-microsoft-com:office:infopath:bxd-apply1:-myXSD-2007-02-06T06-43-51</Instantiation_FormURN>
            
<Task0_FormURN>urn:schemas-microsoft-com:office:infopath:bxd-mark:-myXSD-2007-02-09T08-06-41</Task0_FormURN>

            
<Modification_GUID_FormURN>modificationURN</Modification_GUID_FormURN>
            
<Modification_GUID_Name>Name of Modification</Modification_GUID_Name>

            
<StatusPageUrl>_layouts/WrkStat.aspx</StatusPageUrl>
        
</MetaData>
    
</Workflow>
</Elements>
Element元素中包含的Workflow子节点就是对工作流属性的描述。
   Workflow的属性含义:
  • Name::工作流的名称,将会在站点集功能里标识工作流。
  • Description:工作流的描述,将会显示工作流介绍中
  • Id:工作流的Id,这里的IdGUID,可以使用System.GUid.NewGuid()来获取,也可是使用下面我自己写的一个程序来获得GUid,可以放心的去取,因为对于我们有生之年,这种编号是用之不尽的。
  • CodeBesideClass:这个属性标记了工作流存在于哪一个命名空间下的哪一个类中。在这里我的工作流是存在于HelloSPWF命名空间下的ApplyWorkFlow中的。
  • CodeBesideAssembly 程序集信息,就是部署到GAC(Global Assembly Cache)中的程序集,可以由Reflector获取完整的程序集信息
  • TaskListContentTypeId:任务的内容类型ID,一般不需要修改。
  • AssociationUrl:Association表单的默认路径
  • InstantiationUrl:Instantiation表单的默认路径
  • ModificationUrl:Modification表单的默认路径

    MetaData节点中保存了表单的标识信息,也是我们关心的一个节点。比如我们的一个工作流的应用中,会使用到联合表单(用于SPS管理层在部署工作流到一个项目的时候设定数据信息),初始化表单(工作流启动者填写的表单),还有任务处理表单(用于审批者处理审批信息的表单)。这个工作流使用到的表单由这些表单的URN(Uniform Resource Name,是URI的一个子集)唯一标识,然后存储在MetaData中。

    • Association_FormURN:联合表单的URN
    • Instantiation_FormURN:初始化表单的URN
    • TaskN_FormURN:任务编辑表单的URN,这里的N可以是0,1,2,....,n的自然数,表示不同的任务所使用到编辑表单,比如经理用到的编辑表单也许会和会计使用到的编辑表单有所不同。
    Note:如何获取InfoPath表单的URN

    首先以设计的模式打开InfoPath表单
    1.


    2.

    我的feature.xml的内容
    <Feature  Id="4d44d6cb-50ac-4e2b-a15d-2d9eb0db56d2"
              Title
    ="宸梾璐规姤閿€鍗曞鎵?
              Description="
    宸梾璐规姤閿€鍗曞鎵瑰伐浣滄祦"
              Version
    ="12.0.0.0"
              Scope
    ="Site"
              ReceiverAssembly
    ="Microsoft.Office.Workflow.Feature, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
              ReceiverClass
    ="Microsoft.Office.Workflow.Feature.WorkflowFeatureReceiver"
              xmlns
    ="http://schemas.microsoft.com/sharepoint/">
        
    <ElementManifests>
            
    <ElementManifest Location="workflow.xml" />
        
    </ElementManifests>
        
    <Properties>
            
    <Property Key="GloballyAvailable" Value="true" />

            
    <!-- Value for RegisterForms key indicates the path to the forms relative to feature file location -->
            
    <!-- if you don't have forms, use *.xsn -->
            
    <Property Key="RegisterForms" Value="*.xsn" />
        
    </Properties>
    </Feature>
    Feature节点中的元素标识了工作流的功能描述:
  • Name::节点的名称,将会在站点集功能里标识工作流。
  • Description:节点的描述,将会显示工作流介绍中
  • Id:节点的Id,这里的IdGUID
  • ElementManifests:制定工作流的xml定义文件