Flowable流程设计器详解

Flowable流程设计器是一个基于web的设计器,可以用于创建、编辑和管理Flowable工作流程。它可以轻松地定义和设计复杂的工作流程,并且提供了完全自定义和自包含的功能组件,使工作流程可定制化。本文将从教程、美化、源码修改、表单设计器、设计器集成、在线设计器、子流程、vue flowable 设计器和自定义流程设计器等多个方面对Flowable流程设计器进行详细阐述。

一、Flowable流程设计器教程

在使用Flowable流程设计器之前,我们需要先学会如何使用它。下面是一些常用的使用方法:

1、创建Flowable流程

创建一个新的流程定义非常简单。只需按以下步骤操作:


    // 先获取流程引擎实例
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

    // 获取repositoryService,然后调用createDeployment()方法创建一个新部署
    RepositoryService repositoryService = processEngine.getRepositoryService();

    // 创建一个bpmn-model的流程模型
    BpmnModel model = new BpmnModel();

    // 获取流程图的实例
    Process process = new Process();

    // 设置流程图id和name
    process.setId("myProcess");
    process.setName("My Process");

    // 把流程图实例加入到流程模型中
    model.addProcess(process);

    // 部署流程
    Deployment deployment = repositoryService.createDeployment()
        .addBpmnModel("myProcess.bpmn", model)
        .name("流程定义名称")
        .deploy();

    // deployment.getId()返回新流程定义的ID

2、在Flowable流程设计器中绘制流程

在Flowable流程设计器中绘制流程也非常简单。只需遵循以下步骤:

首先,要能够使用Flowable Designer,您需要安装Eclipse并从Eclipse市场安装Flowable Designer插件。完成安装并启动Eclipse后:

  • 1. 创建Flowable项目.
  • 2. 在项目中右键选择 “New ▸ Other”, 在弹出的 “New” 窗口中选择 “Flowable Diagram”.
  • 3. 输入文件名并点击 “Finish”。 在打开的Flowable设计器中开始绘图。
  • 4. 编辑保存后,会生成xml文件,将其加入src/main/resources/processes/文件夹即可。

3、运行Flowable流程

启动活动流程实例与启动BPMN流程实例相似。只需要使用以下方法:


    // 先获取流程引擎实例
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

    // 获取runtimeService
    RuntimeService runtimeService = processEngine.getRuntimeService();

    // 根据流程定义key,启动流程实例
    ProcessInstance proInst = runtimeService
      .startProcessInstanceByKey("myProcess");

二、Flowable设计器美化

美化Flowable流程设计器界面可以提升用户体验,使其更加易于操作和使用。下面是一些常用的美化方法:

1、更改设计器主题风格

Flowable设计器提供了三种主题风格:默认、清新蓝和雪山白。可以使用以下代码块中的样式表将风格更改为清新蓝:

<head>
  <link rel="stylesheet" href="static/flowable-modeler/css/styles.min.css">
  <link rel="stylesheet" href="static/flowable-modeler/css/themes/theme-fresh.css">
</head>

2、更改设计器图标

项目中必须包含Flowable设计器所用的Font Awesome 4.7字体,并且必须是正确配置的。只需更改以下代码块中的font-family即可修改字体样式:

  .fa {
    font-size: 16px;
    line-height: 1;
    display: inline-block;
    font-family: 'FontAwesome', serif;
  }

三、Flowable流程设计器dragon

Flowable Dragon是一个Flowable流程设计器的扩展,它允许自定义和使用自己的表单UI组件。下面是一些常用的方法:

1、使用Flowable Dragon创建UI组件

可以创建新的UI组件,也可以使用现有的UI组件。下面是一个自定义的Email组件的示例:


  <div class="app-email-property">
    <span>Enter Email Address:</span>
    <input ng-model="property.value">
  </div>

2、使用Flowable Dragon预定义的UI组件

Flowable Dragon还提供许多常见的UI组件,例如日期选择器、文件上传组件、邮件组件等。可以使用以下代码块创建文件上传组件:

<div>
  <span>Select file to upload:</span>
  <input type="file" name="files[]" multiple>
</div>

四、Flowable流程设计器源码修改

通过更改Flowable流程设计器的源代码,可以实现各种自定义功能。下面是一些例子:

1、更改设计器UI

使用CSS或JavaScript等工具可以更改设计器的界面布局、外观、样式等特性。例如,可以使用以下代码块修改工具栏按钮的CSS:

  /* 更改工具栏按钮 */
  .toolbar .toggle-membership, .process-definition-toggle {
    padding: 10px;
    margin-bottom: 5px;
    background-color: #00a8ff;
    color: #fff;
    border: none;
    border-radius: 3px;
    font-size: 1.2em;
    text-decoration: none;
  }

2、更改设计器图标

可以更改设计器中使用的所有图标,包括工具栏、流程图、节点图标等。可以使用以下代码块来更改所有图标的样式:

  /* 更改所有图标 */
  .fa {
    font-size: 16px;
    line-height: 1;
    display: inline-block;
    font-family: 'FontAwesome', serif;
  }

五、Flowable表单设计器

Flowable表单设计器提供了一个方便创建表单的可视化界面。本节将介绍一些常用的功能和操作:

1、在设计器中创建表单

要在设计器中创建表单,请按以下步骤操作:

  • 1. 点击 “Forms” 标签选项卡。
  • 2. 在左侧窗格中选择所需的表单。选择后,设计器将显示表单设计器。
  • 3. 做出所需的更改,然后点击 “Save” 按钮保存表单。

2、添加字段和选项

可以在设计器中添加各种字段,如文本输入框、下拉列表等,并自定义选项和顺序。以下是添加简单文本框的示例:


  <input type="text" name="firstName" label="First Name" required="true">

