如何使用ActivitiExplorer

这篇文章主要介绍“如何使用Activiti Explorer”,在日常操作中,相信很多人在如何使用Activiti Explorer问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Activiti Explorer”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业龙井免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

Activiti Explorer简介

  • Activiti Explorer:Activiti控制台,是一个web应用程序

  • 从Activiti的官方网站下载Activiti的压缩zip文件时,Activiti控制台在 ${Activiti_home}/wars文件夹下面

  • 该控制台的目的并不是创建一个完善的web应用程序,仅仅是为客户端用户准备的应用程序.对于该控制台,使用了一个内存数据库,也可以换成自定义的数据库(查看WEB-INF文件夹下面的applicationContext.xml文件)

  • 登录控制台,有四个主要功能模块:

    • 管理用户和组

    • 执行和查看停止的jobs

    • 查看数据库和部署新的流程定义

    • 登录的用户具有超级管理员权限才会显示

    • 如果是任务执行人,可以看见运行中流程实例的待办任务,也可以拾取组任务

    • 控制台涉及的功能有子任务的工作,不同角色的人...

    • 控制台允许创建一个独立的任务,该任务不需要关联任何流程实例

    • Tasks:任务管理功能

    • Processes:显示部署的流程定义列表,并且可以启动一个新的流程实例

    • Reports:生成报表和显示之前保存历史的结果数据

    • Manage:用于管理Activiti的流程引擎

流程图

  • 控制台包含的功能,使用RaphaëlJavascript框架自动生成一张流程图:

    • 当流程定义XML包含的BPMN注入信息时,该流程图才能够生成

    • 当流程定义XML中并没有BPMN注入信息,但是部署的时候包含一张流程图,那么该图片也将会被显示 如何使用Activiti Explorer

  • 如果不想使用Javascript生成流程图,可以在ui.properties文件禁用

activiti.ui.jsdiagram = false
  • 控制台上显示流程图,也可以对流程图进行查看,根据流程定义的ID,显示流程定义图片:

http://localhost:8080/activiti-explorer/diagram-viewer/index.html?processDefinitionId=reviewSaledLead:1:36
  • 通过processInstanceId的请求参数,可以显示当前流程实例的状态:

http://localhost:8080/activiti-explorer/diagram-viewer/index.html?processDefinitionId=reviewSaledLead:1:36&processInstanceId=41

Tasks

  • 任务 如何使用Activiti Explorer

  • Inbox:显示登录用户需要办理的所有任务列表

  • My Tasks:显示登录用户任务拥有者的任务列表:

    • 当创建一个独立的任务时,可以自动化操作该任务

  • Queued:显示不用的组任务列表,并且登录用户在该组中:

    • 这里的所有任务都必须先拾取,然后才能够完成

  • Involved:显示登录用户被参与的任务,即不是执行人和任务拥有者

  • Archived:归档,包含已经完成历史任务

Processes

Deployed process definitions(部署流程定义)

  • 在流程定义选项卡中,允许查看Activiti流程引擎部署的所有流程定义

  • 可以使用页面顶部右边的按钮启动一个新的流程实例

  • 如果该流程定义有一个启动表单,那么在启动流程实例之前就会先显示表单如何使用Activiti Explorer

My instances(我的流程实例)

  • 显示当前登录用户未完成的用户任务的所有流程实例

  • 直观地显示流程实例的当前活动和存储的流程变量 如何使用Activiti Explorer

Manage

  • 在管理功能中,只有当登录用户是权限组admin中的成员时,该功能才会显示

  • 当点击Manage图标按钮:

Database

  • Database:数据库.显示Activiti有关内容.当开发流程或者排除故障等问题的时候是非常有用的 如何使用Activiti Explorer

Deployments

  • Deployments:部署.显示当前部署的流程引擎,并且可以看到部署的内容:流程定义,流程图,业务规则,等等... 如何使用Activiti Explorer

  • 当点击部署按钮时,可以上传新的部署:

    • 从自己的计算机中选择一个业务文档或者一个BPMN20.XML文件

    • 简单的拖拽到指定的区域就可以部署一个新的业务流程 如何使用Activiti Explorer

Jobs

  • Jobs:作业

    • 在左边显示当前的作业(定时器等等)并且运行手动执行(例如在截止时间之前触发定时器)

    • 如果作业执行失败(例如邮件服务器不能正常工作),那么就会显示所有的异常 如何使用Activiti Explorer

Users

  • Users:管理用户

    • 创建,修改和删除用户.关联用户

    • 获取权限查看任务分配特定用户信息如何使用Activiti Explorer

Groups

  • Groups:管理组

    • 创建,修改和删除组,关联组

    • 获取权限查看任务分配特定组等信息

