Microsoft Office Online
登录我的 Office Online (这是什么?) | 登录

 
 
Microsoft Office SharePoint Designer
搜索
搜索
 
检查更新:(c) Microsoft
Office 下载
 
 
 
警告: 您在使用不受支持的 Web 浏览器查看此页。使用 Microsoft Internet Explorer 6.0 或更高版本、Firefox 1.5 或 Netscape Navigator 8.0 或更高版本查看此网站效果最好。 了解有关支持的浏览器的详细信息。

打印版打印版 书签和共享共享
工作流简介
 

在企业中,工作组使用 Microsoft SharePoint 网站协作处理文档和共享信息。您希望生成一个 SharePoint 应用程序以提高工作组的生产力和效率,但是您不希望编写代码。那么,从哪里开始呢?

通过 Microsoft Office SharePoint Designer 2007,您可以设计将非代码应用程序逻辑添加到您的 SharePoint 网站和应用程序的工作流。使用工作流设计器,可以创建将条件和操作与 SharePoint 列表和库中的项目相关联的规则。对列表或库中项目的更改将在工作流中触发操作。

例如,假定一个工作组的主要职责是编写、修订和审批合同。这些合同存储在工作组网站上的文档库中。通过 Office SharePoint Designer 2007,您可以创建这样一个工作流:当将新合同上载到网站时,会向审阅者发送电子邮件通知。同时,该工作流会在审阅者的“任务”列表中创建一个任务。当该审阅者审阅合同并将任务标记为完成时,会根据分配给合同的状态是“批准”还是“拒绝”来触发不同的操作。

工作组的效率和生产力将得到提高,因为工作流驱动流程以便工作组可以将精力集中在做工作上,而不是管理工作流上。而且,不需要编程就可以生成这样的解决方案。通过在工作流设计器中创建规则,您可以向 SharePoint 解决方案或应用程序快速添加交互性。

本文介绍工作流的基本知识。在了解工作流的基本构件(即事件、操作、条件和步骤)后,您可以向 SharePoint 应用程序快速添加应用程序逻辑。

 要点   若要创建工作流,您的 SharePoint 网站必须位于运行 Microsoft Windows SharePoint Services 3.0 的服务器上。

本文内容


什么是工作流?

您的工作组使用 SharePoint 网站进行协作并在 SharePoint 列表和库中存储有价值的业务信息。通过 Office SharePoint Designer 2007,现在您可以将应用程序逻辑附加到这些列表和库中的文档或项目。

通过工作流设计器,您可以将一系列条件和操作附加到列表或库,这个序列就是工作流。工作流是组织和运行对应于工作流程的一系列操作的自然方式。此流程可以控制 Microsoft Windows SharePoint Services 3.0 中列表项的几乎任何方面,其中包括该项目的生命周期。工作流可以同时包括人员(或工作流参与者)执行的操作和工作流执行的操作。工作流参与者可以通过“任务”列表与工作流进行交互,工作流可以在“任务”列表中为某人创建任务并在该任务被标记为完成之前保持暂停状态。

根据您业务流程的需要,工作流可能很简单,也可能很复杂。您可以创建一个用户启动的工作流,或者基于事件(如在创建或更改列表项时)自动启动的工作流。

通常,在使用 Office SharePoint Designer 2007 设计工作流时,会执行以下基本步骤:

  • 使用工作流设计器选择和组合定义工作流步骤的条件和操作。
  • 如有必要,使 Office SharePoint Designer 2007 自动生成用于启动工作流的任何 ASP.NET 表单或任何自定义 SharePoint 任务。
  • 如有必要,自定义工作流表单。

您可以将工作流视为操作流程图,其中包括开始、结束和从开始到结束的顺序流。工作流可以并入并行分支,但是最终它们会从初始操作前进到最终操作。

