Moss + InfoPath 表单工作流开发要点
网上关于Moss+InfoPath表单开发工作流的文章已经很多,再此不再进行太多细节描述.主要介绍一下要注意的地方。
开发过程主要有:InfoPath表单的创建与发布、工作流的创建与部属。
InfoPath表单的创建与发布
- 选择 "仅启用浏览器兼容性功能"
- "表单选项"中的"安全和信任"中设置"完全信任"
- 当表单中需要提取前几步录入的数据时需要添加新的XML数据源。数据源的写法:<z:row xmlns:z="#RowsetSchema" ows_instructions="" />里边要包括所有需要的字段。以ows_开始
- 发布表单时一定要清空访问路径,因为默认是你的发布路径。
- 使用xsd myschema.xsd /c 生成表单基础数据类
工作流的创建与部属
- workflow.xml定义如下:
<?xml version="1.0" encoding="utf-8" ?>
<!-- 自定义方括号中的文本。
填写时,请移除方括号,例如
Name="[名称]" ==> Name="MyWorkflow"-->
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Workflow
Name="TaskWorkflow"
Description="My SharePoint Workflow"
Id="8e932215-59b1-411a-975f-535009e0ebe4"
CodeBesideClass="TaskWorkflow.Workflow1"
TaskListContentTypeId="0x01080100C9C9515DE4E24001905074F980F93160"
CodeBesideAssembly="TaskWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d009dab5391be2ef"
InstantiationUrl="_layouts/IniWrkflIP.aspx"
ModificationUrl="_layouts/ModWrkflIP.aspx"
>
<Categories/>
<MetaData>
<!-- 用于指定 InfoPath 工作流窗体的标记;对于您没有的窗体,请删除标记-->
<!--<Association_FormURN>[关联窗体的 URN]</Association_FormURN>
<Instantiation_FormURN>[实例化窗体的 URN]</Instantiation_FormURN>
<Task0_FormURN>[任务(类型 0)窗体的 URN]</Task0_FormURN>
<Task1_FormURN>[任务(类型 1)窗体的 URN]</Task1_FormURN>-->
<!-- 修改窗体: 为每个修改窗体创建唯一的 GUID-->
<!--<Modification_[唯一的 GUID]_FormURN>[修改窗体的 URN]</Modification_[唯一的 GUID]_FormURN>
<Modification_[唯一的 GUID]_Name>[将在工作流状态页上显示为链接的修改名称]</Modification_[唯一的 GUID]_Name>
-->
<Association_FormURN>urn:schemas-microsoft-com:office:infopath:InitTask:-myXSD-2008-07-25T01-34-13</Association_FormURN>
<Instantiation_FormURN>urn:schemas-microsoft-com:office:infopath:InitTask:-myXSD-2008-07-25T01-34-13</Instantiation_FormURN>
<Task0_FormURN>urn:schemas-microsoft-com:office:infopath:ImplementTask:-myXSD-2008-07-25T01-50-46</Task0_FormURN>
<StatusPageUrl>_layouts/WrkStat.aspx</StatusPageUrl>
</MetaData>
</Workflow>
</Elements>
注意标红的部分,VS2008创建项目的时候是没有的。
- 工作流部署后。需要将InfoPath表单文件Copy到 %Program Files%\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\工作流名称\
- 卸载工作流stsadm -o uninstallfeature -filename 工作流名称\feature.xml
很多示例都不讲怎么卸载啊.