如何使用Signavio打包Activiti Modeler

1.简单说明Activiti Modeler

Activiti Modeler是用来设计BPMN2.0规范的可视化设计器,使用开源的Signavio源码构建打包。

在Activiti 5.6版本之前安装包里面自带Activiti Modeler,之后就需要手动打包了,最近很多人询问如何打包运行,所以写此博文详细说明。

2.下载Signavio

Signavio托管在googlecode上,地址:http://code.google.com/p/signavio-core-components/,可以通过Svn Checkout方式下载源码:

?


1

svn
checkout http:
//signavio-core-components.googlecode.com/svn/trunk/

signavio-core-components

3.配置打包任务属性

Signavio是通过ant构建打包的,在打包之前需要更改一下build.properties文件的属性值。

  • version:这个版本随便定义,我是按照Activiti的最新版本定义的,例如当前最新的版本号是5.9;
  • war:这个属性定义打包的war文件的名称,即:foo.war,我们设置为activiti-modeler
  • configuration最重要的一个属性,定义打包的风格,默认支持三种:default, Activiti, jBPM;其实说风格也是授权,因为Activiti Modeler是Signavio捐赠给Activiti的。这里我们定义为Activiti,对应的配置目录在signavio-core-components/configuration/Activiti;
  • host:这里顾名思义就是要配置运行时的域名以及端口号,根据自己的实际配置设置;可以定义为https协议。
  • fileSystemRootDirectory重要,属性的含义是制定保存workspace工作去的目录;这个属性导致很多人启动服务失败,因为制定的目录不存在导致Signavio报错;所以要事先准备好一个目录用来保存设计的文件(流程定义);注意:不要使用反斜杠(\),而是所有的操作系统都使用正斜杠(/)来定义目录,例如:/home/henryyan/work/workspace/signavio

4.执行打包

支持多种打包、部署方式,也支持多种Web容器(JBoss、Tomcat)。

4.1 all-in-one方式

这个也是最常用的方式,在signavio-core-components目录执行命令:

ant build-all-in-one-war

执行完命令之后在signavio-core-components/target目录就出生成activiti-modeler.war,现在就可以把这个war包部署到tomcat或者其他容器中运行了。

4.2 直接部署到Web容器

需要设置属性:

  • dir-tomcat-webapps:此属性在运行下面的命令的时候会用到,含义为指定打包文件部署的容器web根目录,例如我的tomcat配置:/home/henryyan/work/tools/apache/tomcat/tomcat-6.0.32-activiti-modeler/webapps
  • dir-jboss-webapps:同dir-tomcat-webapps,只不过容器类型不同而已。

可以通过如下命令直接打包+运行设计器:

ant build-and-deploy-all-in-one-war-to-tomcat

等待任务结束之后在dir-tomcat-】webapps的属性值对应的目录中就看到了activiti-modeler.war文件了,现在你可以启动tomcat访问了。

4.3 Windows打包报错

又是烦人的编码问题,如图:

不过好在有人遇到过,我把解决办法搬过来整理分享给大家。解决办法就是设置编码为UTF-8。

官网的WIKI特别之处了UTF-8 Encoding Configuration

A lot of users face issues regarding an invalid encoding that may result in corrupted model files.
That is why it is very important that you ensure the usage of UTF-8 encoding in the whole application stack.

用编辑器打开signavio-core-components/ editor/build.xml文件。

  1. 找到<target name="com.signavio.editor.js.concat">,紧随其后添加一行配置代码:<property name="charset" value="utf-8"/>标签中的<concat destfile='${build}/oryx.debug.js'>修改为<concat destfile='${build}/oryx.debug.js' encoding="${charset}" outputencoding="${charset}">。
  2. 找到<target name='com.signavio.editor.js.compress代码处,更改次target内的<java dir="${build}" jar="${root}/lib/yuicompressor-2.4.2.jar" fork="true" failonerror="true" output='${compress.temp}'>;将其中的yuicompressor-2.4.2.jar更改为yuicompressor-2.4.7.jar。
  3. signavio默认使用yuicompressor-2.4.2版本压缩javascript和css文件,为了解决编码问题我们需要使用最新版本替换2.4.2版本,笔者在撰稿的时候最新的yuicompressor版本为2.4.7,读者也可以直接下载最新版本。访问http://yuilibrary.com/download/yuicompressor/ 下载第一个版本的压缩包,解压提取build/yuicompressor-2.4.7.jar文件并复制到signavio-core-components/yuicompressor/editor/lib目录中。再次执行打包命令ant
    build-all-in-one-war
    一切正常,截图证明。

时间: 2024-12-01 14:28:38

如何使用Signavio打包Activiti Modeler的相关文章

Activiti Modeler发布以及教程

