摘要: 在前文中我们提到,SharePoint 的任务封装机制决定了它的状态机应用存在两个问题,一个是多人审批时,需要为每个审批人都添加一个EventDrivenActivity;另一个是审批人数在设计期就必须确定。这两个问题有没有办法解决呢?幸亏 WF 提供了流程动态修改的功能,我们可以从 StateActivity 继承一个自己的 State 活动,在状态执行前根据审批人的数量,在状态中动态添加 CreateTask、EventDrivenActivity 和 OnTaskChanged 活动。自定义 State 活动的 Execute 方法的代码逻辑。采用自定义 State 活动实现的状态机工作 阅读全文
posted @ 2011-04-14 14:26 Hayden Han 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 在前文中我们提到 SharePoint 是在 WF 工作流引擎之上,封装了事件驱动接口的一个工作流平台;SharePoint 在 WF 上扩充了很多 Activity,其中和 WF 密切相关的有三个常用 Activity是: OnWorkflowActivated,CreateTask,OnTaskChanged。一个简单的 SharePoint 顺序流。OnWorkflowActivated:响应流程启动的事件。CreateTask:生成 SharePoint 的任务。OnTaskChanged:响应任务被改变的事件。在一个流程中只能有一个 OnWorkflowActivated ;可以有任 阅读全文
posted @ 2011-04-14 14:22 Hayden Han 阅读(460) 评论(0) 推荐(1) 编辑
摘要: SharePoint 的工作流是基于 Workflow Foundation 的,我们就先谈谈 WF,只有对 WF 有正确的认识,才能找到 SharePoint 工作流的解决方案。Workflow Foundation 的 2 个最显著的特点 直接支持状态机模型状态机是工作流的理论基础,但以前几乎没有工作流产品直接支持状态机,因为一般的工作流产品大都有直接的商业目的,目标就是应用,而状态机的技术难度较高,出于降低应用难度的原因,都会对状态机进行封装,使之可以在一个流程图中实现流程的跳转。通过牺牲功能,来换取易用性。而 WF 的目标是一个基础的架构,所以可以直接支持状态机模型,虽然开发有较高的技 阅读全文
posted @ 2011-04-14 14:09 Hayden Han 阅读(637) 评论(0) 推荐(0) 编辑