K2 blackpearl 流程开发(一)
转:http://blog.csdn.net/gxiangzi/article/details/8444060
郁闷,今天K2的license过期了,很多东西都没法用了,还得去找PM大大帮忙申请一个。
简单说一下K2 blackpearl的开发步骤,前提条件是K2已经安装好,而且K2 workspace打开顺利。
1.首先我们要新建一个解决方案,名称呐就叫K2Project好了,然后添加两个项目,一个是web项目叫K2Web,另一个呢是K2WorkflowProject 叫K2Workflow 专门用作我们画流程用的。弄完以后应该是下面这样的:

2.因为K2Workflow的表单有两种,FormsGenerationClientEvent和DefaultClientEvent,实验了一下,第一种呢应该是类似于傻瓜式表单的那种,基于Sharepoint的,配置好之后表单完全不用你自己写。第二种是我们自己做表单,然后配置表单的URL。第二种是很灵活的,而且也是我们最常用的,因为流程肯定要做一些定制化处理比如修饰页面啊、加一些业务逻辑啦,所以我想介绍第二种,第一种自己尝试吧。
3.使用自定义表单需要将自己的web项目首先部署到IIS,所以我们先将K2Web部署到IIS,而且将K2Web设置为windows登录。然后打开k2 workspace,设置一下我们web站点地址的参数值,后面开发流程设置表单URL时候使用,具体见下图:

4.下面我们开始流程开发第一大步骤,画流程咯!先弄个最简单的流程,就请假流程吧,表单 三个参数,分别是请家人、请假天数、请假原因,然后一个 经理审批 就结束好了。
4.1 在K2Workflow上点右键,新建一个Process,名字就叫LeaveProcess。
4.2 在打开的设计器上已经自动生成了 Start 活动,然后我们打开工具箱,拖几个Default Activity,然后往这几个Activity上 都对应的拖拽一个DefaultClientEvent,这时候会弹出向导框,下面这几张图片简单介绍下里面的内容。


4.3 下面暂停一下,说一下K2里面每个表单都会有的Action、Outcome和Line。
Actions代表的是人与工作流交互的时候,对流程处理的意见(例如同意/不同意/驳回等等),K2的Action还可以进行权限控制。
Outcomes是Action的自然扩展,决定了流程的走向,可以设定业务规则,比如说至少2个人同意还是所有人都同意等等。大多数情况下ACTIONS 和OUTCOMES之间是一对一的关系。也存在不是一对一关系的时候,这种情况出现在并发流程上。K2的OUTCOMES只要有一个满足条件,其他的OUTCOME就不会被激活了。针对K2流程的并发流程上的条件通过K2的另一个重要概念Line rule来解决,也就是在Line
Rule进行条件的设置。
这三个是K2很重要的概念,具体请看http://www.k2underground.com/blogs/blackpointtipsandtricks/archive/2009/03/18/actions-outcomes-and-line-rules.aspx
4.4 贴图说一下LeaveProcess的Action、Outcome配置。


4.5 流程表单的配置基本是就是这样,当然里面还有很多细节东西,请大家仔细研究。下面配置下每个活动的 审批人,活动的审批人可以设置为系统内置的角色或者指定的人或者在代码中自己定义人,方便起见我先在k2 workspace的user manage中添加了两个组Dev和PM,拉了几个人进去,Dev发起,PM审批。活动配置如下:

5.以上就是流程图的配置,虽然写了不少,但是远远没有说详细,要讲的东西实在太多了,具体还请大家自行摸索或查询资料,还有请大家按照步骤把其它活动结点配置完全。总之,最后的流程图看起来应该是下面的样子:

