相关文章:QuickFlow1.0发布 

SharePoint的工作流具有很多的问题,其在开发复杂工作流上的能力“有限”,或者说其“潜力无限”,但是挖掘过程太过复杂,鉴于这个原因,结合自己在实际项目中的经验,笔者在5月份发布了QuickFlow1.0版,供大家免费使用,并在6月初的MSIW SharePoint精英峰会上进行了介绍,之后一直很懒散,没有对其进一步进行介绍,在接下的几篇文章中,将会对其进行深入的讲解。

本篇作为入门,先让大家了解一下QuickFlow在开发工作流时的基本操作。

QuickFlow作为SharePont WF工作流的扩展,采用VS2008作为开发工具,提供了一个新的工作流模型:WF3.0的 Flowchart, 并提供了一系列封装好的Activity。

QuickFlow具有以下核心类:

类名

描述

 

FlowchartWorkflow

工作流基类

 

Start

工作流开始

 

End

工作流结束

 

Label

标签

做为一个虚节点,只是起到显示的作用

Task

任务分配

分配单个任务,需要处理其TaskCreating事件给User属性赋值

MultiTak

分配多个任务

可以选择并行分配任务还是串行分配

GroupTask

分配任务给SharePoint的组

 

Step

步骤

可以作为其他活动的容器,QuickFlow的第一级活动必须是本身提供的几个,如果要用到其他活动,如CodeActivity,可以将其放于Step内部

Decison

工作流流向判断

只支持两路分支

Rounter+Rule

多路分支判断

在Step内部,可以通过这两个活动实现多路流向判断

QuickFlow的开发步骤跟VS2008开发SharePoint+InfoPath工作流的标准步骤基本是一样的:

1) 创建工作流项目

2) 添加加对QuickFlow.dll的引用,并将QuickFlow中的活动添加到工具栏。(download:http://quickflow.codeplex.com/

3) 修改工作流基类为FlowchartWorkflow

4) 将默认的OnWrokActivited活动删除,并添加Start活动

5) 然后即可继续添加其他活动

6) 设计InfoPath表单。

7)写代码建立Workflow和InfoPath之间的联系

8)Deploy and Test

下面是详细的步骤:

Step1:创建一个SharePoint顺序工作流项目 .

clip_image002

Step2:添加 QuickFow.dll的引用

clip_image004

Step3:修改工作里基类为 QuickFlow.FlowchartWorkflow

clip_image006

Step4: 添加 QuickFlow中的活动到工具栏.

clip_image009

Step5: 添加一个Start活动,并设置其 CorrelationToken属性(选中OwnerActivityName为工作流类,CorrelationToken为任意字符串).

clip_image011

Step6: 添加 GroupTask到设计器.设置 Group为一个SharePoint组的名字

clip_image013

Step7: 添加Decision活动, 设置Conditon属性.一般设置为按照上一级审批的审批结果判断.

通过GroupTask的TaskOutcomes可以取到审批结果

clip_image015

clip_image017

GroupTask.TaskOutcomes中的值是怎么来的呢?它对应任务InfoPath表单的 __TaskOutcome字段,

在表单中只要在审批动作执行的时候给__TaskOutcome赋予相应的值在工作流代码中即可取到。

 

Step8: 设计 InfoPath任务表单并将其发布到项目根目录下。

clip_image019

clip_image021

Step8: change workflow configure :

clip_image023

Step9: 发布工作流.

说明:在最终运行工作流之前,需要先把QuickFlow.dll部署到GAC.

clip_image025

后记:

在SharePoint里用InfoPath需要启用Session,否则会出现错误:“该表单无法显示,因为会话状态不可用。” 

参考:http://www.cnblogs.com/TerryFeng/archive/2009/01/06/1370641.html

本文示例代码:

http://cid-7f5a25cdf47d03e6.office.live.com/self.aspx/QuickFlow/Examples/ThreeStepWorkflowExample%5E_Vs%5EMInfoPath.zip

posted on 2009-08-27 00:03  jianyi  阅读(9770)  评论(69编辑  收藏  举报