将activiti集成到项目中
(1)官方demo学习
1.官网下载最新版本https://www.activiti.org/download-bpm
2.解压压缩包得到以下目录,docs文件夹下放置了参考文档和API找到wars文件夹下的activiti-explorer.war文件放到tomcat下的webapp下启动tomcat
3.打开浏览器进去http://localhost:8083/activiti-explorer/官方demo登入页面
登入用户密码在docs/userguide文件夹下index.html页面中列出,具体看参考文档。
4.登入进入管理页面创建流程页面
5.点击编辑模式进去流程配置页面(传入流程id即获取流程信息,使用该功能将activiti流程设计集成到项目中),流程设计在前端是一个独立的模块
6.流程设计相关的文件
(2)将activiti集成到现有项目
1.后端使用spring进行集成,maven进行包管理。spring配置
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="false" />
<property name="dbIdentityUsed" value="false" />
<!-- 发布流程生成图片是正常显示中文 -->
<property name="activityFontName" value="宋体"/>
<property name="labelFontName" value="宋体"/>
</bean>
<bean id="objectMapper" class="com.fasterxml.jackson.databind.ObjectMapper"/>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
<bean id="identityService" factory-bean="processEngine"
factory-method="getIdentityService" />
<bean id="formService" factory-bean="processEngine"
factory-method="getFormService" />
<bean id="repositoryService" factory-bean="processEngine"
factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngine"
factory-method="getRuntimeService" />
<bean id="taskService" factory-bean="processEngine"
factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine"
factory-method="getHistoryService" />
<bean id="managementService" factory-bean="processEngine"
factory-method="getManagementService" />
同时在resource文件夹下放置stencilset.json文件(此处使用中文版)
pom.xml配置
<!-- activiti工作流版本5.21.0 -->
<activiti.version>5.21.0</activiti.version>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti.version}</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>${activiti.version}</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-modeler</artifactId>
<version>${activiti.version}</version>
</dependency>
忽略其他依赖配置
2.将diagram-viewer、editor-app文件夹和modeler.html拷贝到webapp下
此处涉及到处理国际化问题,在editor-app/i18n下加入zh-CN.json文件
修改editor-app/app.js文件
找到 $translateProvider.preferredLanguage('en'); 修改成
//$translateProvider.preferredLanguage('en');
var language = navigator.language;
if(!language || "zh-CN" == language){
$translateProvider.preferredLanguage('zh-CN');
}else{
$translateProvider.preferredLanguage('en');
}
修改editor-app/app-cfg.js文件的contextRoot属性为自己的应用名称
(3)流程列表获取发布等等