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的环境,闲暇之余了解其新功能,温故知新,也希望从中能讨 ...
随机推荐
- hdu 1166 树状数组 线段树入门
点修改 区间求和 #include <cstdio> #include <cstdlib> #include <cmath> #include <map> ...
- C# 常用的工具类
编码解码.图片与byte[].日志文件写入和读取 /// <summary> /// 将字符串编码为Base64字符串 /// </summary> /// <param ...
- CC150 上面重要的题目总结
第一章 : 全部重要 (1.6, 1.7 Leetcode上有). 1.5 面A碰到 (string compression) 1.7面Z碰到 (set 0) 1.8面Bigfish碰到 (strin ...
- ZOJ 3757 Alice and Bob and Cue Sports(模拟)
题目链接 题意 : 玩台球.Alice 和 Bob,一共可以进行m次,Alice 先打.有一个白球和n个标有不同标号的球,称目标球为当前在桌子上的除了白球以外的数值最小的球,默认白球的标号为0.如果白 ...
- hdu 4599 Dice 概率DP
思路: 1.求f[n];dp[i]表示i个连续相同时的期望 则 dp[0]=1+dp[1] dp[1]=1+(5dp[1]+dp[2])/6 …… dp[i]=1+(5dp[1 ...
- 使用load()方法异步请求数据
使用load()方法通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,它的调用格式为: load(url,[data],[callback]) 参数url为加载服务器地址,可选项d ...
- Matlab程序 转C++/Opencv基于Mat 不可不知的17个函数
1.matlab中的imread相当于OpenCV中的cvLoadImage(imageName, CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR): ...
- LR_问题_在导入wsdl时出现parsing error
问题描述:使用LR录制webservice协议的脚本,在导入wsdl时出现parsing error,详见图 问题解决:在导入wsdl时输入的地址错误,只指定了地址的虚拟目录名称,未指定方法名称,应该 ...
- Android listview的item设定高度
在item的layout文件中,用android:layout_height设置item的高度.运行,高度设置无效. 解决办法: 给item设定minHeight,即可. -------------- ...
- 【Linux常用工具】03. Linux性能测试工具ab
在Apache服务器的套件中,有一个叫做 ab (ApacheBench) 的工具. ApacheBench 主要是用来测试Apache服务器执行效率用的 ApacheBench 可以针对某个特定的 ...