我已成功地做到這一點使用Maven的疊加功能:
1)包括瀏覽器的Web應用程序的疊加,但只包括建模文件:
POM .xml:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-webapp-explorer2</artifactId>
<version>${activiti-version}</version>
<type>war</type>
<scope>compile</scope>
</dependency>
....
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<overlays>
<overlay>
<groupId>org.activiti</groupId>
<artifactId>activiti-webapp-explorer2</artifactId>
<includes>
<include>WEB-INF/classes/stencilset.json</include>
<include>editor-app/**</include>
<include>modeler.html</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
2)添加modeler Spring資源。它們被用來獲取和保存模型(注意:不是流程定義,它有點不同的東西),也服務於stencilset:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-modeler</artifactId>
<version>${activiti-version}</version>
</dependency>
3),這將是它,但它不會實際工作的除非它被稱爲「activiti-explorer」。將文件添加到您的項目稱爲「主編應用程序/應用-cfg.js」,並添加以下內容有:
主編應用程序/應用-cfg.js:
'use strict';
var ACTIVITI = ACTIVITI || {};
ACTIVITI.CONFIG = {
'contextRoot' : window.location.pathname.substring(0,window.location.pathname.lastIndexOf('/')),
};
這實際上是原生app-cfg的副本,其中包含上下文根的奇怪「/ activiti-explorer/service」設置。我們將其更改爲更通用的設置。它將用於從存儲庫檢索模型。我們的文件將覆蓋Explorer webapp附帶的文件。
注:
一)你必須自己管理的過程定義轉化爲模型。對於一個想法,看到https://github.com/Activiti/Activiti/blob/activiti-5.19.0.1/modules/activiti-explorer/src/main/java/org/activiti/editor/ui/ConvertProcessDefinitionPopupWindow.java
B)我必須避免使用一切一個傑克遜對象映射器,我沒有研究爲什麼這不工作:
<bean id="objectMapper" class="com.fasterxml.jackson.databind.ObjectMapper">
</bean>
<mvc:annotation-driven>
<!-- using the same objectMapper leads to stencilset resource being served as string -->
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper" ref="objectMapper"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
不要這樣做或研究更多,因爲這實際上打破了「活動建模者」的服務部分重新提供服務。它開始服務stencilset作爲一個畸形的字符串,而不是普通的json。
三)我不知道如何注入CSRF安全頭在Modeler的保存功能,所以我打開它關閉 - 如果你不使用Spring Security,丟棄這個
目前尚不清楚其中的編輯器,應用程序/app-cfg.js文件去。 – javydreamercsw
@javydreamercsw對不起,我錯過了 - 我在這個發展中做了很大的停頓。可能你已經知道了。該目錄和文件直接進入webapp文件夾 - 以及WEB-INF和META-INF文件夾。 – fedd