Windows SharePoint Services 中的工作流:一种方案

在大多数组织中,最常见的工作流示例是审批的一些变化方式:一组人员必须批准或拒绝某些文档,可能要添加注释来解释其决策。此处的示例将反映这种普遍情况,向您演示通过 Windows SharePoint Services 实现的审批工作流是什么样子的。在说明本示例之前,最好先定义不同人员扮演的角色。这些角色包括:

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

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

  • 工作流发起人:启动某个正在运行的工作流,根据特定工作流模板创建工作流实例的人员。

  • 工作流参与者:与工作流实例交互以执行该实例支持的业务流程的人员。

如下文所述,以上每个角色中的个体在工作流的创建、安装、实例化和使用过程中,都具备各自的职能。

创作工作流

Microsoft 提供了两种适用于 Windows SharePoint Services 的工作流创建方法。开发人员使用 Visual Studio 2005 和 WF 工作流设计器,而信息工作者则使用由 Office SharePoint Designer 提供的较为简单的基于规则的方法。在这两种情况下,都会得到一个工作流模板,必须将其部署到运行 Windows SharePoint Services 的服务器。在本文的后面将详细介绍工作流创作,因此在本方案中,我们假定已创建好模板。

将工作流与文档库或列表相关联

在使用工作流模板之前,必须将其安装到 Windows SharePoint Services 系统,然后与特定的文档库、列表或内容类型相关联。完成以上操作后,便可以从该库或列表中的任何文档或项目中启动工作流。对于项目和文档,工作流的操作方法相同,因此工作流模板通常附加到两者均可(虽然也可以创建只能与项目或只能与文档关联的模板)。尽管工作流无法从内容类型明确启动,但是与内容类型关联的工作流可以从该内容类型所关联的文档或列表项启动。

对于使用 Office SharePoint Designer 创建的工作流,安装和关联都是自动完成的。但对于那些使用 WF 工作流设计器和 Visual Studio 创建的工作流,Windows SharePoint Services 服务器管理员必须明确地安装工作流模板。一旦安装完成,必须将模板与一个库、列表或内容类型相关联,这个工作可由权限低于服务器管理员的人员来执行。创建此关联的人员还将对其分配唯一的名称,这样用户便可以进行引用。或者,工作流的作者可以让创建关联的人员设置工作流行为的选项,例如指定应始终参与流程的人员的默认列表。同一个模板可与多个库、列表或内容类型相关联,并按需要对每个关联进行自定义。创建关联并设置选项后,工作流发起人便可以从该关联创建工作流实例,如下文中所述。

启动工作流

Windows SharePoint Services 提供了创建工作流实例的三个选项。这三种方法每次都将从头运行工作流。(实际上,如果从特定关联创建的工作流实例当前正在运行,则不能从同一个关联创建另一个实例。)这三个选项包括:

  • 工作流可以由 Windows SharePoint Services 用户手动启动。

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

  • 工作流可配置为在创建文档或项目后自动运行。例如,Microsoft Word 用户可能将新文档保存到某网站的文档库,从而导致执行与该库关联的一个工作流实例。工作流发起人使用 Microsoft Word 2007 或较早版本执行以上操作。甚至可以使用这种方法从非 Microsoft 应用程序启动工作流。

此方案将采用上述三个选项中的第一个:手动启动工作流。下面的屏幕将显示如何向 Windows SharePoint Services 用户显示文档库中的文档。若要从此文档启动工作流实例,用户需要单击该文档并从菜单中选择“工作流”。

Windows SharePoint Services 工作流程方案

选择此选项后,将显示以下屏幕:

Windows SharePoint Services 设置工作流程

在标题“开始新工作流”下面将显示可从该文档启动的所有工作流的名称。本示例中有两个选项,分别是“审批”和“收集反馈”,但如果管理员已将其他工作流模板与该文档库关联,其名称也会显示出来。在本示例中,发起人选择“审批”,将显示以下屏幕:

Windows SharePoint Services 工作流程方案

与上面显示的所有其他屏幕不同,此屏幕中的内容是由工作流本身定义的。启动工作流时(即创建工作流实例后),它可以选择显示一个屏幕,允许用户指定相关的信息。对于此处显示的审批工作流,该信息包括应审批该文档的每个人员的姓名、每个审批到期时间的标记,以及应通知人员的列表。提供以上信息后,用户将单击此屏幕右下角的“开始”。工作流随即开始执行,要求每个参与者按照其姓名在此屏幕上的输入顺序查看此文档。

