其它相关的文章索引:

最近一个多月都在尝试了解Activiti6.0,趁着放假整合编辑器这件事情终于有了些眉目,到此可以总结一下了。

第一步:下载源码

整合的时候肯定要从源码拷贝一些东西,有些问题出现的时候,源码也是非常有效的参考资料,所以要去Github下载源码到本地。

第二步:新建项目

建立个SpringMVC项目,如下图:

第三步:拷贝文件

新建一个文件夹,我这里是“activiti”,然后将Activiti源码中的editor文件夹全部拷贝过来(该文件夹位于\modules\activiti-ui\activiti-app\src\main\webapp内)。如下图:

将所缺失的JS、CSS等静态文件,从Activiti的源工程内拷贝到我们新建的工程,最终的工程如下:

第三步:修改JS

直接运行,我这里的RequestContextRoot为:

localhost:8080/activiti

直接访问地址localhost:8080/activiti/activiti/editor/index.html,在浏览器的调试器内肯定会报一堆错误,解决的步骤如下:

1. 将\activiti\scripts\app-cfg.js内的路径设置为当前值。

ACTIVITI.CONFIG = {

'onPremise' : true,

//远程请求根地址

'contextRoot' : '/activiti',

//web目录根地址

'webContextRoot' : '/activiti/activiti'

};

2.  先将app.js里面的“$routeProvider.otherwise”部分注释掉,替换为(为了显示一些隐藏的错误):

$routeProvider.otherwise({

templateUrl: appResourceRoot + 'editor-app/editor.html',

controller: 'EditorController'

});

3. 将url-config.js替换为以下内容:

KISBPM.URL = {

getModel: function(modelId) {

return ACTIVITI.CONFIG.contextRoot + '/app/rest/models/' + modelId + '/editor/json?version=' + Date.now();

},

getStencilSet: function() {

return ACTIVITI.CONFIG.webContextRoot + '/editor/editor-app/stencilset.json';

},

putModel: function(modelId) {

return ACTIVITI.CONFIG.contextRoot + '/app/rest/models/' + modelId + '/editor/json';

},

newModelInfo: function () {

return ACTIVITI.CONFIG.contextRoot + '/app/rest/models/';

}

};

4. 找一个stencilset.json文件放到指定的位置。我从"咖啡兔"的开源工程里直接拷贝了一份,其实也可以运行Activiti6的Release War包,然后在开发者工具里面找到对应的地址,然后拷贝一份。

5. 替换oryx.js里面stencilset.json的地址。

6. 在editor-controller.js的fetchModel()内的access方法内增加一行代码:

$rootScope.account = angular.toJson("{\"login\":\"admin\"}");

第四步:增加Controller文件

在工程内新增加一个Controller,我这里的名为“ActivitiAppRest”,主要的代码如下:

@RestController

@RequestMapping("/app/rest/")

public class ActivitiAppRest{

/**

* 身份认证

*/

@RequestMapping("authenticate")

public Map getAuthenticate(){

Map map = new HashMap();

map.put("login", "admin");

return map;

}

/**

* 账号信息

*/

@RequestMapping("account")

public Map getAccount(){

Map map = new HashMap();

map.put("email", "admin");

map.put("firstName", "My");

map.put("fullName", "Administrator");

map.put("id", "admin");

map.put("lastName", "Administrator");

Map groupMap = new HashMap();

map.put("id", "ROLE_ADMIN");

map.put("name", "Superusers");

map.put("type", "security-role");

List> groups = new ArrayList>();

groups.add(groupMap);

map.put("groups", groups);

return map;

}

/**

* 初始化

*/

@RequestMapping("models")

public ObjectNode getModels(){

Map map = new HashMap();

String jsonStr = "{\"modelId\":\"9dd84f5d-e9ed-44fa-b328-c7646efd766e\",\"name\":\"TEST1\",\"key\":\"TEST\",\"description\":\"\",\"lastUpdated\":\"2019-01-20T15:14:43.200+0000\",\"lastUpdatedBy\":\"admin\",\"model\":{\"id\":\"canvas\",\"resourceId\":\"canvas\",\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\"},\"properties\":{\"process_id\":\"TEST\",\"name\":\"TEST1\"},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":130,\"y\":193},\"upperLeft\":{\"x\":100,\"y\":163}},\"childShapes\":[],\"dockers\":[],\"outgoing\":[],\"resourceId\":\"startEvent1\",\"stencil\":{\"id\":\"StartNoneEvent\"}}],\"modelType\":\"model\"}}";

JSONObject jsonObject = JSONObject.parseObject(jsonStr);

return jsonObject;

}

}

第五步:启动运行

以上都修改完成以后,就可以启动运行了,直接在地址栏输入:

http://localhost:8080/activiti/activiti/editor/index.html#/editor

这只是可以顺利显示静态页面,如果希望能够"创建/修改"流程信息,还需要引入Activiti Jar包,然后修改一下Controller里面的逻辑,稍后会继续讲解。

觉的不错?可以关注我的公众号↑↑↑

