审批工作流:方案 (SharePoint Foundation 2010)

 

适用于: SharePoint Foundation 2010

上一次修改主题: 2011-03-10

在大多数组织中,最常见的人员工作流示例是审批期间会出现某些变化:一组人员必须批准或拒绝某些文档,并且可能要添加注释来解释其决定。本文介绍在 SharePoint Designer 2010 或 Visual Studio 2010 工作流设计器中创建,然后使用 SharePoint Foundation 2010 托管的审批工作流的运行方式。阅读本示例之前,请定义不同人员扮演的角色,这非常有用。

  • 工作流作者 创建工作流模板的开发人员或信息工作者。

  • SharePoint Foundation 2010 管理员 安装工作流模板并将其与文档库或列表关联的人员。

  • 工作流发起人 启动工作流,从而根据特定工作流关联创建工作流实例的人员。

  • 工作流参与者 与工作流实例进行交互以完成实例所支持的业务流程的人员。

如下节所述,每种角色的人员在创建、安装、启动和使用工作流时发挥各自的作用。

创建工作流

Microsoft 提供了两种在 SharePoint Foundation 2010 中创建工作流的方法。开发人员可以使用 Visual Studio 2010 和工作流设计器,而信息工作者可以使用 SharePoint Designer 2010 提供的基于规则的方法。在这两种情况下都会生成一个工作流模板,必须将该模板部署到运行 SharePoint Foundation 2010 的服务器上。在本方案中,我们假定已创建工作流模板。

关联工作流

在使用工作流之前,必须先在运行 SharePoint Foundation 2010 的服务器上安装工作流模板,然后必须将该工作流与特定文档库、列表、内容类型或(如果是网站工作流)网站相关联。然后,可以从该库或列表中的任何文档或项目启动工作流。尽管无法根据内容类型明确启动工作流,但是可以从内容类型所附加到的文档或列表项中启动与该内容类型关联的工作流。因为工作流以相同方式作用于项目和文档,所以通常可以将工作流模板附加到列表、库或内容类型。您也可以创建只能与特定列表或库关联的模板。

对于使用 SharePoint Designer 2010 部署的工作流,将会自动执行安装和关联过程。但是当您使用 Visual Studio 部署工作流时,服务器管理员必须明确安装工作流模板。此外,用户必须将模板与库、列表、内容类型或网站相关联。无论是谁创建该关联,都要为该关联指定一个唯一的名称,以便用户可以引用该关联。工作流作者还可以让关联创建人员为工作流行为设置选项,如始终可以参与流程的人员的默认列表。同一模板可与多个库、列表或内容类型相关联,并且可以根据需要自定义每个关联。在创建关联并设置全部可用选项之后,工作流发起人可以根据此关联创建工作流实例,如下一节中所述。

将工作流与网站关联

网站工作流与网站本身关联。若要该工作流运行,无需启动项目。

可以将网站工作流用于不含列表项上下文的流程。例如,您可以创建一个工作流以请求对相应网站的权限、请求并配置新网站,或创建一个工作流以使用存储在 SharePoint 网站外部的上下文,而不必创建用于启动该工作流的相应 SharePoint 列表项。

网站工作流可通过网站设置与网站关联,并在该网站上启动。SharePoint Designer 2010 还可将网站工作流直接部署到网站。

如本文前面所述,网站工作流的工作方式与列表项相同,只是不能通过库或列表中的文档或项目启动网站工作流。

有关详细信息,请参阅添加工作流关联 (SharePoint Foundation 2010)

启动工作流

SharePoint Foundation 2010 提供三种方法来启动工作流实例。所有这三种方法每次都从头开始运行工作流。(如果根据特定关联创建的工作流实例已经在特定文档或列表项上运行,则无法在同一文档或项目上启动另一工作流实例)。以下为用于启动工作流的方法:

  • SharePoint Foundation 2010 用户可以手动启动工作流。

  • 您可以将工作流配置为在用户创建文档或项目时自动运行。

  • 您可以将工作流配置为在用户更改文档或项目时自动运行。

例如,Microsoft Word 用户可以将新文档上载到网站的文档库中。这会导致与该库相关联的工作流实例启动。

