工作流关联和初始表单 (Microsoft SharePoint Server 2010)

上次修改时间: 2010年4月6日

适用范围: SharePoint Server 2010

本文内容
指定关联表单
关联表单处理
指定初始表单
初始表单处理

在开始工作流之前,可以向用户显示关联和初始表单,以便他们可以提前为工作流设置参数和其他信息。当工作流应用于特定的列表、库或内容类型时,关联表单处理工作流;当工作流应用于特定的 SharePoint 项目时,初始表单处理工作流。

还可以在工作流模板定义中包含预关联数据。例如,您可能希望使用默认值预先填充关联表单上的字段。

有关关联和初始表单的更多概念信息,请参阅 Microsoft SharePoint Foundation SDK 中的工作流关联表单和初始表单 (Sharepoint Foundation)

指定关联表单

对于所有工作流表单,可以在工作流模板定义 XML 中指定工作流的关联表单。为此,请编辑两个 XML 元素。

  1. 将 Workflow 元素的 AssociationURL 属性的值设置为"_layouts/CstWrkflIP.aspx"。这是随 Microsoft SharePoint Server 2010 提供的 .aspx 页面;此页面包含用于承载 Microsoft InfoPath 2010 工作流关联表单的 InfoPath Forms Services Web 部件:

    AssociationURL ="_layouts/CstWrkflIP.aspx"
    

    备注

    SharePoint Server 2010 在工作流模板定义中支持绝对路径或相对于服务器的路径。您必须按以下格式之一表示所有表单路径 URL。例如,绝对路径(如 "http://site/library/page.aspx";)或相对于服务器的路径(如 "/layouts/page.aspx")。Office SharePoint Server 2007 并不支持在工作流模板定义中修复链接。

  2. Association_FormURN 元素添加到工作流模板定义中的 Metadata 元素。使用此元素可以指定您要用于工作流关联的 Office InfoPath 2007 表单的 URN。例如:

    <Association_FormURN>urn:schemas-microsoft-
        com:office:infopath:workflow:ReviewRouting-Assoc
    </Association_FormURN>
    

    如果您要向关联表单提供自定义数据,您可以在 AssocationData 元素中存储此信息。例如,当显示关联表单时,您可以使用此元素来存储要传递到关联表单中的默认值。AssocationData 元素可以包含任何有效的 XML。

有关工作流定义架构的详细信息,请参阅 Microsoft SharePoint Foundation SDK 中的工作流定义

关联表单处理

当管理员选择要与给定的列表、库或内容类型相关联的工作流时,SharePoint Server 2010 显示"添加新工作流"页面;在该页面中,管理员可以指定所有工作流通用的设置,如工作流定义、启动条件以及是对项目、文件夹还是同时对这两者运行工作流。

当管理员在此页面上单击"下一步"按钮时,SharePoint Server 2010 将在工作流模板定义中检查 Workflow 元素的 AssociationURL 属性,以确定要加载的正确 .aspx 页面。对于 InfoPath 2010 表单,开发人员可以将此值设置为 _layouts/CstWrkflIP.aspx。SharePoint Server 2010 加载此页面,其中包含用于承载自定义表单的 Office InfoPath Forms Services Web 部件。然后,此页面检查工作流模板定义 XML 的 Association_FormURN 元素,以确定要承载的正确 InfoPath 2010 表单。此外,此 Web 部件将 AssocationData 元素中存储的任何数据都传递到 InfoPath 2010 表单。

当管理员提交对表单所做的更改时,CstWrkflIP.aspx 将数据作为 XML 字符串传回到 SharePoint Server 2010。此数据存储在表示该工作流关联的 SPWorkflowAssociation 对象的 AssociationData 属性中。

指定初始表单

若要指定 InfoPath 2010 工作流初始表单,您必须编辑工作流模板定义中的两个元素。

  1. 将 Workflow 元素的 InstantiationURL 属性的值设置为"_layouts/IniWrkflIP.aspx"。这是随 SharePoint Server 2010 提供的 .aspx 页面;此页面包含用于承载 InfoPath 2010 工作流初始表单的 Office InfoPath Forms Services Web 部件:

    InstantiationURL="_layouts/IniWrkflIP.aspx"
    

    备注

    SharePoint Server 2010 在工作流模板定义中支持绝对路径或相对于服务器的路径。必须按以下这些格式之一表示所有表单路径 URL。例如,绝对路径(如 "http://site/library/page.aspx")或相对于服务器的路径(如 "/layouts/page.aspx")。SharePoint Server 2010 并不支持在工作流模板定义中修复链接。

  2. Instantiation_FormURN 元素添加到工作流模板定义中的 Metadata 元素。使用此元素可以指定您要用于工作流启动的 InfoPath 2010 表单的 URN。例如:

    <Instantiation_FormURN>urn:schemas-microsoft-
        com:office:infopath:workflow:ReviewRouting-Init:1033
    </Instantiation_FormURN> 
    

初始表单处理

当用户对于给定的项目启动工作流时,SharePoint Server 2010 将检查工作流模板定义 XML 中的 Workflow 元素的 InstantiationURL 属性,以确定要加载的正确 .aspx 页面。对于 InfoPath 2010 表单,开发人员可以将此值设置为 "_layouts/IniWrkflIP.aspx"。SharePoint Server 2010 加载此页面,其中包含用于承载自定义表单的 Office InfoPath Forms Services Web 部件。然后,此页面检查工作流模板定义 XML 的 Instantiation_FormURN 元素以确定要承载的正确 InfoPath 2010 表单。此外,此页面将相应 SPWorkflowAssociationAssociationData 属性中存储的关联数据作为 XML 字符串传递到 InfoPath 2010 表单中。此数据充当表单的主要数据源。

当用户提交对于表单的更改时,IniWrkflIP.aspx 将数据作为调用 StartWorkflow 方法的一部分传回到 SharePoint Foundation 对象模型。

SharePoint Server 2010 中的工作流管理器在 SharePoint 项目上创建工作流的实例。工作流管理器将使用初始表单收集的数据传递到工作流自身的 OnWorkflowActivated 事件。

请参阅

任务

如何:设计 InfoPath 工作流表单

如何:访问工作流中的关联和初始表单数据

如何:设计使用关联和初始数据的工作流表单

概念

SharePoint Server 2010 中的工作流

工作流的 InfoPath 表单

工作流修改表单 (Microsoft SharePoint Server 2010)

工作流任务表单 (Microsoft SharePoint Server 2010)

其他资源

Workflow Definition Schema for InfoPath Forms