SharePoint 工作流解决方案

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • SharePoint 工作流

Microsoft Office 版本

  • SharePoint Server 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

Visual Studio Tools for Office 提供了一些工具,可帮助您创建自定义工作流模板,这些模板管理 SharePoint 网站中的文档和列表项的生命周期。这些工具包括:设计器、完整的拖放活动控件集,以及必要的程序集引用。Visual Studio Tools for Office 还提供“新建 Office SharePoint 工作流”向导,与在 Visual Studio 中调试工作流模板相比,利用该向导可以减少大量配置步骤。

Bb386211.alert_note(zh-cn,VS.90).gif说明:

若要使用 SharePoint 工作流项目模板,必须将 Visual Studio 安装在运行支持 Microsoft Office SharePoint Server 2007 的操作系统的计算机上。此外,还必须安装 Microsoft Office SharePoint Server 2007。有关更多信息,请参见如何:安装 Visual Studio Tools for Office 以针对 SharePoint 工作流项目模板进行开发

Microsoft Office SharePoint Server 2007 包含多个内置工作流模板。例如,如果您想要让一个新文档通过基本审批过程,则可以使用内置的“审批”工作流模板。您还可以创建自定义工作流模板来管理高级文档过程。

有关 SharePoint 的更多信息,请参见 Windows SharePoint Services Overview(Windows SharePoint Services 概述)和 Microsoft Office SharePoint 2007 Server Product Overview(Microsoft Office SharePoint 2007 Server 产品概述)。

SharePoint 中的工作流

在向 SharePoint 库或列表添加工作流时,将对该库或列表中的所有项强制执行业务过程。工作流描述系统或用户必须对每个项执行的操作,例如发送项以供编辑和评审。这些操作称为“活动”,它们是工作流的构造块。

SharePoint 网站中的工作流被存储为工作流模板。因此,必须创建 SharePoint 工作流模板并将其部署到 SharePoint 网站。使用 SharePoint 管理工具将该模板添加到 SharePoint 2007 网站中的库或列表。这样用户便可以启动工作流实例,以处理库或列表中的任何项。有关更多信息,请参见 Using workflows to manage processes(使用工作流管理过程)。

创建自定义 SharePoint 工作流

使用“SharePoint 2007 顺序工作流”或“SharePoint 2007 状态机工作流”项目模板可以创建 SharePoint 工作流。

顺序工作流将工作流表示为一系列步骤,这些步骤必须按顺序执行,直到最后一个活动完成。下面的插图演示一个顺序工作流示例。

顺序工作流
顺序工作流

状态机工作流表示一组状态、转换和操作。其中一个状态被表示为启动状态,然后可以根据事件进行向另一个状态的转换。下面的关系图显示了一个状态机工作流示例。

状态机工作流
状态机工作流

有关工作流类型的更多信息,请参见工作流类型

使用向导

创建 SharePoint 工作流项目时,首先应在“新建 Office SharePoint 工作流”向导中指定调试配置设置。向导将存储这些设置并在“解决方案资源管理器”中创建项目。此项目包含一个代码文件、几个用于部署工作流模板的文件和对创建自定义 SharePoint 工作流模板所必需的程序集的引用。有关这些文件和程序集引用的更多信息,请参见 SharePoint 工作流项目模板

有关分步信息,请参见如何:创建 SharePoint 工作流项目

设计 SharePoint 工作流模板

在定义业务过程中的所有步骤之后,可使用 Windows Workflow Foundation 的设计器设计 SharePoint 工作流模板。若要打开该设计器,请在“解决方案资源管理器”中双击 Workflow1.cs 或 Workflow1.vb。

活动

若要设计工作流,请将“工具箱”中的活动添加到设计器上的工作流时间表。工作流时间表包含按照执行顺序排列的活动序列。

有两种类型的活动:

  • “简单活动”执行单个工作单元,例如“延迟 1 天”或“启动 Web 服务”。

  • “复合活动”包含其他活动;例如,条件活动可能包含两个分支。

“工具箱”中提供了这两种类型的活动。

活动可以有属性、方法和事件。使用“属性”窗口可以设置活动的属性。

还可以创建自定义活动。有关更多信息,请参见创建自定义活动

活动被组织在“工具箱”的以下两个选项卡中:

  • Windows 工作流

  • SharePoint 工作流

