canvas教程

整合activiti在线流程设计器(ACTIVITI-MODELER 5.18.0)(3)

字号+ 作者:H5之家 来源:H5之家 2015-11-04 11:17 我要评论( )

C)在modeler.html中加上CloseWindow的函数 script type=text/javascriptfunction CloseWindow(action) {if (window.CloseOwnerWindow) return window.CloseOwnerWindow(action);else window.close();}/script 目的

C)在modeler.html中加上CloseWindow的函数

<script type="text/javascript"> function CloseWindow(action) { if (window.CloseOwnerWindow) return window.CloseOwnerWindow(action); else window.close(); } </script>

目的是为了保存模型时,可以关闭当前的弹出的mini窗口,修改保存后弹出的窗口的保存及关闭动作,如下所示,把editor-app/configuration/toolbar-default-action.js的以下函数:

$scope.saveAndClose = function () { $scope.save(function() { window.location.href = "./"; }); };

改成以下:

$scope.saveAndClose = function () { $scope.save(function() { CloseWindow('ok'); }); };

D) 修改editor-app编辑器的根目录,如app-cfg.js

ACTIVITI.CONFIG = { 'contextRoot' : '/activiti-explorer/service', };

改成自己的根目录:

ACTIVITI.CONFIG = { 'contextRoot' : '/redxun_web/service', };

在实际的项目中,可以把这些ContextRoot改成动态的获值方式

至此,重启你的应用后,可直接进入目录访问modeler.html页面。直接访问该页面时,框架会出现,但是没有出现你想要的内容。这是因为后台出错了,这个页面要能正常访问要求必须传入Activiti的设计Model的Id,即act_re_model表中的主键,访问路径如: Myroot/process-editor/modeler.html?modelId=12312312。 但这个表的记录怎么产生,这里需要调用一下Acitiviti的API来创建,如下代码片段可以实现该功能。

String descp=request.getParameter("description"); ObjectMapper objectMapper = new ObjectMapper(); ObjectNode editorNode = objectMapper.createObjectNode(); editorNode.put("id", "canvas"); editorNode.put("resourceId", "canvas"); ObjectNode stencilSetNode = objectMapper.createObjectNode(); stencilSetNode.put("namespace", "#"); editorNode.set("stencilset", stencilSetNode); Model modelData = repositoryService.newModel(); ObjectNode modelObjectNode = objectMapper.createObjectNode(); modelObjectNode.put(MODEL_NAME, actReModel.getName()); modelObjectNode.put(MODEL_REVISION, 1); //String description = null; modelObjectNode.put(MODEL_DESCRIPTION, descp); modelData.setMetaInfo(modelObjectNode.toString()); modelData.setName(actReModel.getName()); repositoryService.saveModel(modelData); repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8"));

至此,整合创建完成,后续我们会基于Activiti上进行扩展,以实现流程在线定义,流程人员挂接、表单关联、代办事项、代理、转办、归档等复杂的中国特色流程的需求。 在线访问整合效果,如:

流程管理模块下的流程模型设计






ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—



  • 相关 [activiti 在线 设计] 推荐:

    整合activiti在线流程设计器(ACTIVITI-MODELER 5.18.0) - - 企业架构 - ITeye博客

    一直以来都是从事大量的工作流相关的项目,用过很多商用的工作流产品,包括国内与国外的,尽管商用的工作产品在UI操作上比较人性化,但个人用户觉得,这东西只需要一些初级用户,对于我们一直在为一些高级的客户提供一些专业的数据整合、流程梳理、系统间的数据穿透时,这些系统因为不开源,给项目的实施带来巨大的风险,在一些项目栽过跟头后,我更偏向于使用开源的平台了. 但开源平台最大的难点是在于你是否有足够的技术人员来学习及掌握它,否则,它也一样面临项目实施失败的风险. 后来在一些项目上使用JBPM4,Activiti5,发现Activiti5的流程功能真的很强大,几乎是无所不能. 套用一句广告语,老板再也不担心我的流程实现了.

    整合Acitiviti在线流程设计器(Activiti-Modeler 5.18.0) - - 开源软件 - ITeye博客

    整合Acitiviti在线流程设计器(Activiti-Modeler 5.18.0). 一直以来都是从事大量的工作流相关的项目,用过很多商用的工作流产品,包括国内与国外的,尽管商用的工作产品在UI操作上比较人性化,但个人用户觉得,这东西只需要一些初级用户,对于我们一直在为一些高级的客户提供一些专业的数据整合、流程梳理、系统间的数据穿透时,这些系统因为不开源,给项目的实施带来巨大的风险,在一些项目栽过跟头后,我更偏向于使用开源的平台了. 但开源平台最大的难点是在于你是否有足够的技术人员来学习及掌握它,否则,它也一样面临项目实施失败的风险. 后来在一些项目上使用JBPM4,Activiti5,发现Activiti5的流程功能真的很强大,几乎是无所不能.

    Activiti 工作流会签开发设计思路 - - ITeye博客

    Activiti 工作流会签开发设计思路. 在流程业务管理中,任务是通常都是由一个人去处理的,而多个人同时处理一个任务,这种任务我们称之为会签任务. 这种业务需求也很常见,如一个请款单,领导审批环节中,就需要多个部门领导签字. 在流程业务中,我们可以把每个领导签字的环节都定义为任务,但若这样,这个流程业务有一点是固定的,就是签批人是固定的. 而任务是由一个领导签完再到另一领导,当然也可以由多个领导同时签字. 传统的用流程业务来解决可以采用以下的做法:. 前者在流程业务中,叫串行会签,也即是由一个领导签完再至另一领导签. 后者我们称之为并行会签,表示几个领导同时进行签发,而不清楚最终是谁先签. 以上的解决方式有两大业务需求下是不能满足的,若会签的领导不是固定的,即可以由上一任务审批人提交前随意进行选择,另一种是对于会签业务中,要求若其中一部分领导审批通过,即直接往下走,不需要全部领导进行审批.

    Activiti用户指南之Activiti的API - - ITeye博客

    一、流程引擎的API和服务(services). 引擎的API是影响Activiti最常见的一种方法. 我们一开始最关注的中心是ProcessEngine,像之前描述的那样,流程引擎可以被多种方式创建. 从这个流程引擎里面,你能获得各个包含workflow/BPM方法的服务. 流程引擎和这些获得的服务是线程安全的. 所以你能为整个服务器保留这些中的一个引用. ProcessEngines.getDefaultProcessEngine();这个方法被调用之后,会首先初始化并且创建一个流程引擎,并且以后会一直返回同一个流程引擎. ProcessEngine.init()和ProcessEngine.destroy方法会被用来创建和关闭所有流程引擎的属性.

    Activiti学习笔记 - - 企业架构 - ITeye博客

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    网友点评