转: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 流程开发(一)的更多相关文章

  1. K2 blackpearl 流程开发(二)

    转:http://blog.csdn.net/gxiangzi/article/details/8444590 本来想一篇文章把流程开发介绍完的,后来发现实在是太多了,只好分成两部分了.上一篇很简单的 ...

  2. 使用C#代码审批/转签K2 Blackpearl流程

    转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125302.html 以下是使用代码审批.转签k2 blackpearl流程,初探K2 Bl ...

  3. 部署K2 Blackpearl流程时出错(由于目标计算机积极拒绝,无法连接)

    转:http://www.cnblogs.com/dannyli/archive/2011/12/01/2270118.html 亲,如果你也遇到过这个问题,就请继续往下看哦 在部署K2 Blackp ...

  4. 使用C#代码发起K2 Blackpearl流程

    转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125285.html 使用C#代码,发起一个K2的流程,其形式和链接SQL Server数据 ...

  5. 部署K2 Blackpearl流程时出错(与基础事务管理器的通信失败或Communication with the underlying transaction manager has failed.

    转:http://www.cnblogs.com/dannyli/archive/2011/12/01/2270222.html 亲,在部署K2流程是,是否遇到这个错误(以下是中.英文错误信息) 中文 ...

  6. K2 Blackpearl开发技术要点(Part2)

    转:http://www.cnblogs.com/dannyli/archive/2012/09/14/2685282.html K2 Blackpearl开发技术要点(Part2)  

  7. K2 Blackpearl开发技术要点(Part1)

    转:http://www.cnblogs.com/dannyli/archive/2012/09/14/2685260.html K2 Blackpearl开发技术要点(Part1) 预知后事如何,请 ...

  8. K2 blackpearl 安装

    转:http://blog.csdn.net/gxiangzi/article/details/8432188 K2是国外的一款BPM引擎,基于MS的Workflow,关于它的详细介绍在我之前一片博客 ...

  9. K2 Blackpearl 4.6.8 安装步骤详解

    由于某些原因,我幼小的心灵受到了很大的创伤,倍感世态之炎凉,久久不能愈合,也因此很久没再接触K2 Blackpearl了.偶然来了兴趣,想整个K2的环境,闲暇之余了解其新功能,温故知新,也希望从中能讨 ...

随机推荐

  1. Redis学习笔记(十)——过期时间、访问限制与缓存

    http://irfen.me/redis-learn-10-time-expire-limit-cache/ 过期时间 之前应该提到过 redis 的特性之一是可以设置键的超时时间.命令是expir ...

  2. Android 判断当前联网的类型 wifi、移动数据流量

    先获取系统管理网络连接的Manager: ConnectivityManager connectivityManager = (ConnectivityManager) getSystemServic ...

  3. BFS 模板

    转自:欣哥 下面是bfs一般的形式,谈不上模板但一般都这么来做有点乱有什么多交流 bfs一般用于求最短时间 #include<stdio.h>#include<queue>us ...

  4. Android中ExpandableListView,每次只展示一个分组

    // 只允许打开一个分组 expandListView.setOnGroupExpandListener(new OnGroupExpandListener() { @Override public ...

  5. BZOJ 3720 gty的妹子树

    块状树裸题 块状树: 首先对树进行分块,分出的每一块都是一个连通块 通常的分块的方式如下: 1.父亲所在块不满,分到父亲所在块中 2.父亲所在块满,自己单独开一个块 (貌似有更为优越的分块方式? 注意 ...

  6. 74. Search a 2D Matrix

    题目: Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the f ...

  7. JDBC学习总结(五)

    取得数据库连接是件耗时间及资源的动作,尽量利用已打开的连接,也就是重复利用取得的Connection实例,是改善数据库连接性能的一个方式,而采用连接池是基本做法.由于取得Connection的方式根据 ...

  8. JDynamic :支持Json反序列化为Dynamic对象

    JDynamic :支持Json反序列化为Dynamic对象   2010年 .NET 4.0 发布前后,从3.5向4.0迁移,那时也有一些异构系统的需求,主要是和PHP打交道,通信使用的HTTP 格 ...

  9. opencv 图像阴影检测

    参数说明: IplImage *workImg-当前全局变量,表示正在显示的图片. downleft, upright- 检测出的阴影部分矩形框的两个对角顶点. /****************** ...

  10. Lotus Notes中编程发送邮件(二)

    在编程发送各种类似通知的邮件时,时常会需要发件人显示为某个特定的帐户,比如某个部门的名称或者管理员的名字.另一种需求是,用户收到某封邮件后,回复邮件的地址不同于发件人栏显示的地址.而正常情况下,发送邮 ...