颇为阿娇978 发表于 2015-9-24 09:36:26

SharePoint工作流解决方案QuickFlow系列(1)--QuickFlow入门

  相关文章: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顺序工作流项目 .

  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.

  后记:
  在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
页: [1]
查看完整版本: SharePoint工作流解决方案QuickFlow系列(1)--QuickFlow入门