集成activiti-modeler 到 自己的业务系统(集成流程跟踪-完美支持IE)


           博客分类: activiti modeler 集成 spring modeler(升级到5.13)
 

本文目的: 将activit 5.12.1 的 modeler 流程设计器 集成到自己的工程中去

 

解决问题:

1. 复制相关资源文件到自己的工程中

2. 解决modeler的路径访问问题,迁移到非系统根目录

3. 跟自己系统的spring无缝集成

 

首先请下载官方最新 5.12.1 发布包

下载地址: https://github.com/Activiti/Activiti/archive/activiti-5.12.1.zip

解压后如下图


集成activiti-modeler 到 自己的业务系统(集成流程跟踪-完美支持IE)_第1张图片
 

 

步骤:

1. 复制相关文件

1.1首先复制类路径资源文件


复制 \modules\activiti-webapp-explorer2\src\main\resources\下


集成activiti-modeler 到 自己的业务系统(集成流程跟踪-完美支持IE)_第2张图片

db.properties 没有选中
 
 选中文件到你的classpath 根目录下,(src 或者resource 类路径下)

 

1.2 复制ui文件到你的webroot文件夹中

 

在 WebRoot目录中建立一个文件夹 取名 modeler

 

复制 modules\activiti-webapp-explorer2\src\main\webapp 下

 



集成activiti-modeler 到 自己的业务系统(集成流程跟踪-完美支持IE)_第3张图片
 
 选中文件夹 到modeler目录下.

 

1.3 修改web.xml文件. 添加modeler的servlet

添加如下代码:

Java代码 复制代码  收藏代码
  1.   
  2.       
  3.         RestletServlet  
  4.         class>org.restlet.ext.servlet.ServerServletclass>  
  5.           
  6.               
  7.             org.restlet.application  
  8.             org.activiti.explorer.rest.application.ExplorerRestApplication  
  9.           
  10.       
  11.   
  12.   
  13.   
  14.       
  15.       
  16.         RestletServlet  
  17.         /modeler/service/*  
  18.       

	
		RestletServlet
		org.restlet.ext.servlet.ServerServlet
		
			
			org.restlet.application
			org.activiti.explorer.rest.application.ExplorerRestApplication
		
	



	
	
		RestletServlet
		/modeler/service/*
	

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

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

 

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

 

Java代码 复制代码  收藏代码
  1. "/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文件中引入如下代码

仓库:

Java代码 复制代码  收藏代码
  1.   
  2.             buzzmedia  
  3.             http://maven.thebuzzmedia.com   
  4.           
  5.           
  6.             activiti  
  7.             Activiti  
  8.             https://maven.alfresco.com/nexus/content/repositories/activiti/  
  9.           
  10.           
  11.             Alfresco thirdparty  
  12.             https://maven.alfresco.com/nexus/content/repositories/thirdparty/  
  13.           
  14.           
  15.             activiti-third-party  
  16.             Activiti third party  
  17.             https://maven.alfresco.com/nexus/content/repositories/activiti-thirdparty/  
  18.           
  19.           
  20.             maven-restlet  
  21.             Public online Restlet repository  
  22.             http://maven.restlet.org  
  23.           

			buzzmedia
			http://maven.thebuzzmedia.com 
		
		
			activiti
			Activiti
			https://maven.alfresco.com/nexus/content/repositories/activiti/
		
		
			Alfresco thirdparty
			https://maven.alfresco.com/nexus/content/repositories/thirdparty/
		
		
			activiti-third-party
			Activiti third party
			https://maven.alfresco.com/nexus/content/repositories/activiti-thirdparty/
		
		
			maven-restlet
			Public online Restlet repository
			http://maven.restlet.org
		

 jar依赖

Java代码 复制代码  收藏代码
  1.   
  2.             org.activiti  
  3.             activiti-modeler  
  4.             ${activiti.version}  
  5.           
  6.           
  7.             org.activiti  
  8.             activiti-explorer  
  9.             ${activiti.version}  
  10.               
  11.                   
  12.                     com.vaadin  
  13.                     vaadin  
  14.                   
  15.                   
  16.                     org.vaadin.addons  
  17.                     dcharts-widget  
  18.                   
  19.                   
  20.                     activiti-simple-workflow  
  21.                     org.activiti  
  22.                   
  23.               
  24.           
  25.   
  26.           
  27.             org.activiti  
  28.             activiti-diagram-rest  
  29.             ${activiti.version}  
  30.           

			org.activiti
			activiti-modeler
			${activiti.version}
		
		
			org.activiti
			activiti-explorer
			${activiti.version}
			
				
					com.vaadin
					vaadin
				
				
					org.vaadin.addons
					dcharts-widget
				
				
					activiti-simple-workflow
					org.activiti
				
			
		

		
			org.activiti
			activiti-diagram-rest
			${activiti.version}
		

 

修改 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即可


集成activiti-modeler 到 自己的业务系统(集成流程跟踪-完美支持IE)_第4张图片
  

 

OK编译,clean 下载jar. ....

 

 

里面的spring版本替换成你自己的版本

 

 

OK了. 至此,集成到项目中也就完成了.

是否要测试下?

 

启动

访问:

http://localhost:8080/YouPRJ/modeler/service/editor?id=2050

2050 替换成自己的流程部署文件id


集成activiti-modeler 到 自己的业务系统(集成流程跟踪-完美支持IE)_第5张图片
 

 

 

OK可以直接编辑. 保存.

 



 

 

=======================================================================

 

 

以上是嵌入部署. 

下面是独立部署. 你也可以直接使用官方的activiti-explorer  (呵呵.有点大.多余功能用不上)

 

这个是我从explorer里面分离出来的 单独modeler模块. (maven-eclipse工程)

 

https://github.com/izerui/activiti-modeler

 

可以打包war包.跟你的项目放同一个web容器中.即可使用

 

http://localhost:8080/activiti-modeler/modeler/service/editor?id=2050

直接设计保存到数据库.

 

哦忘了. 前提你要修改数据库连接.哈哈

 


集成activiti-modeler 到 自己的业务系统(集成流程跟踪-完美支持IE)_第6张图片
 

 

OK 了.   至此   activiti-modeler 嵌入式部署. 和独立式部署 都完成了.

 

建议:

使用独立部署方式. 只是在你的web容器中多了一个activiti-modeler.war而已. 

效果你可以使用iframe.因为在同域下. 其实跟嵌入式都一样的.

你可能感兴趣的:(activiti)