从Sharepoint 2007开始,工作流作为一个真正的强有力的工具内置在SharePoint中。你可以通过设计工作流,从而在网站或应用程序中添加自定义逻辑,而且不需要编写任何代码!通过工作流实现业务流程自动化所需的各种功能,从发送通知到创建任务这么简单的事都可以通过工作流完成。还有的很多可能性,许多的功能有待挖掘,可以说只是受限于你的想象力。
本文将讨论如何能够非常容易地开发属于自己的SharePoint 2010的工作流,甚至不需要你必须懂开发,这里不会要你写任何自定义的代码,您要做的只是点点鼠标。首先我们需要一个切入点,以此触发一个工作流的启动,作为例子,我们使用当某人添加项目到列表中作为触发的条件。在我们的解决方案中,我们将开发一个工作流,该工作流基于列表中某一栏的值的选择状态,当为选中状态时,将触发工作流发送一封email,同时更新该列表项的状态。通过这个例子,我想应该能够涵盖工作流的绝大部分重要概念,如步骤,条件和操作等。
让我们开始吧!
首先创建一个列表,这是列表的结构。
解释一下每一列都是干什么用的。
标题 ,将来就是所发送的邮件的主题
User Email - 用户电子邮件, 收件人的邮件地址
Message To user – 电子邮件中的具体信息
Status - 状态 ,当前列表项的状态(可选择项包括已开始 - Started, 已发送电子邮件 - Email Sent, 进行中 - Processing, 已解决 - Resolved)
Send Email - 发送电子邮件 ,标记是否要给收件人发送电子邮件。
创建好列表后,启动Sharepoint Designer来开始创建我们的工作流。首先点击列表和库(Lists and Libraries)。
选择我们的列表,找到工作流部分,点击新建(New)。
向导会提示你填写工作流的名称和描述
点击确定后就进入工作流设计器界面了。
此时,如果你留意功能区,就会看到有一个条件按钮和一个操作按钮,还有一些其他的元素,这些都是设计工作流所用的核心元素。详细查看其中的项,有助于我们了解当前可以做的所有事情。
工作流操作项
工作流条件项
在第1步里,我们选择“发送电子邮件(Email users)” 操作(这意味着,当工作流启动时,它会发送电子邮件给您所选择的特定用户)
现在,定义一下电子邮件的信息。
在“收件人(To)”的位置上,选择用户。在这里,我们选择存放在列表项中的的电子邮件地址。
我们选择之前在列表中创建的“用户电子邮件(User Email)”栏。
在抄送(CC)的位置,我们将添加创建当前项目的用户(User who created current item)。
对于标题,我们会从列表的“标题(Title)”栏中取值。
而对于内容部分,我们将从列表中的“发给用户的信息(Message to user)”栏,以及“修改者(Modified by)”栏进行取值。
恭喜! 至此你已经完成了你的第一个操作。现在让我们添加一个执行该操作的条件。
点击我们创建好的第一个操作的顶部。
新增一个一般条件,“如果任何值等于值(If any value equals value)”,意思是,如果当前项中某一列的值等于你所定义的值时,将触发一个操作。
这样,该条件就显示在你的第一个操作的顶部。
根据你的情况修改其中的值,因为这里我们需要当“发送电子邮件(Send Email)”字段的值为“是”时引发一个动作,所以这么定义:
你可能已经注意到了,前面创建的第一个操作并没有包在IF块中,所以我们需要向上移动一下它,可以通过右侧的下拉箭头,然后从中选择上移操作(Move Action Up)。
这样就把它放在IF块里面了。
接下来,我们还需要在发送完电子邮件后更新域“Status”的状态为“Email Sent”。为了实现这一功能,我们需要通过功能区的操作按钮添加另外一个操作,“设置当前项目中的域(Set Feild in Current Item)”。在此前,确保您已经点击了第一个操作的下方,以保证新的操作将来放在那里。
设置字段和值的属性。
对于ELSE块,从功能区中选择“Else-If分支”
重复上一步骤,但这次是设置“Status”为“Processing”
这样全部工作就完成了!保存并发布您的工作流。
接下来等待一下,系统对工作流进行验证。
但是我们还没有设置工作流启动的条件。可以通过点击工作流,选择我们的工作流对象,然后在摘要视图中配置工作流的启动选项。
现在,剩下的工作就是测试了。新建一个列表项来触发前面设计的条件。
然后等待结果
OK了! 很容易吧,无代码!
参考资料
Step by Step Guide in Developing your own Workflow in Sharepoint 2010