例如,假定您要为前面所述的工作流(在 Microsoft Windows SharePoint Services 3.0 中发送文档以供审批)制作流程图。当工作流启动时,它将通过电子邮件自动通知指定的审阅者,告诉他们有要审阅的文档。然后审阅者审阅文档,并更改文档的状态以表明他们已完成其任务,而且他们是批准了还是拒绝了此文档。根据审阅者作出的响应,工作流沿两个并行分支之一继续。如果审阅者批准文档,则工作流会将批准的文档移动到特定的文档库,然后向整个工作组发送电子邮件,通知他们已经批准了文档;如果审阅者拒绝文档,则工作流会将此情况通知给文档作者。无论是这两种情况中的哪一种,工作流都将到达其终点并完成流程。

工作流流程图

返回页首 返回页首

什么是事件、操作、条件和步骤?

这些是工作流的构件。工作流由一个或多个步骤组成,而每个步骤又由操作和任何关联的条件组成。每个工作流都是由事件启动的。

什么是事件?

事件是启动工作流的构件。正好有以下三种可以启动工作流的事件:

  • 创建了项目。
  • 更改了项目。
  • 工作流参与者单击了 SharePoint 网站上的启动按钮。

了解使用 Office SharePoint Designer 2007 创建的工作流始终仅附加到 SharePoint 网站中的一个列表或库是很重要的。当您设计工作流时,会选择将它附加到哪个列表。此列表中的事件启动工作流。

您可以创建一个参与者手动启动的工作流,或者在创建或更改列表项时自动启动的工作流。例如,在文档审批工作流中,您希望设计这样一个工作流:每当有人将文档添加到“共享文档”库时,它都会自动启动。在“文件”菜单上,指向“新建”,然后单击“工作流”。在工作流设计器中,您将看到以下页。

定义工作流 - 文档审批

当工作流参与者手动启动工作流时,该参与者首先通过浏览找到要将工作流附加到的列表或库。至少具有“参与讨论”权限级别的任何人员都可以启动设计为手动启动的工作流。参与者单击项目,单击菜单上的“工作流”,然后从显示与该项目关联的所有工作流的页上选择一个工作流。参与者填写工作流启动表单,然后在必要时通过单击表单上的启动按钮启动工作流。启动工作流将为该特定项目创建该工作流的新实例。

列表项上的工作流命令

 注释   仅当项目包含在已附加至少一个工作流的列表或库中时,“工作流”命令才可用。

对于手动启动的工作流,启动表单可以与如下所示一样简单。

列表项上工作流启动按钮的示例

在设计工作流时,您还可以将自定义域添加到启动表单。然后,工作流参与者可以通过填写此表单,为工作流提供信息,并将那些设置传递到工作流。新工作流实例将启动,然后该工作流可以在工作流的任何位置查找和使用通过表单提供的信息。

什么是操作?

操作是工作流中最基本的工作单位。Office SharePoint Designer 2007 提供一组现成的、可重用的操作供您并入到工作流中。例如,您的工作流可以:

  • 创建、复制、更改或删除列表项(包括文档)。
  • 签入或签出项目。
  • 发送电子邮件。
  • 在工作组网站的“任务”列表上为某用户创建任务。
  • 从参与者处收集数据,以便稍后可以在工作流中引用。
  • 暂停或停止工作流。
  • 将工作流信息记录到“历史记录”列表以用于否认或工作流调试。
  • 设置工作流变量或执行计算。

工作流可以包含任何数目的操作。刚才列出的操作由工作流执行,但是其他操作可能由工作流参与者执行。例如,文档审批工作流由五个操作组成。其中四个操作由工作流自动执行,但其中一个操作(即实际审阅文档)由工作流参与者执行。由工作流参与者执行的操作由“任务”列表中分配给该参与者的任务表示。示例工作流中的五个操作如下:

  • 发送电子邮件通知审阅者
  • 审阅文档(分配给工作流参与者的任务)
  • 将文档移动到“已批准”文档库
  • 发送电子邮件通知工作组
  • 发送电子邮件通知文档作者

在最基本的意义上,设计工作流时,您将识别必要的操作序列,然后通过使用工作流设计器组合该操作序列。例如,在文档审批工作流中,您所需的第一个操作是发送电子邮件通知审阅者。

流程图,向审阅者发送电子邮件

