本文目的: 将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

添加如下代码:

  1. <!-- Restlet adapter, used to expose modeler functionality through REST -->
  2. <servlet>
  3. <servlet-name>RestletServlet</servlet-name>
  4. <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
  5. <init-param>
  6. <!-- Application class name -->
  7. <param-name>org.restlet.application</param-name>
  8. <param-value>org.activiti.explorer.rest.application.ExplorerRestApplication</param-value>
  9. </init-param>
  10. </servlet>
  11. <!-- Catch all service requests -->
  12. <servlet-mapping>
  13. <servlet-name>RestletServlet</servlet-name>
  14. <url-pattern>/modeler/service/*</url-pattern>
  15. </servlet-mapping>

首先确认. 你的工程引入了spring的监听. 也就代表你工程有spring .  因为activit-modeler严重依赖spring.

如果你工程没有spring环境, 建议下面就别看了. (先把自己的ssh , ssi , ssm 等框架搭建起来).

如果你使用的是spring mvc  建议你在你的mvc控制文件中加入

  1. <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文件中引入如下代码

仓库:

  1. <repository>
  2. <id>buzzmedia</id>
  3. <url>http://maven.thebuzzmedia.com</url> <!-- ImageScalr -->
  4. </repository>
  5. <repository>
  6. <id>activiti</id>
  7. <name>Activiti</name>
  8. <url>https://maven.alfresco.com/nexus/content/repositories/activiti/</url>
  9. </repository>
  10. <repository>
  11. <id>Alfresco thirdparty</id>
  12. <url>https://maven.alfresco.com/nexus/content/repositories/thirdparty/</url>
  13. </repository>
  14. <repository>
  15. <id>activiti-third-party</id>
  16. <name>Activiti third party</name>
  17. <url>https://maven.alfresco.com/nexus/content/repositories/activiti-thirdparty/</url>
  18. </repository>
  19. <repository>
  20. <id>maven-restlet</id>
  21. <name>Public online Restlet repository</name>
  22. <url>http://maven.restlet.org</url>
  23. </repository>

jar依赖

  1. <dependency>
  2. <groupId>org.activiti</groupId>
  3. <artifactId>activiti-modeler</artifactId>
  4. <version>${activiti.version}</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.activiti</groupId>
  8. <artifactId>activiti-explorer</artifactId>
  9. <version>${activiti.version}</version>
  10. <exclusions>
  11. <exclusion>
  12. <groupid>com.vaadin</groupid>
  13. <artifactid>vaadin</artifactid>
  14. </exclusion>
  15. <exclusion>
  16. <groupid>org.vaadin.addons</groupid>
  17. <artifactid>dcharts-widget</artifactid>
  18. </exclusion>
  19. <exclusion>
  20. <artifactid>activiti-simple-workflow</artifactid>
  21. <groupid>org.activiti</groupid>
  22. </exclusion>
  23. </exclusions>
  24. </dependency>
  25. <!-- 查看流程详细定义 -->
  26. <dependency>
  27. <groupId>org.activiti</groupId>
  28. <artifactId>activiti-diagram-rest</artifactId>
  29. <version>${activiti.version}</version>
  30. </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 到 自己的业务系统的更多相关文章

  1. SSH框架集成Activiti Modeler在线设计器页面出现问号及乱码的解决办法

    文·原创/朱季谦 工作流是一个针对企业用户.开发人员.系统管理员的轻量级工作流业务管理平台,其核心是使用Java开发的快速.稳定的BPMN2.0流程引擎.在我们日常开发当中,例如oa系统里的请假功能, ...

  2. 整合Activiti Modeler到业务系统(或BPM平台)

    http://www.kafeitu.me/activiti/2013/03/10/integrate-activiti-modeler.html 1. 为什么要整合 Activiti 5.10版本把 ...

  3. 集成新版(5.17+)Activiti Modeler与Rest服务

    声明: 此教程适合Activiti 5.17+版本. 本博客所涉及的内容均可在kft-activiti-demo中找到. 在线demo可以访问 http://demo.kafeitu.me:8080/ ...

  4. Slickflow.NET 开源工作流引擎基础介绍(二) -- 引擎组件和业务系统的集成

    集成流程引擎的必要性 业务过程的变化是在BPM系统中常见的现象,企业管理层需要不断优化组织架构,改造业务流程,不可避免地带来了业务流程的变化,企业信息系统就会随之面临重构的可能性.一种直接的方式是改造 ...

  5. Activiti(二) springBoot2集成activiti,集成activiti在线设计器

    摘要 本篇随笔主要记录springBoot2集成activiti流程引擎,并且嵌入activiti的在线设计器,可以通过浏览器直接编辑出我们需要的流程,不需要通过eclipse或者IDEA的actiB ...

  6. Activiti Modeler初探实践

    以下内容对实践activiti很有用,不过我用的不是github下载的源码包编译出来的war包,不知道什么原因我打出来的包会有点问题.不过这不重要,换个地方下载来源就行,下载网址: http://dl ...

  7. Liferay7 BPM门户开发之46: 集成Activiti用户、用户组、成员关系同步

    在实际的BPM集成开发过程中,Liferay和Activiti这两个异构的系统之间,用户.组的同步需求非常重要,用来实现签收组的概念,比如指定签收组.会签.抢签都需要用到. Activiti可以通过自 ...

  8. 浅谈Activiti Modeler 的扩展

    为什么要扩展         最近项目打算用activiti工作流中activiti modeler来做模块的可视化订阅,但是原生的activiti任务节点,有一些不符合业务需要,比如 配置项多,属性 ...

  9. 统一门户与业务系统的sso整合技术方案(单点登录)

    一.单点登录(SSO,Single Sign On)整合目前计划接入统一门户的所有业务系统均为基于JavaEE技术的B/S架构系统.由于统一门户的单点登录技术选用的是JA-SIG组织开发的Cas Se ...

  10. Atitit.业务系统的新特性 开发平台 新特性的来源总结

    Atitit.业务系统的新特性 开发平台 新特性的来源总结 1.1. 语言新特性(java c# php js python lisp c++ oc swift ruby  go dart1 1.2. ...

随机推荐

  1. Linux下搭建Oracle11g RAC(1)----IP分配与配置IP

    首先需要说明的,我的RAC搭建不是在虚拟机上完成的,而是在实际部署中,二者之间有些许差异,本人水平有限,请见谅. 其中,每台机器至少需要配置3个IP地址,在安装操作系统的过程中,我们需要配置公网IP和 ...

  2. Android(java)学习笔记179:BroadcastReceiver之 有序广播和无序广播(BroadcastReceiver优先级)

    之前我们在Android(java)学习笔记178中自定义的广播是无序广播,下面我们要了解一下有序广播:   1.   我们首先了解一下有序广播和无序广播区别和联系? (1) 有序广播> 接受者 ...

  3. 今天给大家分享一下Android中的资源与国际化的问题

    摘要:该文章将向大家分享Android中的资源与国际化的问题. 今天给大家分享一下Android中的资源与国际化的问题,通常我们新建一个Android工程,目录结构如下图所示: 我们主要看一下layo ...

  4. C#将DataTable导出Execl、Word、Xml

        /// <summary>     /// 将DT转换为Execl的方法     /// </summary>     /// <param name=" ...

  5. C# 日期之间的间隔

    今天工作中,突然遇到要计算两个时间之间的天数,最后把自己的方法记录下来,其实挺简单的: DateTime dt1=Convert.ToDateTime("2014/8/1 23:53:31& ...

  6. Memcache简介

    简介 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调 ...

  7. 锱铢必较,从(function(){}())与(function(){})()说起

    今天做JsHint时,碰到一个警告:应该使用(function(){}())而不是(function(){})();看到这个我心想,这两种函数自执行有什么区别吗?自执行用了这么久,感觉对其理解仍然有点 ...

  8. iOS多Targets管理

    序言: 个人不善于写东西,就直奔主题了. 其实今天会注意到多targets这个东西,是因为在学习一个第三方库FBMemoryProfiler的时候,用到了,所以就搜索了一些相关资料,就在这里记录一下. ...

  9. POJ 3280 Cheapest Palindrome(DP 回文变形)

    题目链接:http://poj.org/problem?id=3280 题目大意:给定一个字符串,可以删除增加,每个操作都有代价,求出将字符串转换成回文串的最小代价 Sample Input 3 4 ...

  10. 为什么喜欢Kindle

    为什么喜欢Kindle 有朋友问为什么那么多人喜欢用Kindle,作为刚入手一台Kindle PaperWhite 2 的人, 我想说:这个东西,应该算今年我买的最值得的设备了.它的好处太多了:1:轻 ...