集成activiti-modeler 到 自己的業務系統(集成流程跟蹤-完美支持IE)


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

添加如下代碼:

Java代碼  復制代碼 收藏代碼
  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.   
  12.   
  13.   
  14.     <!-- Catch all service requests -->  
  15.     <servlet-mapping>  
  16.         <servlet-name>RestletServlet</servlet-name>  
  17.         <url-pattern>/modeler/service/*</url-pattern>  
  18.     </servlet-mapping>  
[java]  view plain copy
  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.   
  12.   
  13.   
  14.     <!-- Catch all service requests -->  
  15.     <servlet-mapping>  
  16.         <servlet-name>RestletServlet</servlet-name>  
  17.         <url-pattern>/modeler/service/*</url-pattern>  
  18.     </servlet-mapping>  

 首先確認. 你的工程引入了spring的監聽. 也就代表你工程有spring .  因為activit-modeler嚴重依賴spring.

如果你工程沒有spring環境, 建議下面就別看了. (先把自己的ssh , ssi , ssm 等框架搭建起來).

 

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

 

Java代碼  復制代碼 收藏代碼
  1. <mvc:resources location="/modeler/" mapping="/modeler/**" />  
[java]  view plain copy
  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文件中引入如下代碼

倉庫:

Java代碼  復制代碼 收藏代碼
  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>  
[java]  view plain copy
  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依賴

Java代碼  復制代碼 收藏代碼
  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>  
[java]  view plain copy
  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-explorer  (呵呵.有點大.多余功能用不上)

 

這個是我從explorer里面分離出來的 單獨modeler模塊. (maven-eclipse工程)

 

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

 

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

 

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

直接設計保存到數據庫.

 

哦忘了. 前提你要修改數據庫連接.哈哈

 



 

 

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

 

建議:

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

效果你可以使用iframe.因為在同域下. 其實跟嵌入式都一樣的.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM