activiti modeler教程(Activiti Explorer定制)

:暂无数据 2026-04-13 16:20:02 0
从一个常见的误区说起:很多人学activiti modeler教程,却忽略了Activiti Explorer定制。结果事倍功半。希望你不会再犯这个错误。

本文目录

Activiti Explorer定制

stencilset.json,在stencils数组中,移除不需要的节点,比如

同时,可以修改groups和title,进行自定义分组和命名

stencilset.json,找到对应的节点,比如"id": "UserTask",将不必要的properties从propertyPackages移动到hiddenPropertyPackages,例:

改动前

改动后

上面的任务任务节点中,其中approvalwaypackage,approvalrulepackage, autocopypackage为自定义属性,在节点的propertyPackages进行引用外,还需要单独定义

其中
1、approvalrule指定"type": "String",最为简单,效果如下

2、approvalway指定"type": "ki**pm-multiinstance-approvalway","refToView": "multiinstance",表示为下拉列表,其中这里的ki**pm-multiinstance-approvalway需要额外在两处进行修改,效果如下

Activiti explorer前端使用的是AngularJS

2-1、properties.js 定义显示和写入模板
增加

2-2、增加定义的显示和写入模板, AngularJS语法
multiinstance-property-display-approvalway.html

multiinstance-property-write-approvalway.html

3、autocopypackage指定"type": "multiplecomplex",需要额外增加读、写模板,并在properties.js中定义模板指向,效果如下

3-1、properties.js定义模板

3-2、实现模板
auto-copy-display-template.html

auto-copy-write-template.html

auto-copy-popup.html

实现properties-auto-copy-controller.js,并在modler.html中进行引用

modeler.html

多语言定义在en.json中,这里直接修改了,也可以增加zh_cn.json,然后切换语言

除了以上前端工作,自定义属性,还需要客制化流程图加载过程,以读取自定义属性

CustomUserTaskJsonConverter.java

ModelServiceImpl.java

如何解决Activiti-modeler无法使用的问题

由于工作中需在eclipse开发环境下集成activiti插件,中间碰到插件不能安装的问题,特记录如下:
一、环境
1、eclipse 4.3.0
2、Activiti Designer 5.14.1
二、Activiti Designer 5.14.1插件安装
1)在eclipse中菜单help-》Install New software中,点击add
a、可输入远程url地址安装
b、下载Activiti Designer 5.14.1压缩包至本地,解压后,在由本地安装,安装方法可参照上图。由于是本地安装,拔掉网线或断开网络速度会有质的提升。
2)安装过程中错误处理
a、错误:
Cannot complete the install because one or more required items could not be found.
Software being installed: Activiti Eclipse BPMN 2.0 Designer 5.14.1 (org.activiti.designer.feature.feature.group 5.14.1)
Missing requirement: Activiti Eclipse BPMN 2.0 Designer 5.14.1 (org.activiti.designer.feature.feature.group 5.14.1) requires ’org.eclipse.emf.transaction 1.4.0’ but it could not be found
b、解决办法
具体到本机环境有所不同,具体如下,以下是本机解决方案,如下:
org.eclipse.emf.validation.ui_1.7.0.201403111711.jar、
org.eclipse.emf.workspace_1.5.1.201306111400.jar、
org.eclipse.emf.validation_1.8.0.201403111711.jar
org.eclipse.emf.transaction_1.4.0.201306111400.jar;把这四个文件拷贝到自己的eclipse的plugin文件夹下面,重启eclipse再次安装activiti插件就可以了。

activiti modeler能不能用struts2搭建

Redis也常常被当作Memcached的挑战者被提到桌面上来。关于Redis与Memcached的比较更是比比皆是。
然而,Redis真的在功能、性能以及内存使用效率上都超越了Memcached!

activiti modeler 用户自定义流程图,怎么判断分支条件

package org.activiti.editor.rest.model;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import org.activiti.editor.c***tants.ModelDataJsonC***tants;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.Model;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.PNGTranscoder;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.node.ObjectNode;
import org.restlet.data.Form;
import org.restlet.data.Status;
import org.restlet.resource.Put;
import org.restlet.resource.ServerResource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sun.misc.BASE64Encoder;
/**
 * @author Tijs Rademakers
 */
public class ModelSaveRestResource extends ServerResource implements
ModelDataJsonC***tants {
protected static final Logger LOGGER = LoggerFactory
.getLogger(ModelSaveRestResource.class);
@Put
public void saveModel(Form modelForm) {
ObjectMapper objectMapper = new ObjectMapper();
String modelId = (String) getRequest().getAttributes().get("modelId");
// System.out.println("json " + modelForm.getFirstValue("json_xml"));
try {
/*
 * ObjectNode modelNode = (ObjectNode)
 * objectMapper.readTree(modelForm.getFirstValue("json_xml"));
 * JsonToBpmnExport converter = new JsonToBpmnExport(modelNode);
 * byte bpmnBytes = converter.convert();
 * System.out.println("bpmn " + new String(bpmnBytes));
 */
RepositoryService repositoryService = ProcessEngines
.getDefaultProcessEngine().getRepositoryService();
Model model = repositoryService.getModel(modelId);
ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model
.getMetaInfo());
modelJson.put(MODEL_NAME, modelForm.getFirstValue("name"));
modelJson.put(MODEL_DESCRIPTION,
modelForm.getFirstValue("description"));
model.setMetaInfo(modelJson.toString());
model.setName(modelForm.getFirstValue("name"));
byte svg_xml=modelForm.getFirstValue("svg_xml").getBytes("UTF-8");
//转成UTF-8 然后使用base64编码
String gbk=new String(modelForm.getFirstValue("json_xml").getBytes("GBK"));
String iso = new String(gbk.getBytes("UTF-8"),"ISO-8859-1");
String utf8=new String(iso.getBytes("ISO-8859-1"),"UTF-8");
byte  json_xml=new BASE64Encoder().encode(utf8.getBytes("UTF-8")).getBytes();
repositoryService.addModelEditorSource(model.getId(),json_xml);
InputStream svgStream = new ByteArrayInputStream(svg_xml);
TranscoderInput input = new TranscoderInput(svgStream);
PNGTranscoder transcoder = new PNGTranscoder();
// Setup output
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
TranscoderOutput output = new TranscoderOutput(outStream);
// Do the transformation
transcoder.transcode(input, output);
final byte result = outStream.toByteArray();
repositoryService.addModelEditorSourceExtra(model.getId(), result);
outStream.close();
repositoryService.saveModel(model);
} catch (Exception e) {
LOGGER.error("Error saving model", e);
setStatus(Status.SERVER_ERROR_INTERNAL);
}
}
}

如何使用activiti modeler

Activiti Modeler用于保存BPMN规范相关的对象,例如可用于将这些模型转换为相应的流程图对象:
              // 创建一个BPMN模型实例
           BpmnModel bpmnModel = new BpmnModel();
           // 创建流程
           Process process = new Process();
           process.setId("myProcess");
           bpmnModel.getProcesses().add(process);
           // 创建任务
           UserTask task = new UserTask();
           task.setId("myTask");
           process.addFlowElement(task);
           // 设置任务的图形信息
           GraphicInfo g1 = new GraphicInfo();
           g1.setHeight(100);
           g1.setWidth(200);
           g1.setX(110);
           g1.setY(120);
           bpmnModel.addGraphicInfo("myTask", g1);
           // XML转换器,将BPMN模型转换为XML文档
           BpmnXMLConverter converter = new BpmnXMLConverter();
           System.out.println(new String(converter.convertToXML(bpmnModel)));
参考自《疯狂工作流讲义第2版(Activiti6)》。

整合activiti modeler 为什么oryx.debug.js报错

按照User Guide的中的相关章节,准备好Java和Ant,启用setup目录中的ant脚本即可,中间好像需要在线下载一个组件,好像是Tomcat,我是手动下的。与jBPM不一样,Eclipse Designer是在Eclipse里单独安装的。

希望这篇关于activiti modeler教程Activiti Explorer定制的文章能帮到你。如果觉得有用,不妨点赞或分享给需要的朋友。
本文编辑:admin

更多文章:


织梦安装教程上一品资源(利用APMServ在本地安装织梦dedecms系统图文教程)

织梦安装教程上一品资源(利用APMServ在本地安装织梦dedecms系统图文教程)

