文档章节

开源驰骋工作流引擎设计ccflow已读回执设计

ccflow周朋
 ccflow周朋
发布于 2013/04/16 16:46
字数 785
阅读 130
收藏 1

驰骋工作流引擎设计ccflow已读回执

关键字:工作流引擎 已读回执 CCFlow 工作流程引擎已读回执 开源工作流引擎

工作流引擎已读回执定义:

在工作流程引擎中:节点A 向节点B运动后,A的处理人想知道B是否打开此工作。

我们处理工作的时间周期, 察看工作- 打开工作- 处理工作- 发送工作。

在打开工作时触发工作已读回执动作 , 在发送工作时处理节点收听动作,关于什么是节点收听请参考驰骋工作流引擎操作手册的其他章节。

扩展阅读 - 电子邮件中已读回执:

如果您在使用电邮写信时选择了“已读回执”,当收件人打开您的邮件时,会提示发送方要求发送已读回执,如果对方同意发送回执,那么就会有一个已读回执发送回来给你,您就可以确认对方是否收到了该邮件,并且知道对方是什么时候阅读该邮件的。如果对方拒绝发送回执,那样您就无法知道接收方是否已读。

但是ccflow 没有处理拒绝发送已读回执动作。

应用背景:

在财务报销流程中,申请者想在第一时间里知道他的上级领导是否打开他申请单。

Ccflow的抽象模式:

不设置,自动回执,由上一节点的表单字段决定,由sdk开发者参数决定四种ccflow已读模式。

不设置:默认为不设置。

由上一节点的表单字段决定: 比如A发向B ,在B节点上设置此规则,要在A的节点表单上增加一个系统字段SysIsReadReceipts 建议为boolen类型,0表示不回执,1表示需要阅读回执。

由sdk开发者参数决定:如果您采用sdk模式作开发,可以用此种方式作参数告诉ccflow 需要阅读回执。比如:A 发向 B,A节点发送的sdk 参数传入 SysIsReadReceipts 值为0 或者1 ,表示是否需要已读回执。

设置与应用:

设置ccflow的回执规则路径 =流程设计器 察看节点 - 节点属性 -节点属性

clip_image002

下面介绍测试用例:如下图。

clip_image004

设计说明:

1,在第二步的部门经理审批节点的节点属性里设置了,自动回执。也就是说,申请人填写后,发送给部门经理审批,部门经理打开待办工作后,ccflow 会自动地向申请人发一个消息,告诉申请人已经阅读了他的工作。

2,在部门经理审批表单里增加了一个boolen字段,是否需要已读回执,在人力资源部归档节点设置了“由上一节点的表单字段决定”。

运行的效果与预期一致。

单元测试:

参考 D:\ccflow\trunk\DemoAndTesting\BP.TestCase\BaseFunc\ReadReceipts.cs

© 著作权归作者所有

共有 人打赏支持
ccflow周朋

ccflow周朋

粉丝 184
博文 222
码字总数 147629
作品 2
济南
后端工程师
私信 提问
开源的Java工作流引擎 - JFlow

驰骋工作流引擎研发与2003年,具有.net与java两个版本,这两个版本代码结构,数据库结构,设计思想,功能组成, 操作手册,完全相同. 导入导出的流程模版,表单模版两个版本完全通用。 CCFl...

ccflow周朋
2015/05/17
0
6
win10系统登陆提示“你的设备处于脱机状态..“解决方案

Technorati Tags: win10系统开机,设备脱机状态,Microsoft账号和密码,开源工作流引擎,驰骋.net工作流引擎,开源表单引擎,ccform,驰骋工作流程引擎,驰骋表单引擎,自由表单,ccflow,jflow,ccbpm...

Hguo
2016/08/27
2.6K
0
驰骋工作流引擎 - ccflow

开源的驰骋工作流引擎简介 驰骋工作流引擎研发与2003年,具有.net与java两个版本,它们代码结构、数据库结构、设计思想、功能组成、操作手册完全相同。流程表单模版两个版本完全通用。 CCFl...

ccflow
2009/06/05
0
20
OSCHINA 第 13 期高手问答:工作流开发

本期 OSCHINA 高手问答我们请来 ccflow 的创始人周朋 (@ccflow ) 为我们解答工作流开发方面的各种问题。 周朋, 开源的驰骋工作流程引擎ccflow设计者,创始人.致力于可复用的框架技术,映射技术...

红薯
2012/03/25
9.1K
48
开源驰骋/JFlow

#JFlow开源工作流 目前支持以下数据库(都能正确获取注释信息): 流程引擎设计支持所见即所得的设计:节点设计、表单设计、单据设计、报表定义设计、以及用户菜单设计。 流程模式简洁,只有4种...

开源驰骋
2015/04/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
今天
3
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
3
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
4
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
4
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部