6.流程的发布。发布之前确保Visual Studio 2008 Web Deployment Projects已安装,而且K2服务已经开启。点击流程设计器右上角Depoly弹出发布对话框,配置无错误的话控制台会输出 部署成功。
K2 blackpearl 流程开发(一)的更多相关文章
- K2 blackpearl 流程开发(二)
转:http://blog.csdn.net/gxiangzi/article/details/8444590 本来想一篇文章把流程开发介绍完的,后来发现实在是太多了,只好分成两部分了.上一篇很简单的 ...
- 使用C#代码审批/转签K2 Blackpearl流程
转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125302.html 以下是使用代码审批.转签k2 blackpearl流程,初探K2 Bl ...
- 部署K2 Blackpearl流程时出错(由于目标计算机积极拒绝,无法连接)
转:http://www.cnblogs.com/dannyli/archive/2011/12/01/2270118.html 亲,如果你也遇到过这个问题,就请继续往下看哦 在部署K2 Blackp ...
- 使用C#代码发起K2 Blackpearl流程
转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125285.html 使用C#代码,发起一个K2的流程,其形式和链接SQL Server数据 ...
- 部署K2 Blackpearl流程时出错(与基础事务管理器的通信失败或Communication with the underlying transaction manager has failed.
转:http://www.cnblogs.com/dannyli/archive/2011/12/01/2270222.html 亲,在部署K2流程是,是否遇到这个错误(以下是中.英文错误信息) 中文 ...
- K2 Blackpearl开发技术要点(Part2)
转:http://www.cnblogs.com/dannyli/archive/2012/09/14/2685282.html K2 Blackpearl开发技术要点(Part2)
- K2 Blackpearl开发技术要点(Part1)
转:http://www.cnblogs.com/dannyli/archive/2012/09/14/2685260.html K2 Blackpearl开发技术要点(Part1) 预知后事如何,请 ...
- K2 blackpearl 安装
转:http://blog.csdn.net/gxiangzi/article/details/8432188 K2是国外的一款BPM引擎,基于MS的Workflow,关于它的详细介绍在我之前一片博客 ...
- K2 Blackpearl 4.6.8 安装步骤详解
由于某些原因,我幼小的心灵受到了很大的创伤,倍感世态之炎凉,久久不能愈合,也因此很久没再接触K2 Blackpearl了.偶然来了兴趣,想整个K2的环境,闲暇之余了解其新功能,温故知新,也希望从中能讨 ...
随机推荐
- 任务调度 QUARTZ
任务调度在目前的JAVA应用程序中运用的十分普遍,故掌握QUARTZ是必备的技能 闲话少说,上官网:http://www.quartz-scheduler.org/ 下载最新1.80资源包 commo ...
- jQuery1.9.1源码分析--Ajax模块
//Serialize an array of form elements or a set of //key/values into a query string // 将数组形式的表单元素或者哈希 ...
- springMVC+ibatis数据持久化入门级学习例子
1.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version=" ...
- linux源码阅读笔记 move_to_user_mode()解析
在linux 0.11版本源代码中,在文件linux/include/asm/system.h中有一个宏定义 move_to_user_mode() 1 #define move_to_user_m ...
- Web前端业界氛围极好的群——鬼懿IT
鬼群简介 鬼懿IT主群号:,鬼懿IT-成长群:181368696 , 创建于2005年12月 ,聚集的业内人事包括:阿当,大漠,辣妈,崔凯,Rei,周裕波,司徒正美,丸子,鬼森林,寒冬,franky, ...
- Cache 应用程序数据缓存
System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类.此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和数据集.它还为这些对象提供了失效 ...
- hdu1102
http://acm.hdu.edu.cn/showproblem.php?pid=1102 最小生成树(模板题) 3 0 990 692 990 0 179 692 179 0 1 1 2 一共3个 ...
- Project Euler 86:Cuboid route 长方体路径
Cuboid route A spider, S, sits in one corner of a cuboid room, measuring 6 by 5 by 3, and a fly, F, ...
- 【Linux高频命令专题(18)】tail
概述 tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但 ...
- [翻译] - <Entity Framework> - 直接执行数据库命令
原文:[翻译] - <Entity Framework> - 直接执行数据库命令 纯属学习上的记录, 非专业翻译, 如有错误欢迎指正! 原文地址: http://msdn.microsof ...