此方案采用上述三种方法中的第一种:对文档手动启动审批工作流。若要通过文档库中的文档启动工作流实例,SharePoint Foundation 2010 用户需执行以下操作:

  1. 指向该文档,然后从下拉菜单中选择“工作流”。

  2. 选择要启动的工作流。

    本示例假定已经创建将传送待审批文档的工作流。

启动工作流时(即创建工作流实例时),它还会显示一个屏幕,用户可在该屏幕中指定相关信息。对于传送待审批文档的工作流,此信息可包括必须审批文档的每名人员的姓名、指示每个审批何时到期的信息以及要通知的人员的列表。提供此信息后,用户可单击“开始”。该工作流将开始执行并请求每名参与者按在此屏幕中输入的其姓名的顺序审核该文档。

工作流启动后,它还可以选择向工作流启动者发送电子邮件。同样,工作流可以在完成时通过电子邮件通知其创建者。您还可以配置工作流,以通过电子邮件通知需要完成某些工作流任务的工作流参与者(在本示例中为文档审批人员)。

与工作流进行交互

任务是指在人员和运行中的工作流之间建立交互模式。任务是分配给个人的一组工作。例如,系统会为此工作流的审批列表中的每名人员分配请求审批文档的任务。SharePoint Foundation 2010 可拥有每个网站的任务列表,而运行中的工作流可以向该列表中添加任务以指定为每项任务指派的人员。该网站的用户可以通过 Web 浏览器访问他们的任务列表,来查看等待他们完成的工作。您也可以创建只用于自己的工作流任务的自定义任务列表。

对于 SharePoint Foundation 2010 用户,任务等待列表只不过是另一个列表。在本例中,用户通过浏览找到工作组的 SharePoint 网站,然后选择相应选项来查看分配给自己的“任务”列表。若要执行某项任务,用户需单击该任务名称。

因为工作流与参与者交互的方式不同,所以工作流本身会定义向用户显示的屏幕。在本例中,工作流提供用于批准或拒绝文档的选项以及参与者可在其中键入注释的文本框。

用户还可以通过其他可用选项,将任务重新分配给其他人员或请求更改。在本例中,用户可能会输入注释,然后单击“批准”。工作流随即会在其审批者列表中下一人员的任务列表中创建一个任务。每位参与者都进行响应后,工作流便结束。

SharePoint Foundation 2010 工作流还提供其他选项,包括:

  • 工作流发起人可以检查工作流的状态。

    例如,在下述方案中,发起人可能会检查审批流程的进度。

  • 可以在工作流执行过程中对其进行修改。

    工作流作者可确定允许进行哪些修改(如果有)。例如,审批工作流可能允许在工作流执行期间添加新的审批者。能够修改正在运行的工作流是非常重要的,因为它反映了人员的实际工作方式。因为自发更改业务流程是任何业务生命周期的一部分,所以 SharePoint Foundation 2010 设计为允许用户进行相应修改。

流程概要

在网站上安装了工作流模板并使其与文档库、列表、网站或内容类型关联后,网站用户即可启动工作流实例。

  1. 当工作流发起人选择文档并启动工作流实例时,该流程即会启动。

  2. 发起人根据该关联创建一个工作流实例。

  3. 然后,用户自定义此新实例并启动它。

  4. 运行中的工作流实例向参与者的任务列表中添加一个任务。

    此方案中使用的审批工作流将按顺序分配这些任务,但您也可以一次向多名参与者分配任务,从而允许并行执行这些任务。

  5. 工作流参与者可以通过检查其任务列表来了解工作流分配给他们的任务。

  6. 每名参与者与运行中的工作流实例进行交互以完成分配的任务。

    在此处描述的示例中,这种交互是审批文档所必需的,但它可以是工作流作者所需的任何形式。

如果运行工作流的文档本身没有在人员之间传递,则没有任何意义。相反,文档将保留在网站上,并且每名工作流参与者都会得到指向该文档的链接。实际上,并不要求工作流使用与其关联的文档或项目。需要强调的另一点是,工作流发起人和参与者在工作流的步骤 1、2 和 5 中所看到的内容是由 SharePoint Foundation 2010 本身定义的。然而,步骤 3 和步骤 6 中使用的 ASPX 网页是由工作流作者定义和创建的。这样,作者便可以控制用户自定义工作流以及与工作流交互的方式。