1.新版Activiti Modeler简介 在Activiti 5.6版本之前把Activiti Modeler作为压缩包的一部分,但是后来不再这么做而是需要开发人员自己根据Signavio打包Activiti Modeler,我之前层写过一篇博文讲解如何打包:<如何使用Signavio打包Activiti Modeler>. 但是现在不需要自己打包了,官方已经基于Signavio开发了新版的Activiti Modeler,新版的特点如下: 完全针对Activiti定制开发,支持目前Act

3.2在Activiti Explorer中使用Activiti Modeler

3.2在Activiti Explorer中使用Activiti Modeler 从5.11版本开始官方提供的压缩包发生了较大变化(参考2.1.1节):把重新设计的Activiti Modeler整合到了Activiti Explorer中,可以直接创建新模型然后部署到引擎中,也可以根据已有的流程定义创建模型,修改后可以直接把最新的修改部署到引擎. 由于Activiti Modeler组件需要依赖REST服务,因此读者要了解如何把Activiti Modeler集成到自己的项目中,相关内容可参考

整合Activiti Modeler到业务系统(或BPM平台)

1. 为什么要整合 Activiti 5.10版本把原本独立的Activiti Modeler模块整合到了Activiti Explorer中,两者相结合使用起来很方便,通过Modeler设计的流程模型可以直接部署到引擎,也可以把已经部署的流程转换为Model从而在Modeler中编辑. 在实际应用中也有这样的需求,把Modeler整合到业务系统中可以供管理员使用,或者作为BPM平台的一部分存在,很遗憾官方没有给出如何整合Modeler的文档. 2. 整合工作 2.1 下载源码 首先需要从Git

集成新版(5.17+)Activiti Modeler与Rest服务

声明: 此教程适合Activiti 5.17+版本. 本博客所涉及的内容均可在kft-activiti-demo中找到. 在线demo可以访问 http://demo.kafeitu.me:8080/kft-activiti-demo 菜单路径:管理模块 -> 流程管理 -> 模型工作区,可以『创建』或者『编辑』模型 1. 简介 上一篇介绍整合Activiti Modeler<整合Activiti Modeler到业务系统(或BPM平台)>已经有2年多时间了,自从Activiti

打包Activiti的流程资源文件(bpmn20.xml、form、png)

1.资源文件介绍 Activiti的流程定义文件可以直接部署bpmn20.xml.zip.bar文件,其中后面的zip和bar类型一样都是压缩文件格式,bpmn20.xml是符合bpmn2.0规范的xml定义. 今天要解决的问题就是帮助大家打包流程资源文件,其中肯能包括:bpmn20.xml.png.form等文件. 大多数开发人员都是用Activiti Designer来设计流程定义,可能业务人员使用了其他的流程设计器来描述业务,然后开发人员用Activiti Designer来"深加工&qu

Activiti实战

实 战 Activiti实战 闫洪磊 著 图书在版编目(CIP)数据 Activiti实战/闫洪磊著. -北京:机械工业出版社,2014.12 (实战) ISBN 978-7-111-48595-7 I. A- II.闫- III. JAVA语言-程序设计 IV. TP312 中国版本图书馆CIP数据核字(2014)第270580号 本书版权登记号:图字:01-2013-1390 Authorized translation from the English language edition,

Activiti实战. 3.4本章小结

3.4本章小结 "工欲善其事,必先利其器".本章主要介绍了Activiti引擎提供的两个流程设计器,一个是由Signavio授权的基于Web的Activiti Modeler,另外一个是Activiti Designer.两个设计器侧重面不同,Activiti Modeler偏向于业务层面,而Activiti Designer则更侧重于开发层. 针对Activit Modeler本章讲解了如何进行打包.部署.运行等,并且简单介绍了如何使用Activiti Modeler设计一个简单的请

Activiti实战. 导读

实 战 Activiti实战 闫洪磊 著   为什么要写这本书 2011年年末,公司承接了一个保险类的业务系统,包含处理核心业务的ERP系统以及日常办公的OA系统,很明显这两种类型的系统都离不开工作流引擎的支持.我用一周时间对比了几个开源的工作流引擎,最后决定使用Activiti作为整套系统的工作流引擎. 现在回想起来,当初的学习过程是多么的"痛苦"啊!当时Activiti才刚满周岁,除了官方提供的尚能看得过去的用户手册之外,再无其他资料可供参考,这对于国内开发者来说尤为痛苦.仅有的用

Activiti实战. 1.3Activiti的特点

1.3Activiti的特点 1. 数据持久化 Activiti的设计思想是简洁.快速.有过应用开发经验的开发人员都知道应用的瓶颈体现在和数据库交换数据的过程中,针对这一点Activiti选择了使用MyBatis,从而可以通过最优的SQL语句执行Command,仅凭如此就能让引擎在速度上保持最高的性能. 2. 引擎Service接口 Activiti引擎提供了七大Service接口,均通过ProcessEngine获取,并且支持链式API编程风格.表1-1简单列出七个Service接口及其作用,