idea安装activiti流程设计器_整合Activiti6.0流程设计器 | 字痕随行相关推荐

  1. Spring Boot-2.3.7.RELEASE整合activiti-6.0示例步骤

    涉及简单审批时一般都是有人发起,再由另外一人确认审核即可! 实际项目中有时涉及利益的时候,比如常见的请假,报销等,就不是那么简单一人审核了事! 其中有权力和责任的体现,同时执行过程中也涉及业务流程管理 ...

  2. Activiti6.0流程设计器汉化教程(全)

    SpringBoot集成的Activiti6.0代码(绘制工具界面代码 + 审批代码) activiti的modeler汉化. 汉化步骤: 将editor-app--i18n--en.json化后替换 ...

  3. Activiti6.0流程引擎学习——(11)使用IDEA编码实现的请假流程

    本篇博客要使用IDEA来实现之前绘制好的请假流程图.流程图如下: 具体创建这个流程图请看这篇博客:https://blog.csdn.net/JJBOOM425/article/details/850 ...

  4. Activiti6.0流程引擎学习——(22)activiti的任务管理服务(TaskService)

    这里介绍activiti中的任务管理服务,也就是其中的TaskService. TaskService功能: 1.对用户任务(UserTask)管理和流程的控制: 2.设置用户任务(UserTask) ...

  5. curl 支持ws吗_使用CURL请求WebService | 字痕随行

    之前有一篇文章(通过SSL\HTTPS调用WebService)介绍过如何使用HTTPS协议调用WebService,使用那篇文章介绍的方法确实可以解决大部分问题,但是总有一小波问题必须通过其它手段解 ...

  6. linux数据库12c安装图解,Linux + Oracle 12c RAC安装配置详细记录过程_图文并茂.pdf

    Linux +Oracle12cRAC安装配置详细记录过程_图文并茂_v1.0 Version:<1.0> Linux +Oracle12cRAC安装配置详细记录过程_图文并茂_v1.0 ...

  7. springboot2整合activiti6过程总结

    activiti6支持的springboot版本为1.2.6.由于版本比较老,所以需要对activiti6进行源码改造.步骤 一.在github上clone出activiti的源码,在activiti ...

  8. activiti bpmn 安装不上_小猿圈之Eclipse安装Activiti插件(流程设计器)

    学习java的朋友们,想必一定会接触到eclipse,那怎么在eclipse下安装activiti呢,小猿圈今天带你学习一下,希望大家看后可以学会. 一.安装步骤: 1,打开Eclipse的 Help ...

  9. activiti jsp 流程设计器_「Activiti精品 悟纤出品」Activiti插件来助你一臂之力 - 第327篇...

    ​ 相关历史文章(阅读本文前,您可能需要先看下之前的系列 ) 国内最全的Spring Boot系列之三 2020上半年发文汇总「值得收藏」 程序CPU占用率飙升,如何定位线程的堆栈信息?「超详细,值得 ...

最新文章

  1. 一场“交通进化”将至: 5G带给车联网与自动驾驶哪些升级?
  2. web页,如何按回车获得焦点,触发web控件事件..?
  3. 2010后的经济增长点再研究
  4. 数据库分区分表以及读写分离
  5. 生成对抗网络gan原理_生成对抗网络(GAN)的半监督学习
  6. Javascript:this用法
  7. 老板:kill -9 的原理都不知道就敢去线上执行?明天不用来了!
  8. Python模块开发【Distutils】
  9. mysql jsp分页技术_一个非常简单的分页技术MYSQL JSP 利用了mysql的LIMIT参数
  10. 小程序学习笔记(7)-使用小程序的组件构建UI界面
  11. iText生成pdf带目录
  12. 三星堆的青铜机器人_三星堆“青铜大立人”,手里原来握的是什么东西,至今困扰考古界...
  13. 完美解决,用Linux打开和编辑doc文档~
  14. 深信服X计划-云计算基础1
  15. 突破与升维,技术赋能下的新时代企业营销攻略(附报告下载)
  16. 关于修改ico图片位深度的方法
  17. 详解Java基础数据类型
  18. 按键精灵什么是动态数组?如何使用动态数组?(新手进阶)
  19. 基于百度地图sdk的地图app开发(七)——导航和模拟导航
  20. spring中的hibernate-validate数据校验

热门文章

  1. 【hortonworks/registry】AVRO 规范-Schema的定义和声明
  2. Registry:THERE IS NOT VERSION ASSOCIATED FOR THIS PARTICULAR SCHEMA
  3. Cannot modify the value of a static config: spark.sql.queryExecutionListeners
  4. ELK Stack 的应用场景
  5. 字节跳动面试流程和考点都在这儿
  6. spring整合应用安全框架Shiro
  7. Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发
  8. java定义整形输出_java程序命令行接受字符转换为整形并相加输出
  9. mysql用户权限重置_mysql中重置密码与新用户权限分配的方法介绍
  10. TensorFlow——tf.contrib.layers库中的相关API