一步一步开发属于自己的SharePoint 2010工作流

一步一步开发属于自己的SharePoint 2010工作流

分类: sharepoint MOSS2013-03-17 08:26 376人阅读 评论(0) 收藏 举报

目录(?)[+]

从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了! 群 212099235

时间: 2024-12-09 12:03:55

一步一步开发属于自己的SharePoint 2010工作流的相关文章

一步一步学习Swift之(一):关于swift与开发环境配置

一.什么是Swift? 1.Swift 是一种新的编程语言,用于编写 iOS 和 OS X 应用. 2.Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制. 3.Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣. 4.Swift 是基于成熟而且倍受喜爱的 Cocoa 和 Cocoa Touch 框架,它的降临将重新定义软件开发. 5.Swift 是编写 iOS 和 OS X 应用的极佳手段,并将伴随着新的特性和功能持续演进.

windows phone开发第一步:搭建软件开发环境

windows phone开发第一步:搭建软件开发环境:http://www.cnblogs.com/hanjun/archive/2012/10/09/2716669.html

C#WPF 语音开发教程 源代码下载 csdn tts(text to sound) 一步一步 教你制作语音软件 附图和源代码

C#WPF  语音开发教程  一步一步 教你制作语音软件 附图和源代码 效果展示 一 项目准备 1.vs2012开发平台 2.微软的语音软件库 下载:http://download.csdn.net/detail/wyx100/8431269 (含实例项目源代码) 二.开发目标 制作一个语音软件,可以朗读文字: 多个语音库:男音和女音.支持英文和中文朗读: 支持选择播放设备 支持朗读语速选择 支持音量选择 三 开发过程 1.新建WpfSpeechDemo工程 文件(vs开发平台左上角)----新

一步一步跟我学DeviceOne开发 - 仿微信应用(一,二,三)

这是一个系列的文档,长期目标是利用DeviceOne开发一些目前使用广泛的优质手机应用,我们会最大化的实现这些应用的每一个功能和细节,不只停留在简单的UI模仿和Demo阶段,而是一个基本可以使用的实际App. 在实现的过程中,会有很多困难,还会发现有一些功能目前缺乏组件支持而无法实现,也会碰见各种移动开发中都会碰到的常见技术问题.一步一步的操作和问题的解决可以让开发者直观的了解通过DeviceOne如何开发一个实际App,也可以了解移动开发本身的很多技术细节,可以让App开发者少走很多弯路. 这

一步一步开发呼叫中心

最近两个月,每天熬夜到凌晨5点,睡3个小时,继续奋战.少年,你这么拼,你未出生的女儿知道么?(其实我也不确定是不是女儿,由于个人最喜欢女儿,姑且当我那还有1个多月出来见老爸的宝贝是个女儿吧!) 唉,创业难,做苦逼程序员更难,做没有任何指导要一个人进入一个新的领域的程序员更难! 2014年做了好多事情,前两个月一直忙,也没有花时间来总结自己的得失,这两天公司终于没啥事了,来写下开发呼叫中心的心得体会. 事先声明: 1.本文为个人总结文章,非开源项目,核心的呼叫中心源码不会开放,总结的是开发思路 2

一步一步开发Game服务器(三)加载脚本和服务器热更新(二)完整版

上一篇文章我介绍了如果动态加载dll文件来更新程序 一步一步开发Game服务器(三)加载脚本和服务器热更新 可是在使用过程中,也许有很多会发现,动态加载dll其实不方便,应为需要预先编译代码为dll文件.便利性不是很高. 那么有么有办法能做到动态实时更新呢???? 官方提供了这两个对象,动态编译源文件. 提供对 C# 代码生成器和代码编译器的实例的访问. CSharpCodeProvider 提供一下方法加载源文件, // 基于包含在 System.CodeDom.CodeCompileUnit

跟我一步一步开发自己的Openfire插件

http://www.blogjava.net/hoojo/archive/2013/03/07/396146.html 跟我一步一步开发自己的Openfire插件 这篇是简单插件开发,下篇聊天记录插件. 开发环境: System:Windows WebBrowser:IE6+.Firefox3+ JavaEE Server:tomcat5.0.2.8.tomcat6 IDE:eclipse.MyEclipse 8 开发依赖库: Jdk1.6.jasper-compiler.jar.jasper

一步一步开发Game服务器(四)地图线程

时隔这么久 才再一次的回归正题继续讲解游戏服务器开发. 开始讲解前有一个问题需要修正.之前讲的线程和定时器线程的时候是分开的. 但是真正地图线程与之前的线程模型是有区别的. 为什么会有区别呢?一个地图肯定有执行线程,但是每一个地图都有不同的时间任务.比如检测玩家身上的buffer,检测玩家的状态值.这种情况下如何处理呢?很明显就需要定时器线程. 我的处理方式是创建一个线程的时候根据需求创建对应的 timerthread 直接上代码其他不BB 1 using System; 2 using Sys

一步一步构建手机WebApp开发——页面布局篇

继上一篇:一步一步构建手机WebApp开发——环境搭建篇过后,我相信很多朋友都想看看实战案例,这一次的教程是页面布局篇,先上图: 如上图所示,此篇教程便是教初学者如何快速布局这样的页面.废话少说,直接上代码 注意:此教程是接上一篇教程,也就是所有的内容是直接从body开始写,当然,也会贴出所有代码给大家. 第一步:框架的布局及幻灯片的布局(Html) ① 如上图所示,我们应该准备以下容器,方便填充内容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19