集成activiti-modeler 到 自己的业务系统
本文目的: 将activit 5.12.1 的 modeler 流程设计器 集成到自己的工程中去
解决问题:
1. 复制相关资源文件到自己的工程中
2. 解决modeler的路径访问问题,迁移到非系统根目录
3. 跟自己系统的spring无缝集成
首先请下载官方最新 5.12.1 发布包
下载地址: https://github.com/Activiti/Activiti/archive/activiti-5.12.1.zip
解压后如下图

步骤:
1. 复制相关文件
1.1首先复制类路径资源文件
复制 \modules\activiti-webapp-explorer2\src\main\resources\下

db.properties 没有选中
选中文件到你的classpath 根目录下,(src 或者resource 类路径下)
1.2 复制ui文件到你的webroot文件夹中
在 WebRoot目录中建立一个文件夹 取名 modeler
复制 modules\activiti-webapp-explorer2\src\main\webapp 下

选中文件夹 到modeler目录下.
1.3 修改web.xml文件. 添加modeler的servlet
添加如下代码:
- <!-- Restlet adapter, used to expose modeler functionality through REST -->
- <servlet>
- <servlet-name>RestletServlet</servlet-name>
- <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
- <init-param>
- <!-- Application class name -->
- <param-name>org.restlet.application</param-name>
- <param-value>org.activiti.explorer.rest.application.ExplorerRestApplication</param-value>
- </init-param>
- </servlet>
- <!-- Catch all service requests -->
- <servlet-mapping>
- <servlet-name>RestletServlet</servlet-name>
- <url-pattern>/modeler/service/*</url-pattern>
- </servlet-mapping>
首先确认. 你的工程引入了spring的监听. 也就代表你工程有spring . 因为activit-modeler严重依赖spring.
如果你工程没有spring环境, 建议下面就别看了. (先把自己的ssh , ssi , ssm 等框架搭建起来).
如果你使用的是spring mvc 建议你在你的mvc控制文件中加入
- <mvc:resources location="/modeler/" mapping="/modeler/**" />
因为很有可能你根我一样过滤的是所有路径

1.4 复制modules\activiti-webapp-explorer2\src\main\java\org\activiti\explorer\rest\application下的
ExplorerRestApplication.java文件到你的classpath路径下(会提示报错. 必须的. 因为还没有引入相关jar依赖)
1.5 在你的pom.xml文件中引入如下代码
仓库:
- <repository>
- <id>buzzmedia</id>
- <url>http://maven.thebuzzmedia.com</url> <!-- ImageScalr -->
- </repository>
- <repository>
- <id>activiti</id>
- <name>Activiti</name>
- <url>https://maven.alfresco.com/nexus/content/repositories/activiti/</url>
- </repository>
- <repository>
- <id>Alfresco thirdparty</id>
- <url>https://maven.alfresco.com/nexus/content/repositories/thirdparty/</url>
- </repository>
- <repository>
- <id>activiti-third-party</id>
- <name>Activiti third party</name>
- <url>https://maven.alfresco.com/nexus/content/repositories/activiti-thirdparty/</url>
- </repository>
- <repository>
- <id>maven-restlet</id>
- <name>Public online Restlet repository</name>
- <url>http://maven.restlet.org</url>
- </repository>
jar依赖
- <dependency>
- <groupId>org.activiti</groupId>
- <artifactId>activiti-modeler</artifactId>
- <version>${activiti.version}</version>
- </dependency>
- <dependency>
- <groupId>org.activiti</groupId>
- <artifactId>activiti-explorer</artifactId>
- <version>${activiti.version}</version>
- <exclusions>
- <exclusion>
- <groupid>com.vaadin</groupid>
- <artifactid>vaadin</artifactid>
- </exclusion>
- <exclusion>
- <groupid>org.vaadin.addons</groupid>
- <artifactid>dcharts-widget</artifactid>
- </exclusion>
- <exclusion>
- <artifactid>activiti-simple-workflow</artifactid>
- <groupid>org.activiti</groupid>
- </exclusion>
- </exclusions>
- </dependency>
- <!-- 查看流程详细定义 -->
- <dependency>
- <groupId>org.activiti</groupId>
- <artifactId>activiti-diagram-rest</artifactId>
- <version>${activiti.version}</version>
- </dependency>
修改 diagram-viewer\index.html
文件.
如果你打算使用他的流程跟踪的话(建议修改,5.13版本跟踪页面已经支持IE了.不集成还费劲自己搞跟踪图提示呢?)
只需要使用5.13的
jstools.js
ProcessDiagramCanvas.js
在 \modules\activiti-webapp-explorer2\src\main\webapp\diagram-viewer\js 下
这两个js 替换 5.12.1的同名js即可

OK编译,clean 下载jar. ....
里面的spring版本替换成你自己的版本
OK了. 至此,集成到项目中也就完成了.
是否要测试下?
启动
访问:
http://localhost:8080/YouPRJ/modeler/service/editor?id=2050
2050 替换成自己的流程部署文件id

OK可以直接编辑. 保存.
集成activiti-modeler 到 自己的业务系统的更多相关文章
- SSH框架集成Activiti Modeler在线设计器页面出现问号及乱码的解决办法
文·原创/朱季谦 工作流是一个针对企业用户.开发人员.系统管理员的轻量级工作流业务管理平台,其核心是使用Java开发的快速.稳定的BPMN2.0流程引擎.在我们日常开发当中,例如oa系统里的请假功能, ...
- 整合Activiti Modeler到业务系统(或BPM平台)
http://www.kafeitu.me/activiti/2013/03/10/integrate-activiti-modeler.html 1. 为什么要整合 Activiti 5.10版本把 ...
- 集成新版(5.17+)Activiti Modeler与Rest服务
声明: 此教程适合Activiti 5.17+版本. 本博客所涉及的内容均可在kft-activiti-demo中找到. 在线demo可以访问 http://demo.kafeitu.me:8080/ ...
- Slickflow.NET 开源工作流引擎基础介绍(二) -- 引擎组件和业务系统的集成
集成流程引擎的必要性 业务过程的变化是在BPM系统中常见的现象,企业管理层需要不断优化组织架构,改造业务流程,不可避免地带来了业务流程的变化,企业信息系统就会随之面临重构的可能性.一种直接的方式是改造 ...
- Activiti(二) springBoot2集成activiti,集成activiti在线设计器
摘要 本篇随笔主要记录springBoot2集成activiti流程引擎,并且嵌入activiti的在线设计器,可以通过浏览器直接编辑出我们需要的流程,不需要通过eclipse或者IDEA的actiB ...
- Activiti Modeler初探实践
以下内容对实践activiti很有用,不过我用的不是github下载的源码包编译出来的war包,不知道什么原因我打出来的包会有点问题.不过这不重要,换个地方下载来源就行,下载网址: http://dl ...
- Liferay7 BPM门户开发之46: 集成Activiti用户、用户组、成员关系同步
在实际的BPM集成开发过程中,Liferay和Activiti这两个异构的系统之间,用户.组的同步需求非常重要,用来实现签收组的概念,比如指定签收组.会签.抢签都需要用到. Activiti可以通过自 ...
- 浅谈Activiti Modeler 的扩展
为什么要扩展 最近项目打算用activiti工作流中activiti modeler来做模块的可视化订阅,但是原生的activiti任务节点,有一些不符合业务需要,比如 配置项多,属性 ...
- 统一门户与业务系统的sso整合技术方案(单点登录)
一.单点登录(SSO,Single Sign On)整合目前计划接入统一门户的所有业务系统均为基于JavaEE技术的B/S架构系统.由于统一门户的单点登录技术选用的是JA-SIG组织开发的Cas Se ...
- Atitit.业务系统的新特性 开发平台 新特性的来源总结
Atitit.业务系统的新特性 开发平台 新特性的来源总结 1.1. 语言新特性(java c# php js python lisp c++ oc swift ruby go dart1 1.2. ...
随机推荐
- android使用属性动画代替补间动画
本文参考Android属性动画完全解析(上),初识属性动画的基本用法 android3.0之前一共有两种动画,分别是frame动画和tween动画,关于这两种动画如果不了解可以查看我之前的文章andr ...
- IHttpModule接口
IHttpModule向实现类提供模块初始化和处置事件. IHttpModule包含兩個方法: public void Init(HttpApplication context);public voi ...
- wiki 使用笔记
Wiki 安装:Linux(Redhat EL5.3)下安装配置MediaWiki wiki配置: 配置文件:DefaultSettings.php //权限等配置 左边导航条:/wiki/inde ...
- Unity5.0 手动激活
提供Unity5.0.1.f1(32-bit)下载http://pan.baidu.com/s/1bg5sDK 密码 ns75 有时候会发现,用激活工具是激活不了的,这个时候就要手动激活,其实个人觉得 ...
- PHP的数据库 之 关闭问题
首先,PHP由于有垃圾回收机制,所以数据库即使你不手动关闭,也有自动去关闭的机制, 这里就和操作文本流不同,文本流需要手动去关闭,不然会发生内存浪费现象 并且,PHP在同时连接多个DB的时候,连接到一 ...
- JQM 页面滚动加载
1 应用场景:文章比较长,只加载部分,当到页面底部触发获取更多数据. 2 如图,监听滚动条的位置,触发事件,转化为求X的长度, 3 实例代码: //滚动条到底加载更多 $(document).on(& ...
- mvc5 + ef6 + autofac搭建项目(四).1视屏上传生成截图
即上一篇中上传涉及到的 一个视频生成截图的问题,这个很简单,这是上一篇中的代码片段 #region 视频上传,生成默认展示图片(自动剪切) try { string fileSavePath = Da ...
- 无法绑定到新的显示成员,参数名:newDisplayMember
此问题不是网上说的 DisplayMember 等先后顺序问题,即使更换绑定数序,只是把错误覆盖而已(绑定的是对象的类名) ValueMember = "Id"; DisplayM ...
- CSS Padding(填充)
CSS Padding(填充)属性定义元素边框与元素内容之间的空间. Padding(填充) 当元素的 Padding(填充)(内边距)被清除时,所"释放"的区域将会受到元素背景颜 ...
- jQuery 尺寸
通过 jQuery,很容易处理元素和浏览器窗口的尺寸. jQuery 尺寸 方法 jQuery 提供多个处理尺寸的重要方法: width() height() innerWidth() innerHe ...