启动工作流时,它还可以选择向启动者发送电子邮件。同样,工作流可以在完成时通过电子邮件通知其创建者。例如,在此示例中,审批工作流可能向其创建者发送邮件,在审批过程完成时通知他。还可以通过电子邮件通知工作流的参与者(在本示例中是审批文档的人员)工作流中需要他们执行某些操作。

与工作流进行交互

人与运行的工作流之间的交互是通过任务 这个概念来建立的。任务是分配给个人的一组工作。在本示例中,将向该工作流审批列表上的每个人分配一个任务,要求进行文档审批。Windows SharePoint Services 为每个网站维护一个任务列表,并且运行的工作流可以向该列表添加任务,指定每个任务的分配对象。该网站的每个用户都可以查看需要他们执行哪些操作,具体的方法是通过 Web 浏览器访问其任务列表或将该网站的任务列表与其 Outlook 2007 任务列表同步。下面的屏幕将以被分配到审批本示例中所用文档的一个人员为例,显示了浏览器访问任务列表时的外观。

Office SharePoint Server 工作流程 - 任务

Windows SharePoint Services 用户的等待任务列表是其他列表。在上面显示的屏幕中,用户从屏幕左侧的选项中选择了“任务”列表。列表中当前唯一的任务是审批文档的请求。(通过屏幕右侧的“链接”可访问文档本身。)为了处理该任务,此示例中的用户单击该任务名称,将显示以下屏幕:

Windows SharePoint Services 工作流程任务

工作流与参与者交互的方式会有所不同,因此该屏幕由工作流程本身定义。本示例中向参与者提供了批准或拒绝文档的按钮,同时还提供了一个用来输入注释的字段。另外参与者还可以通过其他选项,将任务重新分配到其他人员或请求更改。在这里,用户可以输入注释,然后单击“批准”按钮。工作流将随即在其审批者列表中下一个人的任务列表中创建一个任务。每位参与者都进行响应以后,工作流便结束。

Windows SharePoint Services 工作流还提供其他选项,其中包括:

  • 工作流发起人可以检查工作流的状态。例如在此处所述的方案中,发起人可能会检查审批过程的进度。

  • 可以在工作流执行过程中对其进行修改。工作流的作者按需要决定可以进行哪些修改。例如,审批工作流可能允许在工作流进行时添加新的审批者。修改正在运行的工作流的能力很重要,因为它反映了人们的实际工作情况。在实际工作中,临时对业务流程进行调整是难免的,因此 Windows SharePoint Services 工作流提供了相应的处理方法。

过程小结

Windows SharePoint Services 工作流中有大量活动的部分。下图中总体概括了该过程是如何运作的。

Windows SharePoint Services 工作流程示例

小结:安装工作流模板并将其与文档库、列表或内容类型关联后(此处未显示该步骤),该网站的用户便可以创建此工作流的实例。图中的过程从工作流发起人选择一个文档和关联的工作流模板(步骤 1)开始。发起人从该关联创建一个工作流实例(步骤 2),然后对此新实例进行自定义并将其启动(步骤 3)。

接下来,运行的工作流实例向某参与者的任务列表添加一个任务(步骤 4)。(此方案中使用的审批工作流将按顺序分配这些任务,但工作流也可以一次向多个参与者分配任务,从而让所有人并行执行。)工作流参与者可以通过检查其任务列表来了解工作流分配给他们的任务(步骤 5)。然后每个参与者与运行的工作流实例进行交互来完成该任务(步骤 6)。在此处描述的示例中,任务是要求审批文档,但它可以是工作流作者选择的任何任务。

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

Windows SharePoint Services 版本 3.0 不仅提供了一个用来创建工作流应用程序的平台,另外还提供了预定义的“问题跟踪”工作流,最终用户可以按原样使用此工作流。此工作流允许向参与者分配活动问题并跟踪那些问题。创建问题后,便可以先将其移动到“已解决”状态,指示该问题已由负责的工作流参与者处理,然后将其移动到“已关闭”状态,指示工作流发起人已接受解决方案并关闭了该问题。

了解 Windows SharePoint Services 中工作流使用方法的基础知识是掌握这项技术的重点。但您还需要了解工作流作者如何创建这些工作流。下一部分中将介绍两种创建工作流的方法。

下载此书籍

本主题包含在以下可下载书籍内,以方便您阅读和打印:

有关可下载书籍的完整列表,请参阅 Office SharePoint Server 2007 的可下载书籍