Camunda快速入门(三):设计一个人工任务流程并配置表单

接上一篇文章:Camunda快速入门(二):设计并执行第一个BPMN流程

在本节中,您将学习如何使用 BPMN 2.0 用户任务让人类参与到您的流程中。

1、添加用户任务活动节点

我们想修改我们的流程,以便我们可以让人类参与进来。

为此,请在 Camunda Modeler流程建模工具中打开该过程。

选择创建/删除空间工具 (<||>),并使用它来在“开始事件”和“Charge Credit Card从信用卡中扣款)”服务任务之间创建空间(单击并将光标拖动到右侧)。

接下来,从建模器的左侧菜单中,选择活动形状(圆角矩形),并将其拖动到“开始事件”和“从信用卡中扣款”服务任务之间的位置。将其命名为Approve Payment批准付款”。

通过单击活动类型并使用扳手按钮菜单将活动类型更改为“用户任务”。

2、配置用户任务处理人

接下来,打开属性视图。如果属性视图尚不可见,请单击 Modeler 画布右侧的“属性面板”标签。

在画布上选择“用户任务”。这将更新属性视图中的选择。滚动到名为 Assignee的属性。键入 demo 以在进程运行后自动将任务分配给演示用户。

3、在用户任务中配置表单

此步骤也将在属性面板中进行。如果面板尚不可见,请单击 Modeler 画布右侧的“属性面板”标签。

在画布上选择“用户任务”,单击属性面板中的Forms选项卡。

本指南使用Camunda Forms将表单添加到流程中。我们将创建一个名为payment.form的表单。设置以下字段以将此过程链接到您将要创建的表单:

  1. Type: Embedded or External Task Forms
  2. Form Key: camunda-forms:deployment:payment.form

4、通过表单设计器设计表单

现在,通过单击“文件”>“新建文件”>“表单”创建新表单Form_Payment

您可以通过从左侧的表单组件中拖放元素来添加表单字段。添加以下三个表单字段:

字段 1:

  1. Type: Number
  2. Key: amount
  3. Field Label: Amount

字段 2:

  1. Type: Text Field
  2. Key: item
  3. Field Label: Item

字段 3:

  1. Type: Checkbox
  2. Key: approved
  3. Label: Approved?

最后,将表单另存为 payment.form

5、部署流程和表单

  1. 切换回流程图
  2. 单击 Camunda Modeler 中的 Deploy 按钮
  3. 在部署面板中,选择“包括其他文件”下的文件payment.form
  4. 单击“部署”

6、发起流程验证

