SharePoint Foundation 中的工作流简介
上次修改时间: 2010年4月15日
适用范围: SharePoint Foundation 2010
利用工作流,可以向 Microsoft SharePoint Foundation 2010 中的项目附加业务流程。此流程几乎可以控制 SharePoint Foundation 2010 中项目的任何方面,包括该项目的生命周期。例如,可以创建一个简单的工作流,该工作流将文档传送到一系列用户以进行审批。
可以根据业务流程的要求将工作流简单或复杂化。可以创建用户启动的工作流,也可以创建 SharePoint Foundation 2010 基于某些事件自动启动的工作流(例如,何时创建或更改项)。
使用 SharePoint Foundation 工作流
SharePoint Foundation 2010 工作流可供列表或文档库级别的最终用户使用。可以将工作流添加到文档或列表项。也可以将工作流添加到内容类型。对于某个给定的项目,可以使用多个工作流。可以对同一项目同时运行多个工作流,但在任何给定时间内只能对特定项目运行特定工作流的一个实例。例如,可能存在对特定内容类型 Specification 可用的两个工作流(SpecReview 和 LegalReview)。虽然可以对 Specification 内容类型的特定项目同时运行这两个工作流,但不能同时具有对同一个项目运行的 LegalReview 工作流的两个实例。
SharePoint 工作流程技术体系结构
可以使用 Visual Studio 2010 工作流设计器创建工作流。将每个工作流编译为其自身的 DLL。
此外,通过自定义工作流程表单可以将工作流程与用户直接交互。使用工作流程表单,可以在工作流程的每个阶段收集用户提供的信息。
有关使用技术(如 Microsoft ASP.NET)创建工作流表单的信息,请参阅工作流表单概述。
若要在服务器场上安装工作流,则必须创建工作流定义。工作流模板定义是一个 XML 文件,它包含 SharePoint Foundation 在实例化并运行工作流时所需的信息,例如:
工作流的名称、GUID 和说明
此工作流中使用的任何自定义表单的位置
要调用的工作流程序集中的正确的类
有关创建工作流定义的详细信息,请参阅工作流定义。
每个服务器场都包含一个工作流程关联表。在将工作流程应用于特定的内容类型、列表或文档库时,此表中的每一个项都包含该工作流程的关联数据。通常,此关联数据包括是自动启动工作流程还是由用户启动工作流程,以及工作流程的任务和历史记录列表。如果将一个工作流程添加到多个内容类型、列表或文档库,则此工作流程将具有一个与每个关联相对应的项。同样,如果将多个工作流程添加到一个特定的内容类型、列表或文档库,则表中将包含一个与添加到内容类型、列表或文档库的每个工作流程相对应的项。
有关工作流关联的详细信息,请参阅工作流阶段。
下图阐明 SharePoint Foundation 中总体的工作流体系结构。场中的每个内容类型、列表和文档库都将链接到通过工作流关联表为其添加的工作流。每个工作流都具有一个工作流定义。此 XML 定义指定实际工作流程序集的标识、该程序集中的类以及工作流必须运行的任何工作流表单的位置。