Reports

  • 报表:如何使用Activiti Explorer

  • ==注意:== 如果要让报表工作,控制台需要配置历史的级别不能为none.默认的配置是满足要求的

  • 报表选项卡的子选项卡有2个:

    • 显示之前保存的所有报表列表

    • 仅仅显示的是个人保存的报表,并且不能看见其他人保存的报表

    • 显示系统中已知的报表列表

    • 允许运行生成的报表

    • 生成报表:

    • 保存报表:

  • 流程的数据被用于生成报表中的列表和图标.使用流程生成报表数据的优势:

    • 意味着所有的东西:比如并行网关,可以实现基于数据或用户请求输入生成分支

    • 没有新的概念,服务或者应用被需要

    • 部署或者上传一个新的报表与部署一个新的流程是一样的

    • 能够异步生成流程

    • 仅仅异步执行某些步骤

    • 可以使用定时器:在某些时间点上面生成报表数据

    • 直接可以使用流程引擎访问数据库

    • 该流程能够直接访问Activiti流程引擎的内部:

    • 作业执行器能够用于任何其他的流程:

    • 可以用已知的工具和已知的概念创建一个新的报表:

    • 可以使用BPMN2.0结构:

    • 生成报表数据的流程定义需要把activiti-report设置为分类,这样就能在Explorer的报表列表中显示出来。

    • 能够看到报表的唯一要求是:

      • 流程创建一个名为reportData的流程变量,这个变量必须是json对象的二进制数组

      • 变量必须保存到Activiti的历史表中,所以要求引擎必须启用历史功能

      • 因此可以在后面报表保存时获取 如何使用Activiti Explorer

    reportData

    • 报表流程必须生成一个变量reportData,作为展示给用户的JSON数据:

    {
      "title": "My Report",
      "datasets": [
        {
          "type" : "lineChart",
          "description" : "My first chart",
          "xaxis" : "Year"
          "yaxis" : "Total sales"
          "data" :
          {
            "2010" : 50,
            "2011" : 33,
            "2012" : 17,
            "2013" : 87,
          }
        }
      ]
    }

    json数据会在Explorer中获取,并用来生成图表或列表

    • json的元素有:

      • pieChart

      • lineChart

      • barChart

      • list

      • title:报表的标题

      • datasets:数据集的数组,对应报表中不同的图表和列表

      • type:数据集的类型. 这个类型会用来决定如何渲染数据,支持的值:

      • description:每个图表在报表中显示一个描述,这个是可选的

      • xaxis:只对lineChart类型起作用,这个参数是可选的,用来修改图表坐标系x轴的名称

      • yaxis:只对lineChart类型起作用,这个参数是可选的,用来修改图表坐标系y轴的名称

      • data:实际的数据,数据是一个key:value格式的json对象

    流程实例

    • 流程实例总览报表:

      • 只包含一个脚本任务:使用javascript生成json数据集

      • 虽然所有Explorer中的例子都使用javascript,也可以使用java服务任务

      • 执行流程最后的结果就是reportData变量,保存数据

    
    
    
        
    
            
            
    
            
              
            
            
    
            
    
        
    
    
    • 除了流程xml顶部的标准xml,主要区别是targetNamespace设置为activiti-report,分类设置为与部署的流程定义一样的名称

      • 这是一个技术问题:

      • 二进制数组的大小是无限的,但是字符串的长度有限制

      • 这就是为什么javascript字符串必须转换成一个java字符串以获得转换成二进制的功能

      • 脚本的第一行是进行一些导入,避免每次使用时,都要写包名

      • 第一个有意义的代码是使用ReportingUtil读取activiti数据库.返回结果是一个JDBC结果集

      • 查询语句下面 ,javascript创建了使用的json.json是符合上面描述的需求的

      • 最后一行脚本,首先需要把json对象转换成字符串,使用javascript函数JSON.stringify().字符串需要保存为二进制数组类型的变量

    • 原生json功能无法使用,这里提供了一些帮助类ReportDataDataset:

    
    
    
        
    
            
            
    
            
              
            
            
    
            
    
        
    
    

    报告开始表单

    • 报表是使用普通流程来生成的,所以表单功能也可以使用

    • 直接在开始事件里加一个开始表单 ,Explorer就会在生成报表之前展示给用户

    
      
        
          
            
            
          
      
    
    • 为用户渲染一个普通的表单: 如何使用Activiti Explorer

    • 表单属性会在启动流程时提交,然后就可以像普通的流程变量一样使用.脚本中可以使用这些流程变量来生成数据:

    var processDefinition = execution.getVariable("processDefinition");

    流程示例

    • 控制台中包含4个报表示例:

      • 另一个使用开始表单的例子

      • 会使用对应的变量来动态生成SQL查询语句

      • 使用多个数据集的报表实例

      • 报表包含使用相同数据的饼图和列表视图

      • 展示多种数据集可以用来在一个页面中生成不同图表

      • 使用饼图进行展示

      • 结合两个不同的数据库查询结果

      • 报表演示使用折线图和开始表单

      • 报表的脚本比其他例子要复杂,因为数据会在脚本中先进行解释,再保存到报表数据中

      • Employee productivity(员工的工作效率):

      • Helpdesk(一线与升级):

      • Process instance overview(流程实例总览):

      • Task duration(任务持续时间):

      修改数据库

      • 要修改控制台例子所用的数据库:

        • Tomcat共享类库

        • apps/apache-tomcat-6.x/webapps/activiti-explorer/WEB-INF/lib/

        • 改变属性文件:apps/apache-tomcat-6.x/webapps/activiti-explorer/WEB-INF/classes/db.properties

        • 在类路径下放上合适的数据库驱动:

      到此,关于“如何使用Activiti Explorer”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


      当前题目:如何使用ActivitiExplorer
      标题URL:http://myzitong.com/article/pecioj.html