代码改变世界

SharePoint 2010工作流系列(1):初窥SharePoint Designer 2010的工作流功能

2009-11-09 08:44  Windie Chai  阅读(7942)  评论(20编辑  收藏  举报

SharePoint 2007首次引入了工作流,除了内置的工作流之外,还允许我们使用SharePoint Designer和Visual Studio来创建和维护工作流。那么在SharePoint 2010中,工作流得到了哪些增强和改进,设计和开发工具又有了什么样的变化?从本文开始,我会尽自己最大努力去探索这些内容并和大家分享。

由于撰写本系列文章的时候,Office 2010还没有正式发布,所以如果发现本系列文章中的内容与Office 2010正式版中有所差异,请见谅。

image

在Office 2007中SharePoint Designer是提供给设计人员和业务人员的一个客户端应用程序:设计人员可以使用它来定制SharePoint的UI,业务人员可以使用它来创建和维护简单的工作流。

而在Office 2010中,SharePoint Designer 2010已经演变为一个更加强大的SharePoint辅助工具,除了设计人员和业务人员之外,管理员也可以使用SharePoint Designer 2010来对SharePoint网站进行一定程度的管理。本文主要介绍SharePoint Designer在设计和维护工作流时方面的一些变化。

首次启动SharePoint Designer 2010,会提示打开一个SharePoint网站,如下图所示:

image

打开SharePoint网站后,我们发现SharePoint Designer 2010已经完全使用功能区(Ribbon)取代了菜单。在左侧的Navigation面板中点击Workflows,会列出SharePoint 2010内置的3个工作流,如下图所示:

image

我们注意到,这3个内置的工作流属于Global Reusable Workflow,也就是说,它们是可以在全局范围内重用的工作流。

在SharePoint Designer 2010中,我们可以创建3种类型的工作流:

  • List Workflow
  • Reusable Workflow
  • Site Workflow

List Workflow其实和SharePoint Designer 2007能够创建的工作流类型一样,只能基于现有列表创建,而且不可以重用。

在创建List Workflow时必须首先指定一个列表,如下图:

image

然后输入名称和描述即可,如下图:

image

接着就会打开一个空白的工作流设计器,和SharePoint Designer 2007一样,我们可以在设计器中添加条件和操作来构建工作流,很遗憾,SharePoint Designer 2010仍然不能创建可以循环或回退的工作流。

空白的工作流设计器如下图所示:

image

创建Reusable Workflow时不需要指定列表,但可以限制工作流可以绑定的内容类型,如下图所示:

image

Site Workflow是SharePoint 2010新增的一种工作流类型。了解SharePoint 2007工作流的朋友们都知道,在SharePoint 2007时代,工作流必须与列表或内容类型绑定,并且必须基于一个列表项来启动,而Site Workflow不再受这两个限制的约束,我们可以在Site Actions菜单中启动Site Workflow,如下图所示:

image 

在SharePoint Designer 2007中,设置条件和操作的属性时是件比较麻烦的事情,比如下图的If any value equals value条件,我们必须逐个点击两个value属性和equals属性来设置这个条件表达式。

image

而在SharePoint Designer 2010中,我们除了使用上述比较麻烦的方法之外,还可以点击功能区中的Advanced Properties按钮(image)来在一个对话框中修改所有属性的值。下图显示了If any value equals value条件的属性对话框:

 image

SharePoint Designer 2010工作流的步骤有两种,除了默认的步骤之外,还新增了一种Impersonation Step( image )。默认情况下,工作流是以启动者的权限来运行的,而Impersonation Step会以工作流作者的权限来运行(我们可以思考一下这个功能的应用场景)。

在Reusable Workflow中,还可以点击Convert to Globally Reusable按钮(image )来将工作流发布到全局工作流目录,从而可以和SharePoint 2010内置的3个工作流一样在网站集的所有子网站中重用。

相对于SharePoint Designer的步骤型工作流设计方式,可能人们更加喜欢和习惯于Visio的图形化工作流表达方式,在Office 2010中,SharePoint Designer 2010和Visio 2010都可以用于创建和编辑工作流,但仅限于List Workflow和Reusable Workflow。

在SharePoint Designer 2010中,点击功能区中的Export to Visio(image)可以将当前设计的工作流导出为一个.vwi文件,Visio可以导入该文件并进行编辑,下图演示了在Visio 2010中编辑SharePoint 2010默认的Approval工作流:

image

在Visio中编辑完工作流之后,可以将其导出为.vwi文件,然后点击SharePoint Designer 2010功能区中的Import from Visio(image )就可以导入进来继续操作。下图演示了在SharePoint Designer 2010中编辑Approval工作流,显然,Visio中流程图的展示方式更加直观:

image 

在设计List Workflow和Reusable Workflow时,还可以点击功能区中的Association Columns按钮(image)来为工作流添加一些栏,这些栏会在工作流绑定到列表时自动添加到列表。 我们可以使用Association Columns来为工作流显示一些除了状态之外的信息,下图显示了Association Columns对话框,其中包含了一个用于显示下一级审批者的栏:

image

点击功能区中的Workflow Settings按钮(image)可以在SharePoint Designer 2010中打开工作流的设置页面,下图显示了SharePoint 2010内置的Approval工作流的设置页面:

image

在这个页面中,我们可以查看并修改工作流的一些设置,包括名称、描述、启动方式和使用到的InfoPath表单。

SharePoint 2010已经支持多语言,我们可以在这里设置工作流在某些语言下的可见性。

此外,SharePoint 2010终于能够在工作流状态页中以图形化的方式显示工作流的当前位置了,下图中蓝色的方框表示Approval工作流现在的位置:

image

工作流状态图使用了Silverlight来展现,可以放大缩小,并且能够查看每一个步骤(形状)的额外信息,还能够在Visio 2010中查看。如果你不希望用户看到这个状态图,可以在上面的设置页中取消Show workflow visualization on status page。

在工作流设置页中,我们可以点击功能区中的Save as Template按钮(image)将Reusable Workflow保存为一个SharePoint解决方案包(.wsp)文件,从而更加方便地在更加广泛的场合里重用工作流。

此外,还可以在设置页中为Reusable Workflow关联内容类型和列表,省去了打开浏览器添加工作流的步骤。如果你在创建Reusable Workflow时限制了它能够绑定的内容类型,那么在这里关联内容类型和列表时,只能在限制范围之内做关联。点击Associate to List按钮后会显示网站中的所有列表,如下图所示:

image

同样,点击Associate to Content Type后会显示网站中的所有内容类型,如下图所示:

image 

这篇文章就写到这里,在下一篇文章中,我会向大家介绍SharePoint Designer 2010工作流的条件和操作都发生了什么样的变化。