因此,在工作流设计器中,您将该操作选为工作流中的第一个步骤。

操作列表

什么是条件?

在设计工作流时,您可以使用工作流设计器创建将条件逻辑应用于 SharePoint 列表和项目的规则。规则建立一个条件:仅当该条件为真时,工作流才执行关联的操作。例如,您可以创建这样一个规则:仅当项目由特定人员创建时,工作流才向审阅者发送电子邮件。您还可以向条件添加子句。例如,您可以创建这样一个规则:仅当项目 (1) 由特定人员创建且 (2) 文档标题包含特定关键字时,才向审阅者发送电子邮件。最后,您可以将多个操作与一个条件关联。例如,您可以创建这样一个规则:如果项目由特定人员创建,则 (1) 向审阅者发送电子邮件,并 (2) 将工作流信息记录到“历史记录”列表。

选择条件和操作

总之,规则是与一个或多个操作关联的条件:如果条件中的所有子句都为真,则执行所有的关联操作。

在前面的示例中,用户仅指定了一个条件。但是,您可以为工作流中的一个步骤创建多个条件。多个条件将在工作流中创建分支:如果条件 A 为真,则执行一个操作;如果条件 B 为真,则执行其他操作。若要向步骤添加分支,请单击“添加‘Else If’条件分支”。例如,在文档审批工作流中,如果审阅者批准文档,则工作流执行一个操作(或一系列操作);如果审阅者拒绝文档,则同一工作流执行其他操作。这就是条件分支。

流程图示例,审批者审阅文档

在工作流设计器中,此步骤有两个分支,与如下所示类似。绿色菱形指示步骤具有条件分支。

具有两个条件的条件分支

您还可以创建没有特定条件的分支。这样,如果一个条件为真,则工作流执行一个操作;如果该条件为假,则执行其他操作。例如,仅当条件为真时,工作流中的下一步才向工作组发送邮件;否则,工作流仅向文档作者发送邮件。通过添加没有特定条件的分支,工作流在第一个分支中的条件为假的任何情况下都执行该分支中的操作。

没有第二个条件的条件分支

 注释   工作流中的分支不能从一个步骤延伸到另一步骤。一组“Else If”分支始终包含在单个步骤中。

Office SharePoint Designer 2007 提供了几个现成的、可重用的条件,供您并入到工作流中。例如,您可以指定仅当项目满足以下条件时,工作流才执行关联的操作:

  • 在特定的时间范围内创建或修改。
  • 由特定人员创建或修改。
  • 具有包含指定关键字的标题域。
  • 是特定类型的文件或者具有特定范围的文件大小。(仅当将工作流附加到文档库时,此条件才可用。)

此外,您可以创建自定义条件和高级条件,从而在其中指定各种参数。通过自定义条件,您可以将当前列表中的域与值进行比较。例如,您可以创建这样的自定义条件:如果“审批状态”域等于“已批准”,则执行关联的操作。通过高级条件,您可以将一个值与另一个值进行比较。这样您就可以在任何列表中的域和其他列表中的值之间创建比较。例如,您可以为“共享文档”库创建这样的高级条件:如果“任务”列表中“状态”域的值等于“待批”,则执行关联的操作。

 注释   操作不需要条件。例如,示例文档审批工作流中的第一个步骤是发送电子邮件以通知审阅者。此操作没有与之关联的条件。

并行操作与串行操作

当您具有与条件关联的多个操作时,可以将这些操作设置为同时运行(并行)或依次运行(串行)。

以并行或串行方式运行操作

串行操作  例如,在文档审批工作流中,您可以设置两个操作,以便在批准文档时发送邮件,然后将该文档复制到“已批准”文档库。在工作流设计器中,“然后”指示第二个操作在第一个操作之后发生。

使用“然后”的串行操作

并行操作  例如,在文档审批工作流中,您可以设置两个操作,以便在批准文档时,发送邮件并(同时)将文档复制到“已批准”文档库。在工作流设计器中,“且”指示第二个操作与第一个操作同时发生。

 注释   并行操作不是绝对同时发生的;无法指定准确的顺序,而且每次工作流运行时顺序可能会有所不同。

