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即时消息,“发送手机短消息”操作可以直接将消息用短消息的形式发送到某人手机上,而“获取用户经理信息”可以让我们用自己的逻辑来获取某个用户的经理是谁这样一个信息。
![]()
| 一步一步SharePoint 2007之三十五:在SharePoint中实现Workflow(1)——创建一个判断列 |
| 摘要 |
| 在安装SharePoint的时候,笔者就已经提到,要顺利安装SharePoint,必须首先安装Microsoft Windows Workflow Foundation 2.2以上的版本,这是不是意味着SharePoint可以设定Workflow呢? 答案是肯定的,在SharePoint 2007中,我们可以设定Workflow,好让程序按照指定的流程运行。 这里,笔者将以在通知列表中发布一个通知,并按通知发放的员工类别,向指定的员工发送一封邮件为例,来实现Workflow。 当然,笔者在这里实现的是一个非常简单的流程,即如果是经理级别,就发送经理级别应该收到的邮件,而如果是普通员工,就收到普通员工应该收到的邮件。朋友们在实现这个简单的流程后,自然可以尝试更为复杂的流程了。 本篇文章将介绍在SharePoint中实现Workflow的第一部分——创建一个Workflow的判断列。 |
| 正文 |
| 为了更清晰地让朋友们了解在SharePoint中实现Workflow的几个步骤,本篇文章将被分割成三个小的部分,第一部分讲解创建一个判断列,第二部分讲解创建一个Workflow,第三部分讲解运行Workflow。因此而给大家带来的阅读不便,就请海涵了:) 下面将记录每一步的操作过程。 1、首先打开我的网站的Document Center站点,然后打开Announcements列表。 在Announcements列表中,点击工具栏上的Settings,并在弹出的菜单中,选择Create Column项,即可打开Create Column页面。 ![]() 2、在Create Column页面中,填入Column name,并选择The type of information in this column is为Choice (menu to choose from)。 ![]() 3、选择完The type of information in this column is后,页面将会呈现输入各个Choice项的文本框。我们可以在这里输入我们打算预定义的各种员工类别,并在Default value中点击一下鼠标,以指定一个默认项。 ![]() 4、点击OK按钮后,该Column将被创建,并返回Announcements列表页面。 至此,第一部分的创建一个判断列的工作就完成了。 下一篇文章我将记录如何在SharePoint中实现Workflow的第二部分——创建一个Workflow的过程。欢迎大家继续关注:)多谢! |
| 一步一步SharePoint 2007之三十六:在SharePoint中实现Workflow(2)——创建一个Workflow |
| 摘要 |
| 本篇文章将介绍在SharePoint中实现Workflow的第二部分——创建一个Workflow。 |
| 正文 |
| 下面将记录每一步的操作过程。 1、首先用Designer打开我的网站。 ![]() 2、在Folder List中,双击Docs,以打开Document Center子站点。 ![]() 3、在Designer的主菜单中,依次选择File,New,Workflow,并单击Workflow菜单项,则Workflow Designer将会打开。 ![]() 4、在Give a name to this workflow中输入一个名称,为该Workflow指定一个名称。 在What SharePoint list should this workflow be attached to中选择Announcements。然后进入下一步。 ![]() 5、点击Conditions按钮,在弹出的菜单中选择Custom Condition (Announcements)项。 ![]() 6、单击完Custom Condition (Announcements)菜单项后,Conditions按钮后面将会出现一个If语句。 ![]() 7、单击If语句中的field,在弹出的下拉列表中选择“员工类别”。 单击If语句中的value,在弹出的下拉列表中选择“经理级别”。 ![]() 8、单击Actions按钮,在弹出的菜单中选择Send an Email项。同样,单击完后,会出现一个Email语句。 ![]() 9、单击Email语句中的this message,则弹出Email编辑框。我们在其中编辑好Email的内容。注意:这是发给经理级别的邮件。 ![]() 10、编辑完Email后,就是这样的效果了。 ![]() 11、单击Add 'Else If' Conditional Branch,则出现另外一个If分支。 按照前面的过程,添加一个发给普通员工的Email。注意:这是发给普通员工的邮件。 ![]() 12、操作完成后的效果就是这样的了。 ![]() 13、单击Finish按钮,则系统开始应用该Workflow。 ![]() 14、经过不是很长的一段时间的等待后,站点中就增加了Workflows这个文件夹。 如果我们不是很满意设置好的Workflow,我们可以双击Announcements Workflow.xoml,则会重新打开Workflow Designer页面,我们就可以重新一步一步的设置这个Workflow了。 ![]() 至此,创建一个Workflow就成功了,恭喜恭喜! 下一篇文章我将记录如何在SharePoint中实现Workflow的最后一部分的过程。欢迎大家继续关注:)多谢! |
| 一步一步SharePoint 2007之三十七:在SharePoint中实现Workflow(3)——运行Workflow |
| 摘要 |
| 本篇文章将介绍在SharePoint中实现Workflow的最后一部分——运行Workflow。 需要提醒一下的是,要完成本部分的学习,您的电脑上必须安装了SMTP服务。 |
| 正文 |
| 下面将记录每一步的操作过程。 1、首先打开我的网站,依次点击Document Center、Announcements,进入Announcements列表页面。 ![]() 2、在Announcements列表界面中点击New,在弹出的菜单中选择New Item,即进入创建Announcement页面。 在创建Announcement页面中填写好Title和Body,并选择好“员工类别”,然后单击Ok按钮保存记录。 ![]() 3、在刚刚添加的那条记录的弹出菜单中选择Workflows。 ![]() 4、这就是Workflows页面。 ![]() 5、在Workflows页面的Start a New Workflow下点击Announcements Workflow,即进入Start页面。点击Start按钮开始执行Workflow。 ![]() 6、执行完毕后,在列表中就可以看到Completed的标识。 ![]() 7、我们打开邮箱,可以看到,已经收到一封新的邮件了。由于我们前面设置的“员工类别”是“经理级别”,可以看到,邮件正文正是我们前面为经理级别设置好的邮件正文。 请注意:如果您的电脑上尚未安装SMTP服务,您可能会收不到邮件。 ![]() 至此,在SharePoint中实现Workflow就成功了,恭喜恭喜! 当然,在Designer中实现的Workflow只能说是比较简单的Workflow了,事实上我们可以在VS中写好自己的Workflow,然后再在SharePoint中使用。 后面的文章中,笔者将讲到更为精彩的内容,欢迎大家继续关注:)多谢! |
























浙公网安备 33010602011771号