Windows 工作流活动

“Windows 工作流”选项卡包含 Windows Workflow Foundation 提供的活动。使用这些活动可以为任何种类的 Windows 工作流应用程序创建工作流时间表。

有关“Windows 工作流”选项卡中列出的活动的更多信息,请参见 Windows Workflow Foundation 活动。有关 Windows Workflow Foundation 的更多信息,请参见 Windows Workflow Foundation 概述

SharePoint 工作流活动

“SharePoint 工作流”选项卡包含 Windows SharePoint Services 3.0 和 SharePoint Server 2007 的专用活动。这些活动可以简化文档生命周期工作流的开发。有关“SharePoint 工作流”选项卡中列出的活动的更多信息,请参见 Windows SharePoint Services 的工作流活动概述

在设计器中使用活动

工作流时间表可以包含 Windows 工作流活动和 SharePoint 工作流活动的组合。

设计器会显示可视化提示,以帮助您正确地定位和配置活动。当您将活动拖动到工作流时间表上时,设计器会显示绿色加号 (+) 图标,为您指示该活动在工作流中的有效位置。不能将活动定位到无效的位置。例如,不能将“发送”活动定位为“侦听”活动分支中的第一个活动。有关如何使用设计器的更多信息,请参见 Visual Studio 2005 Designer for Windows Workflow Foundation 概述

在工作流执行过程中收集信息

您可能希望在工作流中的预定义时间收集用户的信息。使用窗体或项属性可以收集信息。

窗体

窗体与包含问题并为用户提供回答问题的方式的对话框相似。

可以为工作流创建四种类型的窗体:

  • 关联

  • 启动

  • 修改

  • 任务

例如,可以设计一个从文档审阅者收集反馈的窗体。用户必须提供反馈,然后工作流才能继续。这种类型的窗体称为“任务窗体”。

Bb386211.alert_note(zh-cn,VS.90).gif说明:

Visual Studio Tools for Office 不提供用于简化工作流窗体开发的工具。请根据这两个链接中的指导向工作流模板中添加窗体。

项属性

您还可以使用 SharePoint 库或列表中的项的属性来收集用户的信息。主代码文件(Workflow1.cs 或 Workflow1.vb)声明 Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.WorkflowProperties 类的一个名为 workflowProperties 的实例。使用 workflowProperties 对象可在代码中访问库或列表的属性。有关示例,请参见演练:创建和调试 SharePoint 工作流解决方案

调试 SharePoint 工作流模板

可以像调试其他 Visual Studio 项目那样调试 SharePoint 工作流项目。当您启动 Visual Studio 调试器时,Visual Studio Tools for Office 使用您在“新建 Office SharePoint 工作流”向导中指定的设置打开相应的 SharePoint 2007 网站,并自动将工作流模板与相应的库或列表相关联。Visual Studio Tools for Office 还将 Visual Studio 调试器附加到名为 w3wp.exe 的 SharePoint Services 3.0 进程。

若要测试工作流,必须手动启动该工作流。有关更多信息,请参见调试 SharePoint 工作流解决方案

部署 SharePoint 工作流模板

Visual Studio Tools for Office 不提供用于简化工作流模板部署的工具。有关部署信息,请参见 SharePoint Services 3.0 主题如何:部署工作流模板

请参见

任务

演练:创建和调试 SharePoint 工作流解决方案

如何:创建 SharePoint 工作流项目

如何:修改 SharePoint 工作流项目的调试配置设置

如何:在调试 SharePoint 解决方案时包括帮助器文件

SharePoint 顺序工作流示例

概念

调试 SharePoint 工作流解决方案

SharePoint 工作流解决方案疑难解答

其他资源

针对开发人员的 Windows SharePoint Services 3.0 和 SharePoint Server 2007 工作流简介

Windows Workflow Foundation 概述

Windows Workflow Foundation 编程指南

Visual Studio 2005 Designer for Windows Workflow Foundation 概述

Windows Workflow Foundation 活动

Windows SharePoint Services 的工作流活动概述

Windows SharePoint Services 中的工作流对象模型概述

欢迎使用 Microsoft Office SharePoint Server 2007 SDK

工作流的 InfoPath 表单

工作流窗体概述

使用功能进行工作流部署