转到任务列表 (http://localhost:8080/camunda/app/tasklist/) 并使用用户“demo / demo”登录。点击启动流程按钮启动流程实例。这将打开一个对话框,您可以在其中从列表中选择Payment Retrieval 流程。现在,您可以使用表单为流程实例设置变量了。

单击“ Add a variable(添加变量)”按钮以创建新行,填写表单完成后,单击“Start(开始)”启动一个流程。

提示:

如果在任务列表中看不到任何任务,则可能需要一个筛选器。通过单击左侧的添加简单过滤器来添加一个过滤器。

现在,您应该会在任务列表中看到“ Approve Payment(批准付款”任务。选择任务,然后单击“图表”选项卡。这将显示流程图,突出显示等待处理的用户任务。

若要处理该任务,请选择“Form 窗体”选项卡。由于我们在 Camunda Modeler 的“Form 表单”选项卡中定义了变量,因此“任务列表”已为我们自动生成表单字段。

7、源码和文档

在线体验系统:http://www.yunchengxc.com

源代码下载:https://github.com/camunda/camunda-get-started-quickstart/archive/Step-3.zip

官方文档地址:Add a User Task to the Process (4/6) | docs.camunda.org

接下来,让我们看一下如何将网关添加到流程让流程变得更加动态,通过网关执行控制不同的流程走向

Camunda快速入门(四):设计一个带网关的流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用SiteScan合理信息收集

一、介绍 作者&#xff1a;kracer 定位&#xff1a;专注一站式解决渗透测试的信息收集任务。 语言&#xff1a;python3开发 功能&#xff1a;包括域名ip历史解析、nmap常见端口爆破、子域名信息收集、旁站信息收集、whois信息收集、网站架构分析、cms解析、备案号信息收集、…

小迪安全2023最新版笔记集合--续更

小迪安全2023最新版笔记集合–续更 小迪安全2023最新笔记集合 章节一 ---- 基础入门&#xff1a; 知识点集合&#xff1a; 应用架构&#xff1a;Web/APP/云应用/三方服务/负载均衡等 安全产品&#xff1a;CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令&#xff1a;文件上传下…

RK3568平台 有线以太网接口之MAC芯片与PHY芯片

一.平台网络网络通路 平台有线以太网通路&#xff1a;有线以太网一般插入的是RJ45 座要与 PHY 芯片&#xff08;RTL8306M&#xff09;连接在一起&#xff0c;但是中间需要一个网络变压器&#xff0c;网络变压器经过模数转换后到达网卡(RTL8111)转换为帧数据后到达SOC。 二.网络…

业务型 编辑器组件的封装(复制即可使用)

使用需要安装 wangeditor npm i --save wangeditor import React from react; import E from wangeditor; import ./index.lessclass EditorElem extends React.Component {constructor(props) {super(props);this.isChange false;this.state {}}componentDidMount() {con…

【leetcode热题】二叉树的层次遍历 II

难度&#xff1a; 简单通过率&#xff1a; 44.9%题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述 给定一个二叉树&#xff0c;返回其节点值自底向上的层次遍历。 &#xff08;即按从叶子节点所在层到根节点所在的层&…

MySQL学习Day18——逻辑架构

一、逻辑架构剖析: 1.服务器处理客户端请求: 首先 MySQL 是典型的C/S架构&#xff0c;即client/Server架构&#xff0c;服务器端程序使用的mysqld。不论客户端进程和服务器进程是采用哪种方式进行通信&#xff0c;最后实现的效果都是:客户端进程向服务器进程发送段文本(SQL语…

在script标签写export为什么会抛错|type module import ES5 ES6 预处理 指令序言 JavaScript JS

今天我们进入到语法部分的学习。在讲解具体的语法结构之前&#xff0c;这一堂课我首先要给你介绍一下 JavaScript 语法的一些基本规则。 脚本和模块 首先&#xff0c;JavaScript 有两种源文件&#xff0c;一种叫做脚本&#xff0c;一种叫做模块。这个区分是在 ES6 引入了模块…

如何防止被恶意刷接口?

在面试时&#xff0c;经常会被问一个问题&#xff1a;如何防止别人恶意刷接口&#xff1f; 这是一个非常有意思的问题&#xff0c;防范措施挺多的。今天这篇文章专门跟大家一起聊聊&#xff0c;希望对你会有所帮助。 1 防火墙 防火墙是网络安全中最基本的安全设备之一&#x…

一个网络请求是怎么进行的?

一个网络请求是怎么进行的&#xff0c;涉及到浏览器的运行机制、页面加载流程。 当我们打开一个页面的时候&#xff0c;可以在NetWork面板上看到浏览器发起的网络请求&#xff0c;包括了页面、图片、CSS样式文件以及请求的状态&#xff0c;请求耗时和响应内容等等信息。 实际…

2023年全球软件开发大会(QCon北京站2023)2月:核心内容与学习收获(附大会核心PPT下载)

本次峰会是一个汇集了最新技术趋势、最佳实践和创新思维的盛会。对于从事软件开发和相关领域的专业人士来说&#xff0c;参加这样的大会将有助于他们了解行业动态、提升技能水平、拓展职业视野&#xff0c;并与同行建立联系和合作。 本次峰会包含&#xff1a;AI基础架构、DevO…

C++ move semantics

Move casts the argument to rvalue reference, and forward casts the argument to the value type it is bound to. The cast doesn’t move, doesn’t change the obj itself and does nothing but let the compiler know this is an rvalue.Move semantics happens for mov…

CSS常用技巧

【1】制作三角形 <style>.box {width: 0;height: 0;margin: 0 auto;/* 等腰直角三角&#xff1a; 各边框宽度一致&#xff0c;将上边框保留&#xff0c;其他边框设置为透明色 */border: 100px solid transparent;border-top: 100px solid red;} </style> <d…

用户空间与内核通信(一)

在Linux中&#xff0c;内核空间与用户空间是操作系统中的两个主要部分&#xff0c;它们有着明显的区别和不同的功能。 内核空间&#xff1a; 内核空间是操作系统内核运行的区域&#xff0c;它包括了操作系统内核代码、数据结构和设备驱动程序等。内核空间位于虚拟地址空间的最…

tcpdump 命令简记录

命令 tcpdump -i eth0 -nvv -vv -c 1000 -s 0 host 127.0.0.1 and port 80 -w oms_result.cap分析 -i : 选择要捕获的接口&#xff0c;通常是以太网卡或无线网卡&#xff0c;也可以是 vlan 或其他特殊接口。 -n : 不把网络地址转换成名字 -vv : 输出详细的报文信息 -c : 在收到…

Linux程序性能分析60秒+

Linux性能分析大师Brendan Gregg有一篇非常著名的博客&#xff0c;介绍在性能分析开始的60秒内&#xff0c;利用标准的Linux命令行工具&#xff0c;执行一次充分的性能检查&#xff0c;获得系统资源利用率和进程运行情况的整体概念&#xff0c;查看是否存在异常、评估饱和度。本…

安全架构设计理论与实践

一、考点分布 安全架构概述&#xff08;※※&#xff09;安全模型&#xff08;※※※&#xff09;信息安全整体架构设计网络安全体系架构设计区块链技术&#xff08;※※&#xff09; 二、安全架构概述 被动攻击&#xff1a;收集信息为主&#xff0c;破坏保密性 主动攻击&#…

Electron实战之菜单与托盘

菜单、托盘是桌面端应用必备的功能之一&#xff0c;我们通常会在菜单上配置应用常用的&#xff1a;偏好设置、显示隐藏、打开文件等功能&#xff0c;在托盘内设置&#xff1a;退出、重启、帮助等辅助性功能&#xff0c;帮助用户方便快捷地控制应用的一些系统功能。系统托盘实际…

计算任意两个日期之间天数 Matlab

tdatetime(today);%get今天日期t12002-04-01;mdatenum(t1-t1) %做差后是hour,转化为天数参考 matlab日期函数

SQL Developer 小贴士:显示RAC配置

前提&#xff1a; 已建立2节点RAC已在SQL Developer中建立了2个连接&#xff0c;分别到RAC的两个节点 然后单击菜单View>DBA&#xff0c;分别连接RAC节点1和节点2&#xff0c;并组织成目录&#xff08;不必须&#xff0c;但建议&#xff09;。 在两处可以体现为RAC配置。第…

代码随想录算法训练营|二叉树总结

二叉树的定义&#xff1a; struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode():val(0),left(nullptr),right(nullptr){}TreeNode(int val):val(val),left(nullptr),right(nullptr){}TreeNode(int val,TreeNode* left,TreeNode* right):val(val),left(left),…