SharePoint 2010工作流系列(2):SharePoint Designer 2010中工作流的条件和操作概览
2009-11-10 09:13 Windie Chai 阅读(6108) 评论(12) 编辑 收藏 举报上一篇文章中,我介绍了SharePoint Designer 2010相对于SharePoint Designer 2007的一些变化,并没有介绍SharePoint Designer工作流的重要组成单元:条件(Condition)和操作(Action、或作“活动”),本文将着重介绍在SharePoint Designer 2010中,条件和操作都发生了什么样的变化。
条件(Condition)
下图显示了SharePoint Designer 2010的所有条件:
从上图可以看出,SharePoint Designer 2010的条件基本和2007时代一模一样,只增加了一个Person is a valid SharePoint user条件。
Person is a valid SharePoint user条件用来判断给定的用户是不是一个有效的SharePoint用户。如果只是在SharePoint内部运行工作流的话,这个条件看起来有些多余。但别忘记SharePoint 2007引入了BDC(Business Data Catalog)来连接外部业务系统,在SharePoint 2010中,BDC被改名为BCS(Business Connectivity Services),其功能和易用性都有了极大的改进。假如我们需要从外部系统中传入的条目中获取用户来分配任务,就必须判断这个用户是不是有效的SharePoint用户,这时候Person is a valid SharePoint user条件就派上了用场。
我在上一篇文章中提到了,SharePoint Designer 2010可以创建3种类型的工作流,除了List Workflow之外,其余的两种工作流都不能完全支持上图中的所有条件,其中,Reusable Workflow不能使用所有和File相关的条件,而Site Workflow只能使用If any value equals value和Person is a valid SharePoint user两个条件。
操作(Action)
介绍完条件,我们再来看看SharePoint Designer 2010中的操作有什么样的改进,下图显示了SharePoint Designer 2010中的部分操作:
即使粗略查看上图所示的部分操作,也可以发现SharePoint Designer 2010增加了许多内置操作。在SharePoint Designer 2010中,操作分为6大类:
- Core Actions
- Document Set Actions
- List Actions
- Relational Actions
- Task Actions
- Utility Actions
本文旨在介绍SharePoint Designer 2010中工作流条件和操作的变化,随后的文章中会详细地介绍这些条件和操作,而本文仅做一个概览。
Core Actions
在上述6个操作分类中,Core Actions分类包含以下操作:
Add a Comment:添加描述,如下图所示:
Add Time to Date:为日期添加时间值,并输出到变量,如下图所示:
Do Calculation:进行计算,SharePoint Designer 2007就有此活动。
Log to History List:记录到历史记录列表,SharePoint Designer 2007就有此活动。
Pause for Duration:暂停一段时间,如下图所示:
Pause ultil Date:暂停到某时刻,如下图所示:
Send an Email:发送电子邮件,SharePoint Designer 2007就有此活动。
Send Document to Repository:将文档发送到Repository,如下图所示:
Set Time Portion of Date/Time Field:设置日期的时间部分,并输出到变量,如下图所示:
Set Workflow Status:设置工作流变量,可以将工作流状态设置为Approved、Rejected或Canceled,注意,此操作和“设置内容审批状态”操作不同。如下图所示:
Set Workflow Variable:设置工作流变量,SharePoint Designer 2007就有此活动。
Stop Workflow:停止工作流SharePoint Designer 2007就有此活动。
Document Set Actions
Document Set Actions分类是SharePoint Designer 2010新增的一个分类。Document Set是SharePoint 2010新增加的一个企业内容管理(ECM),Document Set是一个类似文件夹的实体,它可以包含一些文档,由于它本身其实是一个内容类型,所以它也能够关联工作流。Document Set Actions分类所包含的操作就是为此功能服务的,它包含以下操作:
Capture a version of the Document Set:捕获Document Set的版本,如下图所示:
Send Document Set to Repository:将Document Set发送到Repository,如下图所示:
Set Content Approval Status of the Document Set:设置Document Set的内容审批状态,如下图所示:
Start Document Set Approval Process:启动Document Set的审批过程,如下图所示:
List Actions
List Actions分类包含以下操作:
Check In Item:签入项目,SharePoint Designer 2007就有此活动。
Check Out Item:签出项目,SharePoint Designer 2007就有此活动。
Copy List Item:复制列表项,SharePoint Designer 2007就有此活动。
Create List Item:创建列表项,SharePoint Designer 2007就有此活动。
Declare Record:定义记录,如下图所示:
Delete Drafts:删除草稿,如下图所示:
Delete Item:删除项目,SharePoint Designer 2007就有此活动。
Delete Previous Versions:删除之前的版本,Reusable Workflow和Site Workflow不可以使用此操作,如下图所示:
Discard Check Out Item:放弃签出项目,如下图所示:
Set Content Approval Status:设置内容审批状态,SharePoint Designer 2007就有此活动。但要注意,Site Workflow不可以使用此操作。
Set Field in Current Item:设置当前项目中的域,SharePoint Designer 2007就有此活动。同意,因为Site Workflow没有所谓的“当前项目”,也就不能使用此操作。
Undeclare Record:取消定义记录,如下图所示:
Update List Item:更新列表项,SharePoint Designer 2007就有此活动。
Wait for Change in Document Check-Out Status:等待文档签出状态更改,Reusable Workflow和Site Workflow不可以使用此操作,如下图所示:
Wait for Field Change in Current Item:等待当前项目中的域更改,SharePoint Designer 2007就有此活动。Site Workflow仍然不可以使用此操作。
Relational Actions
Relational Actions也是SharePoint Designer 2010新增的分类,它只包含一个操作:Lookup Manager of a User,用来查找指定用户的领导,并输出到变量,这是多么实用的操作啊。如下图所示:
Task Actions
Task Actions分类包含以下操作:
Assign a Form to a Group:将表单分配给组,SharePoint Designer 2007就有此活动。
Assign a To-do Item:分配代办事项,SharePoint Designer 2007就有此活动。
Collect Data From a User:从用户处收集数据,SharePoint Designer 2007就有此活动。
Start Approval Process:启动审批过程,如下图所示:
Start Custom Task Process:启动自定义任务过程,如下图所示:
Start Feedback Process:启动反馈过程,如下图所示:
Utility Actions
Utility Actions分类包含的操作主要是对于字符串和时间的处理,其实Core Actions中的一些操作也可以归到此分类中的,此分类中的操作如下:
Extract Substring from End of String:从字符串尾端开始截取子字符串,并输出到变量,如下图所示:
Extract Substring from Index of String:从字符串的自定义位置开始截取子字符串,并输出到变量,如下图所示:
Extract Substring from Start of String:从字符串起始位置开始截取子字符串,并输出到变量,如下图所示:
Extract Substring of String from Index with Length:从字符串的自定义位置开始截取指定长度的子字符串,并输出到变量,如下图所示:
Find Interval Between Dates:计算两个日期之间的时间跨度,并输出到变量,如下图所示:
SharePoint Designer 2010居然内置了如此大量的操作,势必能够为我们创建工作流带来极大的便利。如果这些内置的活动还不能满足我们的需求,我们还可以使用Visual Studio来为SharePoint Designer 2010开发自定义操作。
从上一篇文章中,我们已经知道SharePoint Designer 2010可以和Visio 2010联手设计和编辑工作流,那么下一篇文章我们就来看看Visio的工作流设计到底是什么样的。