SharePoint Designer 2007,强大的工作流设计器

SharePoint Designer不仅仅可以用来对SharePoint站点的界面进行定制,它同时还内置了一个强大的工作流设计器。使用这个工作流设计器,我们可以通过一系列的配置工作,将指定的步骤、条件、操作组合起来,组合成一个完整的工作流模板。

Denny Zhang有三篇很好的介绍性文章,演示了如何利用SharePoint Designer来创建一个完整的工作流模板:
在SharePoint中实现Workflow(1)
在SharePoint中实现Workflow(2)
在SharePoint中实现Workflow(3)

为了帮助大家对SharePoint Designer 2007有更深入了解,在这篇文章里向介绍几个最基本的概念。

基本概念1、工作流启动方式

在SharePoint Designer中打开工作流设计器之后,第一个界面上就会让我们设定工作流的启动方式,如下图:



可以看到,SharePoint Designer有三种工作流启动方式:
i.项目被创建时自动启动;
ii.项目被更改时自动启动;
iii.由用户手工启动。

基本概念2、步骤

每一个工作流都是由一个或多个步骤组成的,步骤是工作流的基本组成单位。我们在SharePoint Designer里面可以任意添加新的步骤,调整已有步骤的顺序,或者删除某个步骤。



在上面的截图中,我们可以看到整个工作流由多个步骤组成。

基本概念3/4、条件和操作

每一个步骤都是由条件和操作组成的。条件和操作的概念类似于“如果满足某某条件,则执行某某操作”。SharePoint Designer提供了一组内置的且功能强大的条件和操作,我们可以选择自己需要的条件和操作,将它们组合在一起。



上面的图片显示,在“确定报销单正确性”这个步骤中,如果报销单的总金额大于10000元,那么就给报销单的创建者发送一封邮件告诉他报销金额太大,然后删除这张报销单,最后停止当前的工作流实例运行。

上面那个步骤中包含了一个条件、三个步骤。这些步骤会按照先后顺序来执行。条件和步骤的数量可以根据我们的需要来随意设定,甚至不设置条件或者操作。如果没有条件,那么选择的操作就必然会被执行。同样,只有条件没有操作也是被允许的,尽管这种情景没有什么意义。

基本概念5、条件分支

一个步骤里面并不一定只能包含一个条件分支,我们可以添加一个或者多个条件分支。条件分支执行“Else If”的逻辑,类似与“如果满足某某条件,那么执行某某方法,否则,如果满足第二个条件,那么执行某某方法...”。



在上图中,我们可以看到,这个步骤就包含了两个条件分支。第二个条件定义了这样的流程逻辑:如果报销单总金额并没有大于10000,那么就给管理者发送一封邮件,然后更新报销单中的某些数据。

最后,当我们在SharePoint Designer中完成了工作流程的设计,保存这个工作流的时候,SharePoint Designer会自动将流程以Windows Workflow Foundation的.xoml文件保存到服务器上,流程中的规则会保存成.xoml.rules文件,同时还生成其他一些必要的配置和页面文件。

 

我经常被人问到的一个问题就是,SharePoint Designer里面自带的条件和操作是否可以扩展呢?答案是:当然可以!实际上,这些条件和操作都是标准的Windows Workflow Foundation中的Activity,所以,我们只需要使用Visual Studio 2005创建定制的Activity,然后将其部署到SharePoint Server服务器上,就能够为SharePoint Designer添加上我们自己写的条件和操作了。

在下面所示的图片中,我们就添加了几个自己定制的操作。“发送即时消息”操作可以为我们给指定的用户发送LCS即时消息,“发送手机短消息”操作可以直接将消息用短消息的形式发送到某人手机上,而“获取用户经理信息”可以让我们用自己的逻辑来获取某个用户的经理是谁这样一个信息。

 

posted on 2006-11-16 03:05  kaneboy  阅读(241)  评论(0编辑  收藏  举报

导航