流程定义

  • 使用Eclipse设计器插件
  • 使用web设计器
  • 组件模型属性

使用Eclipse设计器插件

eclipse设计器插件是在eclipse4.3\(kepler\)版本开发的,经测试,是可以在eclipse4.3+,myeclipse9+上面运行
  • 安装Eclipse插件

在百度网盘上下载snaker-designer-*.*.*.jar插件包,直接copy至eclipse安装目录下的plugins文件夹里即可使用。

考虑到大家下载的eclipse版本可能无法使用设计器,建议直接从百度网盘上下载经过测试的eclipse-kepler版本

Myeclipse安装插件时,可直接把插件包copy至dropins文件夹下面即可

  • 创建流程定义

1.新建流程

依次选择File->New->Other->Snaker,如下图所示:

选择Snaker Process File并输入文件名称,如下图所示:

点击Finish,则打开流程设计器主界面,其中包括两大部分:流程组件、属性Properties视图,如下图所示:

2.定义节点

由于节点定义都是拖拽式的,所以不方便用图形来演示。这里仅仅贴上一个定义好的请假流程图:

定义流程的几个注意点:

1)一个流程必须设置name、displayname属性

2)最常用的节点是task,如果是人工任务,则需要设置assignee[参与者]、form[设置表单url],表单url的规则可以表示contextPath下面的绝对路径,也可以表示相对路径[相对路径是用于页面include情况]

3)decision节点用于决策分支,必须设置expr属性,如果有多个选择分支,则建议设置连接线的expr属性,可参考测试用例

4)snaker支持的会签,仅仅是设置task的performType

5)snaker支持三种参与者方式

  • 直接设置静态参与者,即assignee值为用户、部门或角色的标识符
  • 通过运行时动态传递,即assignee值为变量名称,在调用流程引擎的api时,通过map参数传递这个变量值
  • 通过自定义类[继承Assignment类],设置assignmentHandler属性,assign方法返回值就是参与者

6)主办、协办是通过task节点的taskType设置的。snaker既支持单独的节点作为协办节点,也支持主办节点动态的创建协办任务

3.保存定义

流程定义的保存,实际上就是将图形元素转换为xml格式并保存。上面请假流程的xml数据为

https://github.com/snakerflow/snaker-web/blob/master/src/main/resources/flows/leave.snaker

使用web设计器

web设计器是基于myflow开发的,使用的技术为raphael。

集成web设计器

设计器代码位于snaker-web项目的\snaker-web\src\main\webapp\styles\js\snaker目录下。

如果已有的项目需要集成web版本的设计器,主要是copy这个目录,并且参考\snaker-web\src\main\webapp\WEB-INF\content\snaker目录下process开头的jsp文件,因为设计器需要页面来编辑和展现。

创建流程定义 使用web设计器的前提是已经成功运行snaker-web应用,具体可参考“1.5演示部署”章节

1)新建流程

以admin账号登录snaker-web,点击左栏菜单:流程管理->流程定义,如下图所示:

点击“设计”按钮,则打开web流程设计器,如下图所示:

web版本的流程设计器布局与样式尽量与eclipse的设计器插件保持一致。其节点和属性参考“组件模型属性”介绍

在流程定义列表页面,点击“初始化”按钮,即可产生6个用于测试的业务流程,如下图所示:

注意:流程的状态表示当前流程是否可用,版本号用于管理同名流程的多版本管理

上图中的四个图标按顺序分别表示:启动流程、编辑、重新设计、禁用。点击重新设计,可打开已经定义好的业务流程,如下图所示:

2)定义节点

web设计器定义流程时注意以下两点:

1)web流程设计器还是适用于开发人员,不适合业务人员。如果面向业务人员,需要多设计器进行改造

2)设计器中连接线需要先点击连接线图标,再选择节点1、节点2,这样才能连接两个节点。连接线的删除是通过del键盘去操作的

3 保存定义

也是将图形元素转换为xml格式,并保存至数据库中,参见wf_process的content字段。

组件模型属性

results matching ""

    No results matching ""