SharePoint工作流解决方案QuickFlow系列(1)--QuickFlow入门
2009-10-13 09:16
302 查看
SharePoint的工作流具有很多的问题,其在开发复杂工作流上的能力“有限”,或者说其“潜力无限”,但是挖掘过程太过复杂,鉴于这个原因,结合自己在实际项目中的经验,笔者在5月份发布了QuickFlow1.0版,供大家免费使用,并在6月初的MSIW SharePoint精英峰会上进行了介绍,之后一直很懒散,没有对其进一步进行介绍,在接下的几篇文章中,将会对其进行深入的讲解。
本篇作为入门,先让大家了解一下QuickFlow在开发工作流时的基本操作。
QuickFlow作为SharePont WF工作流的扩展,采用VS2008作为开发工具,提供了一个新的工作流模型:WF3.0的 Flowchart, 并提供了一系列封装好的Activity。
QuickFlow具有以下核心类:
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顺序工作流项目 .
Step2:添加 QuickFow.dll的引用
Step3:修改工作里基类为 QuickFlow.FlowchartWorkflow
Step4: 添加 QuickFlow中的活动到工具栏.
Step5: 添加一个Start活动,并设置其 CorrelationToken属性(选中OwnerActivityName为工作流类,CorrelationToken为任意字符串).
Step6: 添加 GroupTask到设计器.设置 Group为一个SharePoint组的名字
Step7: 添加Decision活动, 设置Conditon属性.一般设置为按照上一级审批的审批结果判断.
通过GroupTask的TaskOutcomes可以取到审批结果
GroupTask.TaskOutcomes中的值是怎么来的呢?它对应任务InfoPath表单的 __TaskOutcome字段,
在表单中只要在审批动作执行的时候给__TaskOutcome赋予相应的值在工作流代码中即可取到。
Step8: 设计 InfoPath任务表单并将其发布到项目根目录下。
Step8: change workflow configure :
Step9: 发布工作流.
说明:在最终运行工作流之前,需要先把QuickFlow.dll部署到GAC.
转载自:/article/4789013.html
本篇作为入门,先让大家了解一下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内部,可以通过这两个活动实现多路流向判断 |
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顺序工作流项目 .
Step2:添加 QuickFow.dll的引用
Step3:修改工作里基类为 QuickFlow.FlowchartWorkflow
Step4: 添加 QuickFlow中的活动到工具栏.
Step5: 添加一个Start活动,并设置其 CorrelationToken属性(选中OwnerActivityName为工作流类,CorrelationToken为任意字符串).
Step6: 添加 GroupTask到设计器.设置 Group为一个SharePoint组的名字
Step7: 添加Decision活动, 设置Conditon属性.一般设置为按照上一级审批的审批结果判断.
通过GroupTask的TaskOutcomes可以取到审批结果
GroupTask.TaskOutcomes中的值是怎么来的呢?它对应任务InfoPath表单的 __TaskOutcome字段,
在表单中只要在审批动作执行的时候给__TaskOutcome赋予相应的值在工作流代码中即可取到。
Step8: 设计 InfoPath任务表单并将其发布到项目根目录下。
Step8: change workflow configure :
Step9: 发布工作流.
说明:在最终运行工作流之前,需要先把QuickFlow.dll部署到GAC.
转载自:/article/4789013.html
相关文章推荐
- SharePoint工作流解决方案QuickFlow系列(4)—Step Rounter(步骤路由)
- SharePoint工作流解决方案QuickFlow系列(2)--Task
- SharePoint工作流解决方案QuickFlow系列(3)—Task ReAssign
- SharePoint工作流解决方案QuickFlow系列(6)—事件总线(EventBus)
- SharePoint工作流解决方案QuickFlow系列(1)--QuickFlow入门
- SharePoint工作流解决方案QuickFlow系列(6)—事件总线(EventBus)
- SharePoint工作流解决方案QuickFlow系列(1)--QuickFlow入门
- SharePoint工作流解决方案QuickFlow系列(4)—Step Rounter(步骤路由)
- SharePoint工作流解决方案QuickFlow系列(5)—会签(MultiTask and GroupTask)
- SharePoint工作流解决方案QuickFlow(1)
- SharePoint工作流解决方案QuickFlow(4)---Step Rounter(步骤路由)
- Netty 快速入门系列 - Chapter 7 数据包协议【第十七讲】解决方案- 分割符 及 长度+数据
- Netty 快速入门系列 - Chapter 8 数据包协议【第二十讲】解决方案-Pipeline用例代码
- SharePoint工作流解决方案QuickFlow(2)--Task
- 【JavaSE系列-入门篇5】——常见问题以及解决方案
- SharePoint工作流解决方案QuickFlow(3)—Task ReAssign
- Netty 快速入门系列 - Chapter 7 数据包协议【第十八讲】解决方案-经典协议包结构
- Netty 快速入门系列 - Chapter 7 数据包协议【第十九讲】解决方案-粘包分包原理
- dnn6 入门系列:二 怎么搭建dnn6解决方案?
- Python从入门到精通系列之Python3开发环境搭建与多版本共存的解决方案