golang flow工作流引擎-自己挖坑自己填
Flow质量流程挖坑自己填
——待完善
一、问题和坑
1.为何手机上添加后自己却看不到呢
因为手机登录后记录微信的openid,每个微信对应唯一的openid,不管这个微信切换哪个用户名来登录“鲁班宝”小程序,它都是一个openid。在engineercms这个服务端,它只记录这一个openid对应第一次登录的用户名。所以,不管用户切换哪个用户,小程序都只认第一次登录用的用户名。
因此,当用户添加文章后,小程序里要找出用户id,然后在addquality里将接收groupid设置为这个用户id,他才能看到。——服务端来获取这个single group ID。
比如qin.xc,他的用户id是8,add里就要设置gid为8。
Cms这边根据openid查出用户名为qin.xc,到mysql流程数据这边查qin.xc用户名(firstname),其id为8。
2.为何发布的质量文章没有提交流程等权限呀?
要将用户赋予权限。实际上用户是无法直接赋权(permission)的,见下文。
上图user的firstname为qin.xc,到下图group name为qin.xc@163.com
到下图的group_role表中这个qin.xc用户组的角色role。
注意,它只认group,不认user,所以,user一旦建立,自动建立一个对应的group(同名),叫single group。
加上这个用户组的角色,这个角色提前已经定义好了权限permission(见下文)。小程序上这个用户就有了提交按钮了。
实际使用过程中,不必为single group设置角色role和权限,新建一个group(比如下文中的all这个用户组),里面加入多个用户,再将这个group赋予角色role,将角色role赋予权限permission。
二、下面讲怎么配置流程吧——很绕
先在草稿上画好流程。画好流程后,再到系统上一步步设置。
①先画节点(node)。
如下图:
发起 |
审核 |
上图中nodetype是什么?它代表节点连接的逻辑,比如开始节点,结束节点,中间的节点有单线(linear)的,有多分支(branch)的对吧(这个没测试过)。Doctype(文档类型)是下文提前定义好的,见后面。Docstate(状态)也是下文提前建立好的,见下文。
②再画连线(transition)
节点之间是怎么连接的呢,节点先后顺序逻辑需要流(transition)来定义,但是流不是直接针对节点node的,它是针对状态state的,哈哈。
③当文档处于这个节点时,给文章起一个状态(state)名字。
④当状态(state)改变时,需要动作(action)来让它改变。
或者说,从一个节点(node)到另外一个节点,需要一个动作(action)
⑤那么谁有权限(permission)来执行这个动作(action)
先要知道这个概念:
用户user——用户组group——角色role——权限permission;
每次新建一个user会自动建立一个对应的single group;group则自己建立;
所以group有single group和group,大写字母S和G,前者用于给个人用,比如添加文章。后者用于角色用,比如赋权;
角色role只能对应group或single group,无法对应user;
Permission只能对应角色role,无法对应group或user;
一个用户组可以加入多个用户。这个用户组必须设置为G,而不是S。
比如all这个用户组:
用户组建好后加入了几个用户后的效果:
Mysql数据库表中的样子:
先定义角色(role),这个略过,仅仅命名个role角色名字而已。
然后添加角色拥有动作action的权限(permission)
添加完效果如下图所示。Action未直接显示,是vue界面bug,待修复。
上述流程只是从理解角度来叙述。而实际定义角度,需要按照界面左侧菜单,一路next下来,比如先要定义doctype(某一类流程,比如质量类,安全类)——docstate……
golang flow工作流引擎-自己挖坑自己填相关推荐
- golang办公工作流workflow js-ojus/flow包介绍——系列一
golang语言的办公工作流的包介绍--系列一 golang办公工作流workflow利用js-ojus/flow做测试--系列二 golang办公流程引擎初体验js-ojus/flow--系列三 g ...
- 工作流引擎Synchro Flow的流程度量
2019独角兽企业重金招聘Python工程师标准>>> 度量基于联机分析处理(OLAP)的理念,具有灵活的流程分析功能.直观的数据操作和分析结果可视化表示等突出优点,从而使用户对基于 ...
- flow工作流java_Java工作流引擎jflow对流程的结束大总结
关键字:工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明 工作流设计 工作流快速开发平台 业务流程管理 bpm工作流系统 java工作 ...
- .net之工作流工程展示及代码分享(二)工作流引擎
在介绍完表单类的时候,接下来介绍工作流引擎,主要由四个类组成,分别是流程.流程步骤.流程实例.流程步骤实例类. 流程类: 1 [Serializable] 2 public class Flow 3 ...
- 工作流引擎Oozie(一):workflow
1. Oozie简介 Yahoo开发工作流引擎Oozie(驭象者),用于管理Hadoop任务(支持MapReduce.Spark.Pig.Hive),把这些任务以DAG(有向无环图)方式串接起来.Oo ...
- 协同工作流引擎,开启流程优化新纪元
2019独角兽企业重金招聘Python工程师标准>>> 协同工作流引擎(Synchro flow)是业界领先的企业业务流程自动化的基础平台产品以及企业流程再造的核心产品,提供以业务建 ...
- 工作流引擎Activiti使用总结
1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科:工作流引擎 1.1 我与工作流引擎 在第一家公司工作的时候主要任务就是开发OA系统,当然基本都是有工作流的支持,不过当时使用 ...
- 学习笔记之-Activiti7工作流引擎,概述,环境搭建,类关系图,使用Activiti BPMN visualizer,流程变量,组任务 网关,Activiti整合Spring SpringBoot
本篇学习笔记是观看黑马程序员Activiti7视频而得 Activiti7 一.工作流介绍 1.1 概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是" ...
- Activiti工作流引擎使用
Activiti工作流引擎使用 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科:工作流引擎 1.1 我与工作流引擎 在第一家公司工作的时候主要任务就是开发OA系统,当然基本 ...
最新文章
- 【转】Javascript面向对象编程(二):构造函数的继承
- 看到一个有趣的东东。
- 浮动—春联(文字竖直排列)
- python 电话簿排序
- 监控容器并实现邮箱报警(cAdvisor 、AlertManager)
- VSCode远程连接服务器报错:Could not establish connection to “xxx”,Faild to write install script to path!【已解决】
- 使用WinDbg搭建edk2 DEBUG环境
- 获取textarea标签中的换行符和空格
- 两个进程同时访问同一个文件
- MySQL的几个图形化界面工具
- Select之多表查询
- 计算机科学与技术实验题代做,计算机科学与技术专业代写(本科)毕业设计(论文)要求...
- 是谁在炒美联储加息缩表的冷饭?
- c++俄罗斯方块 完整源代码
- tcpdf 打印PDF字体乱码,通过视图解决方法
- Hinton独立发布44页论文火爆社区,没有实验:给你们个idea,自己去试吧
- JumpStart 5.2用例安装说明 tapestry5
- IE浏览器以及内置IE浏览器的程序不能使用的解决方案
- DSOD: Learning Deeply Supervised Object Detectors from Scratch论文理解
- 基于VUE3+Layui从头搭建通用后台管理系统(前端篇)一:项目规划及初始化
热门文章
- 百度地图绘画行政区域
- 通达信接口的定义和实现
- android view clip,ClipView 自定义 RadiusView,包含常用的 Layout 和 View,方便扩展 @codeKK Android开源站...
- 访问 IIS 元数据库失败(转)
- git commit 命令出现“fatal: unable to auto-detect email address (got '******@.(none)')错误
- 水印相机定位不准确怎么办_云联相机app下载-云联相机app安卓版下载v1.0.0
- 2021-06-04 微信小程序构建mpn
- 耳机接口pin脚定义
- 特殊符号+运算优先级
- 程序员CMD命令大全