使用“且”的并行操作

 注释 

  • 在任何给定的规则(条件和操作)中,所有操作都必须是串行或并行的。
  • 一组串行操作或并行操作必须包含在单个步骤中。

什么是步骤?

工作流由一个或多个步骤组成。每个步骤都可以包含任何数目的操作和关联条件。您可以认为步骤只是工作流设计器中的页。例如,文档审批工作流有两个步骤,如工作流设计器所示。

工作流步骤,添加步骤

通过步骤,您可以对条件和操作进行分组,以便可以在第二组规则之前评估和执行一组规则(条件和操作)。

一个步骤还是多个步骤?一些工作流既可以设计为一个步骤中的操作序列,也可以设计为步骤序列。

例如,以下三个操作可以是基本单步工作流的步骤 1。

一个步骤中的多个操作

可以将这三个操作分到几个步骤中。

多个步骤中的多个操作

将工作流划分为步骤的方式取决于您希望每个步骤完成的操作。对一个步骤中规则的处理在继续处理下一个步骤之前结束,因此您希望将实现所需的(一个或多个)特定操作的任何必要规则组合在同一步骤中。

更具体地说,每个步骤都可以包含一组“Else If”条件分支;仅当满足关联条件时,才会执行每个分支中的操作。在这种情况下,仅在以下情况下才需要其他步骤:

  • 需要评估多组“Else If”条件分支。
  • 您需要将已分支的语句与未分支的语句分隔开。

您还可以将步骤简单地用作组织工作流的方式。例如,工作流可能在一个不使用条件的步骤中具有多个操作。在这种情况下,您可能希望将操作划分到各步骤中,只是为了更好地组织它们。

返回页首 返回页首

什么是工作流表单?

为了使您的工作流动态性更强且更灵活,您可以向工作流中添加表单。通过表单,您可以在工作流中按预定义的时间从工作流参与者收集信息,并可以使参与者与该工作流的任务进行交互。

通过 Office SharePoint Designer 2007,您可以创建以下两种类型的工作流表单:

  • 在工作流参与者启动工作流时,启动表单从工作流参与者收集信息。在用户手动启动给定的 SharePoint 项目上的工作流时,将向用户显示启动表单。通过启动表单,用户可以在将工作流应用于给定的 SharePoint 项目时,指定其他参数或有关工作流的信息。例如,您可能使用启动表单询问谁应该审阅文档以及应该完成审阅的截止时间。并不是所有的工作流都需要启动表单。如果您确实需要启动表单,则 Office SharePoint Designer 2007 将根据您的启动规范自动生成 ASP.NET 启动表单。
  • 通过自定义任务表单,工作流参与者可以与 SharePoint 网站上“任务”列表中的任务进行交互。通过“自定义任务向导”,您可以轻松地创建自定义表单域,并将它们添加到自定义任务表单。当您完成工作流的设计时,Office SharePoint Designer 2007 将自动为自定义任务生成 ASP.NET 表单。然后,当运行工作流和创建任务时,用户通过浏览找到 SharePoint 网站上的“任务”列表,将该任务标记为已完成,并输入特定于工作流的任何可选或必需信息。然后工作流可以响应那些更改(如在工作流中指定的那样),也可以在工作流的后续步骤中查找和评估该信息。

在 Office SharePoint Designer 2007 自动生成 ASP.NET 表单后,您可以自定义它们。工作流表单是已应用数据表单 Web 部件和母版页的 ASP.NET 页。这些 .aspx 文件与工作流源文件一起存储在 SharePoint 网站上。可以像对任何其他 .aspx 文件那样打开和自定义这些表单。

返回页首 返回页首

工作流存储在哪里?