3、设置表单属性

还可以设置一些与表单相关的属性,例如表单名称、描述等。以下是设置表单名称的示例:


  <form name="registrationForm">
    <h2>Registration Form</h2>
  </form>

六、Flowable设计器集成

Flowable设计器可以轻松集成到其他应用程序中。下面是一些常用的集成选项:

1、使用Flowable设计器作为iframe嵌入

可以通过将Flowable设计器作为iframe嵌入到主应用程序中来集成Flowable Designer。以下是一个基本的嵌入示例:


  <iframe src="static/flowable-idm/app.html"></iframe>

2、使用JavaScript API集成Flowable设计器

Flowable包含JavaScript API,使您可以从主应用程序中对设计器进行完全的控制。以下是一些常见的使用示例:


  var modelId = "myProcess";
  var designUrl = "/flowable-designer/designer.html?modelId=" + modelId;

  // 打开设计器
  flowableModeler.openModeler({url: designUrl});

  // 保存模型
  var bpmnXml = flowableModeler.getModelXml();
  $.ajax({
    url: "/api/model/" + modelId + "/save",
    method: "PUT",
    data: bpmnXml
  });

七、Flowable在线设计器

Flowable在线设计器允许您创建和设计Flowable BPMN工作流程,而无需安装任何软件或插件。下面是一些常见的使用方法和选项:

1、使用默认编辑器模板创建新模型

可以使用Flowable在线设计器的默认模板来创建新模型。以下是一个常见的使用示例:

  // 创建新模型
  $.ajax({
    url: "/model/create",
    method: "POST",
    data: {
      name: "My Model"
    },
    success: function(response) {
      // 跳转到编辑器
      var modelId = response.id;
      window.location.href = "/editor.html?modelId=" + modelId;
    }
  });

2、从BPMN XML导入模型

可以从现有的BPMN XML模型导入模型。以下是一个常见的使用示例:

  // 导入模型
  $.ajax({
    url: "/model/import",
    method: "POST",
    data: {
      name: "My Model",
      bpmnXml: "..."
    },
    success: function(response) {
      // 跳转到编辑器
      var modelId = response.id;
      window.location.href = "/editor.html?modelId=" + modelId;
    }
  });

八、Flowable子流程

Flowable允许定义复杂的工作流程,其中一个流程可以由多个子流程构成。子流程可以包含在主流程中,因此可以根据需要多次重用。以下是一些常见的使用方法:

1、在主流程中使用子流程

可以使用以下代码块在主流程中调用子流程:


<bpmn:callActivity id="subProcess" name="Sub process">
<bpmn:extensionElements>

原创文章,作者:JUGN,如若转载,请注明出处:https://www.506064.com/n/142516.html

(0)
JUGNJUGN
上一篇 2024-10-12
下一篇 2024-10-12

相关推荐

  • floyd-warshall算法详解

    一、floyd-warshall算法 floyd-warshall算法是一种用于解决所有节点对之间的最短路径问题的算法。该算法基于动态规划的思想,它采用的是一种分治的策略,在不断迭…

    编程 2024-10-04
  • Python __call__()方法

    魔术方法介绍 以双下划线作为前缀和后缀的方法名是 Python 中特定使用的保留方法。例如, init 方法用于对象构造器,或者 call 方法用于使对象可调用。我们称这些方法为邓…

    编程 2024-10-03
  • python先学c语言,学完c语言学python

    本文目录一览: 1、学python之前要不要先自学c语言? 2、c语言和python先学哪个? 3、学python和c语言先学哪个好 4、学Python之前需要学c语言吗 学pyt…

    编程 2024-10-03
  • Java中将数组转换为集合的方法

    Java中的集合是一种常用的数据结构,提供了方便而且高效的操作方式。有时候我们需要将一个数组转换成集合,方便集合操作。本文将从以下几个方面阐述Java中将数组转换为集合的方法。 一…

    编程 2024-10-04
  • python穷举数组的所有组合(python元组和数组)

    本文目录一览: 1、如何穷举(任意个数组)的成员的组合? 2、python 数组组合 3、Python问题 运用穷举法 4、python 数组里面求和为某固定值的所有组合? 5、p…

    编程 2024-10-03
  • 用python怎么分析(用python怎么分析数据相关性)

    本文目录一览: 1、可以让你快速用Python进行数据分析的10个小技巧 2、如何利用python进行数据分析 3、python怎么分析数据 4、如何用python进行数据分析 可…

    编程 2024-10-03
  • java开发模板工具类整理(java开发必备工具)

    1、你常用的Java工具库都有哪些 2、昆明Java培训:免费java开发工具有哪些?实用型java开发工具特点? 3、java常用工具类有哪些 Java SDK 肯定是使用最广的…

  • matlab稀疏矩阵

    一、matlab稀疏矩阵和普通矩阵 在matlab中,一般我们可以使用普通的矩阵来存储数据。然而,当我们需要存储大规模稀疏矩阵时,我们可以使用稀疏矩阵。 稀疏矩阵是指在整个矩阵中,…

    编程 2024-10-04
  • 下php服务器(php应用服务器)

    本文目录一览: 1、如何在服务器环境下安装 php 2、如何搭建php服务器 3、怎么搭建php服务器? 4、请问高手在window xp下怎么配置PHP服务器啊`请指教`谢谢` …

    编程 2024-10-04
  • Oracle账户被锁定怎么解锁

    一、Oracle账户被锁定怎么解锁命令 ALTER USER username ACCOUNT UNLOCK; 在Oracle数据库中,管理员可以使用以上命令来解锁被锁定的用户账户…

    编程 2024-10-04

发表回复

登录后才能评论