还记得第一次接触织梦安装教程上一品资源时的茫然吗?是利用APMServ在本地安装织梦dedecms系统图文教程这个概念,像一盏灯照亮了后续的路。本文将为你点亮这盏灯。

2026年4月13日 18:00

php连接mongodb(ThinkPhp框架中使用mongodb数据库配置报错Call to a member function selectCollection() on a non-object)

php连接mongodb(ThinkPhp框架中使用mongodb数据库配置报错Call to a member function selectCollection() on a non-object)

今天给各位分享ThinkPhp框架中使用mongodb数据库配置报错Call to a member function selectCollection() on a non-object的知识,其中也会对ThinkPhp框架中使用mong

2026年4月13日 17:40

腾讯小程序商城模板(做一个微信小程序商城开发大概多少钱(多少费用))

腾讯小程序商城模板(做一个微信小程序商城开发大概多少钱(多少费用))

你是否好奇,为什么人人都在谈腾讯小程序商城模板?它和做一个微信小程序商城开发大概多少钱(多少费用)之间究竟存在着怎样微妙的联系?答案就在下文。

2026年4月13日 17:20

ppapi和activex(是不是Flash中的ActiveX比NPAPI和PPAPI要好)

ppapi和activex(是不是Flash中的ActiveX比NPAPI和PPAPI要好)

想快速搞懂ppapi和activex吗?本文将围绕是不是Flash中的ActiveX比NPAPI和PPAPI要好等核心问题,用最直白的语言为您提供一份实用指南,帮您节省大量摸索的时间。

2026年4月13日 17:00

visual studio是什么(visual studio 2015是个什么软件)

visual studio是什么(visual studio 2015是个什么软件)

这篇文章给大家聊聊关于visual studio是什么,以及visual studio 2015是个什么软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年4月13日 16:40

activiti modeler教程(Activiti Explorer定制)

activiti modeler教程(Activiti Explorer定制)

从一个常见的误区说起:很多人学activiti modeler教程,却忽略了Activiti Explorer定制。结果事倍功半。希望你不会再犯这个错误。

2026年4月13日 16:20

mysql insert into字段顺序问题(mysql insert into的问题)

mysql insert into字段顺序问题(mysql insert into的问题)

读懂本文,您将不仅了解mysql insert into字段顺序问题是什么,更能洞悉mysql insert into的问题背后的逻辑,从而举一反三。

2026年4月13日 16:00

霹雳娇娃1在线观看完整版免费(霹雳娇娃1的演员)

霹雳娇娃1在线观看完整版免费(霹雳娇娃1的演员)

老铁们,关于霹雳娇娃1在线观看完整版免费,你可能听过不少说法。今天,咱们就坐下来好好聊聊霹雳娇娃1的演员,保证让你豁然开朗。

2026年4月13日 15:40

php实现踢下线源码(请高手来修改一下这个PHP源代码)

php实现踢下线源码(请高手来修改一下这个PHP源代码)

很多朋友初次接触php实现踢下线源码可能会觉得有点陌生,这很正常。今天这篇文章,咱们就一起把请高手来修改一下这个PHP源代码这事儿聊透,希望能帮您理清思路。

2026年4月13日 15:20

div可编辑属性(jquery一个div怎么获得焦点和失去焦点)

div可编辑属性(jquery一个div怎么获得焦点和失去焦点)

上一篇文章我们介绍了div可编辑属性的基础,今天我们将深入其核心环节——jquery一个div怎么获得焦点和失去焦点,看看它如何承前启后。

2026年4月13日 15:00

最近更新

php连接mongodb(ThinkPhp框架中使用mongodb数据库配置报错Call to a member function selectCollection() on a non-object)
2026-04-13 17:40:02 浏览:0
ppapi和activex(是不是Flash中的ActiveX比NPAPI和PPAPI要好)
2026-04-13 17:00:01 浏览:0
visual studio是什么(visual studio 2015是个什么软件)
2026-04-13 16:40:02 浏览:0
activiti modeler教程(Activiti Explorer定制)
2026-04-13 16:20:02 浏览:0
mysql insert into字段顺序问题(mysql insert into的问题)
2026-04-13 16:00:02 浏览:0
热门文章

android详细教程(Android Camera2 教程 · 第一章 · 概览)
2026-04-09 00:40:01 浏览:0
标签列表