工作流存储在称为“工作流”的网站级文档库中。此文档库是由 Office SharePoint Designer 2007 自动创建的。在“文件夹列表”中,“工作流”文档库显示工作流图标,而不是通常的列表或文档库图标。默认情况下,“工作流”文档库在浏览器中是隐藏的,并且没有列表视图,如 AllItems.aspx 或 EditForm.aspx。此文档库包含使用 Office SharePoint Designer 2007 创建的每个工作流的文件夹。该文件夹包含工作流所需的所有源文件,其中包括:

  • 工作流标记 (.xoml) 文件(仅当工作流使用条件时才需要它)。
  • 工作流规则文件。
  • 工作流配置文件。
  • 所需的任何 .aspx 表单,如启动表单(对于手动启动的工作流)或自定义任务表单。

若要修改现有的工作流,您可以单击“文件”菜单上的“打开工作流”,或者也可以双击“文件夹列表”中的 .xoml 文件。这样就会在工作流设计器中打开工作流,并显示其第一个步骤。如果单击“后退”查看工作流的启动设置,您将会看到无法更改将工作流附加到哪个列表或库。在通过使用 Office SharePoint Designer 2007 将工作流附加到列表或库后,无法更改此关联。

文件夹列表中的工作流

工作流设计器提供了一个名为“记录到历史记录列表”的操作。当您希望记录工作流历史以调查错误或达到跟踪和否认目的时,可以使用该操作。当您创建使用操作“记录到历史记录列表”的工作流时,Office SharePoint Designer 2007 将自动创建一个名为“工作流历史记录”的列表。此列表具有包含诸如用户 ID、日期、事件和错误说明之类的信息的列。与“工作流”文档库一样,默认情况下“历史记录”列表在浏览器中是隐藏的,但是可以在“文件夹列表”中看到它。

文件夹列表中的工作流历史记录

工作流设计器提供了三种与“任务”列表交互的操作:“分配待办事项”、“从用户处收集数据”和“分配组调查”。当您创建使用其中任一操作的工作流时,Office SharePoint Designer 2007 将自动创建 .aspx 表单、任务的内容类型和“任务”列表(如有必要)。默认情况下,可以在浏览器中查看“任务”列表,这与“工作流”文档库和“工作流历史记录”列表不同。

文件夹列表中的“任务”列表

返回页首 返回页首

我可以在哪里检查工作流的状态?

您可以通过浏览器轻松地查看所选项目上工作流的进度。列表或文档库的“所有项目”视图会显示在项目上运行的工作流的当前状态。另外,每个项目都具有“工作流”页,您可以在该页中查看以下信息:

  • 当前在该项目上运行的所有工作流。
  • 过去在该项目上运行的所有工作流。
  • 该项目的所有可用工作流。

项目的“工作流”页

若要查看某个项目的“工作流”页,请在列表中单击该项目,然后单击菜单上的“工作流”

 注释   仅当项目包含在已附加至少一个工作流的列表或库中时,“工作流”命令才可用。

当用户在项目上启动工作流时,Windows SharePoint Services 3.0 会向该项目添加新栏。默认情况下,栏名与工作流的名称匹配。此只读栏显示该工作流内项目的当前状态。首次运行每个工作流时,都会为其自动添加此状态栏。

列显示工作流状态

在每个栏中,工作流状态是一个链接。例如,当单击“正在进行”时,您将看到该工作流实例的“工作流状态”页。

工作流状态页

无法将在 Office SharePoint Designer 2007 中创建的工作流部署到多个列表。它仅对为其创建它的列表有效。不过,可以将多个工作流附加到一个列表并可能用于给定的项目。多个工作流可以在同一列表项上同时运行,但是在任何给定时间只有特定工作流的一个实例可以在特定项目上运行。例如,您可能具有两个可用于特定列表的工作流:工作流 A 和工作流 B。虽然这两个工作流可以同时在列表中的特定项目上运行,但是您无法使工作流 A 或工作流 B 的两个实例同时在同一项目上运行。

返回页首 返回页首

建议的后续步骤

工作流是一种向 SharePoint 网站及应用程序中添加应用程序逻辑的有效途径。了解工作流的基本知识后,就可以开始创建工作流了:

  • 有关某些重要的设计注意事项及基本的通用过程,请参阅文章创建工作流
  • 有关提供完整工作流示例的文章的链接,请参阅“请参阅”一节。

返回页首 返回页首

广告