Flowportal BPM实战开发参考流程

今天我要分享的不是有关技术的开发流程,而是一个流程需求从提出到完成并上线的流程。

这个流程是我在用的,也曾经给2位美国的同事、2位印度的同事培训过,这次要分享的是一位非常优秀的美国同事所整理的英文版。

说实话,没有对比没有伤害。以前培训过的2个印度人,技术基础其实都很强的,但根本不用心,所以最后都没能胜任。

而整理这个图的同事,非常用心,并且很积极主动的去学,把学到的自己消化、实战、总结,最后自己技能提升,并做到了青出于蓝而胜于蓝。

大家看看这些任务分解的清单跟自己目前的流程契合度高吗?

欢迎留言交流。

最后需要感谢她的信任和努力,这是一段想起来就开心的共事经历。

Loading

Flowportal.Net BPM 6.7虚拟机安装环境准备

如果你想评估Flowportal.Net BPM的更新

  1. VMWare虚拟机
    a. 提前安装VMWare Work Station 16版
    b. 官网地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
  2. 安装Windows 2019 CN中文版虚拟机
    a. 提前下载ISO镜像文件
    b. 官网地址:https://www.microsoft.com/zh-cn/windows-server
    c. 180天授权
  3. 安装MSSQL 2019数据库
    a. 提前从微软官网下载安装包
    b. 官网地址:https://www.microsoft.com/zh-cn/sql-server/sql-server-2019
    c. SQL Server 2019 Developer 版本是一个全功能免费版本,许可在非生产环境下用作开发和测试数据库。
  4. 安装IIS
    a. 勾选.NET必要的版本
    b. 勾选所有认证类的协议支持
  5. 安装FlowPortal BPM
    a. 提前从官网下载安装包:http://www.flowportal.com/foundation/

Loading

FlowPortal BPM版本6升级中表单处理相关URL更新

在从版本4到版本6升级的过程中,有关表单处理(发起、处理、查看)的URL发生了变更,主要是路径中增加了/YZSoft/

发起:http://bpm.yourdomain.com.cn/Forms/post.aspx?pn=%E5%87%BA%E5%B7%AE%E7%94%B3%E8%AF%B7%20-%20Travel%20Application

处理:http://bpm.yourdomain.com.cn/Forms/Process.aspx?tid=<%=Context.Current.Task.TaskID%>&pid=<%=Context.Current.Step.StepID%>

查看:http://bpm.yourdomain.com.cn/Forms/Read.aspx?tid=<%=Context.Current.Task.TaskID%>&pid=<%=Context.Current.Step.StepID%>


发起:http://bpm.yourdomain.com.cn/YZSoft/Forms/post.aspx?pn=%E5%87%BA%E5%B7%AE%E7%94%B3%E8%AF%B7%20-%20Travel%20Application

处理:http://bpm.yourdomain.com.cn/YZSoft/Forms/Process.aspx?tid=<%=Context.Current.Task.TaskID%>&pid=<%=Context.Current.Step.StepID%>

查看:http://bpm.yourdomain.com.cn/YZSoft/Forms/Read.aspx?tid=<%=Context.Current.Task.TaskID%>&pid=<%=Context.Current.Step.StepID%>

Loading

给FlowPortal BPM 6提个改进需求:用户自定义表单打开方式

FlowPortal BPM的6版本中,默认打开表单的时候是Tab的方式,而4版本的时候默认是新窗口。

我能猜到为啥用Tab,不仅是Tab是现代浏览器的标配,更主要是新打开窗口很多浏览器默认是禁止的。

好吧,但还是以用户需求为主,我觉得这里作为标准功能,应该让最终用户来选择比较好,系统可以默认,但系统级别可以设置,用户级别也可以设置,以用户级别的为最高优先级为好。

希望官方看到后,能在新版本中加上此优化功能。

我等不及了,先把此处的功能恢复为4版本的默认方式了。

找到Web\YZSoft\Core\Scripts\YZSoft.Ext.js文件,修改全局设置为Window。

其实我更喜欢Dialog方式。

可选参数如下:
Window - 在新窗体中打开表单
Tab - 内容窗口中增加一个Tab
Dialog - 打开div + iframe窗体对话框
ModelessDialog - 无模式对话框
ModalDialog - 模式对话框

Loading

我的FlowPortal BPM培训提纲及收费标准

FlowPortal这几年一直有10个流程的无限用户的全功能版本,可以很方便在一些中小企业进行小规模尝试,作为起步,在软件方面零风险,零投入。

但是要用好这个BPM软件平台,除了看官网的在线帮助文档,必要的入门培训会大大减轻你的恐惧,极大缩短摸索时间。

这2017年以来,我一直在用的培训提纲,共计16个小时的课程。

Lesson #1、服务器准备、测试环境安装 – 2小时
Lesson #2、BPM架构、基础配置简介 – 2小时
Lesson #3、BPM企业管理器(组织机构、用户、角色、日历、权限) – 3小时
Lesson #4、BPM企业管理器(流程设计器、表单设计器)-3小时
Lesson #5、BPM流程开发基本流程、开发第一个流程 – 1小时
Lesson #6、开发第一个流程(实战课)-2小时
Lesson #7、流程相关权限管理- 2小时
Lesson #8、其它:BPM数据结构分析、高级编程等 – 1小时

疫情之下, 您可以选择给自己充充电,然后把自己公司的企业信息化提升下内功,当机会来临时,守得云开见月明。

按照惯例,我8小时的费用是5000元,需要学习全部内容就是10000元。

也可以根据自身需要选择部分课程,或者预约主题,按照每小时800元收费。

Loading

没有所谓的FlowPortal BPM绿色版

因为FlowPortal BPM加我微信的朋友日渐增多,但有不少抱着找安装文件,特别是破解版的想法。

自己不好意思说明,美其名曰绿色版。

统一回复一下,我没有。

请咨询问题、远程安装、培训或外包的朋友,先看一下这篇文字,以免耽误彼此的宝贵时间。

FlowPortal只是个BPM软件,工具是要被正确使用才能发挥价值!

Loading

FlowPortal.Net BPM发布了6.0版本

月初的的时候,朋友圈里的看到其创始人发布的微信公众号文章,大概看了写介绍,但一直没空看产品。

晚上研究了一下,PC端的UI的确专业+时尚+大气。

前端技术方面选择ExtJs的确是个保险系数很高,明智的选择。毕竟它是面向界面复杂的企业级管理软件的前端框架。

流程追踪增加了以时间轴的方式查看,网购多了,快递跟踪,符合大众要求

移动表单没空体验,但可视化报表这个,能很快基于流程积累的数据,做一些管理报表,得到公司高层的认可。

再次点赞直接在线演示的方式,让用户直观体验产品。

不过也听说BPM行业竞争激烈,FlowPortal除了推出限制流程数的免费版本以外,针对大型企业以免授权费,只收定制开发费的方式在抢市场。

这对于在企业里做信息化的IT同仁们,算是一个好消息,毕竟企业的需求在那里,能不花钱或少花钱就能看到效果,更能体现IT的价值。

附上免费注册体验网址:trial.flowportal.com/,会索取你的手机号。

Loading

FlowPortal BPM中有用的SQL:统计每个人待处理任务数量

这个适用于4.5及以上,目前应该是5.7了。

SELECT ExtRecipient
,COUNT(*) AS Quantity
FROM [BPMDB].[dbo].[YZV_TaskList]
WHERE NodeName <> 'Start' 
AND State = 'Running' 
GROUP BY ExtRecipient
ORDER BY ExtRecipient

通过读取自带的视图,可以省去了3.5版本中的AgentAccount的问题。

通过AutoMate调度一下,每周自动发送一下邮件,省得每个步骤上都去单独设置提醒了。

收到的邮件格式如下,供参考。

Loading

FlowPortal BPM 3.5 有用的SQL:统计每个人有几条未处理任务

本版本仅限于3.5版本,不适用于4.5及以上。

第一个版本如下:

SELECT
[BPMDB].[dbo].[BPMInstProcSteps].[OwnerAccount] AS ExtRecipient
,COUNT([BPMDB].[dbo].[BPMInstProcSteps].[OwnerAccount]) AS Quantity
      
FROM [BPMDB].[dbo].[BPMInstProcSteps] INNER JOIN [BPMDB].[dbo].[BPMInstTasks] ON [BPMDB].[dbo].[BPMInstProcSteps].[TaskID] = [BPMDB].[dbo].[BPMInstTasks].[TaskID]
WHERE [BPMDB].[dbo].[BPMInstTasks].[State] = 'Running'
AND [BPMDB].[dbo].[BPMInstProcSteps].[FinishAt] IS NULL AND [BPMDB].[dbo].[BPMInstProcSteps].[OwnerAccount] <> 'waibpm' AND [BPMDB].[dbo].[BPMInstProcSteps].[NodeName] <> 'Start'
GROUP BY [BPMDB].[dbo].[BPMInstProcSteps].[OwnerAccount]
ORDER BY [BPMDB].[dbo].[BPMInstProcSteps].[OwnerAccount]

有个问题,就是一旦任务被处理人手动或自动转给助理/代理人,这个数据就不准了。所以就有了第二个版本:

SELECT
ISNULL([BPMDB].[dbo].[BPMInstProcSteps].[AgentAccount],[BPMDB].[dbo].[BPMInstProcSteps].[OwnerAccount]) AS ExtRecipient
,COUNT(*) AS Quantity
FROM [BPMDB].[dbo].[BPMInstProcSteps] INNER JOIN [BPMDB].[dbo].[BPMInstTasks] ON [BPMDB].[dbo].[BPMInstProcSteps].[TaskID] = [BPMDB].[dbo].[BPMInstTasks].[TaskID]
WHERE [BPMDB].[dbo].[BPMInstTasks].[State] = 'Running'
AND [BPMDB].[dbo].[BPMInstProcSteps].[FinishAt] IS NULL 
AND [BPMDB].[dbo].[BPMInstProcSteps].[OwnerAccount] <> 'waibpm' 
AND [BPMDB].[dbo].[BPMInstProcSteps].[NodeName] <> 'Start'
GROUP BY ISNULL([BPMDB].[dbo].[BPMInstProcSteps].[AgentAccount],[BPMDB].[dbo].[BPMInstProcSteps].[OwnerAccount])
ORDER BY ISNULL([BPMDB].[dbo].[BPMInstProcSteps].[AgentAccount],[BPMDB].[dbo].[BPMInstProcSteps].[OwnerAccount])

这个SQL写得并不好,因为GROUP BY和ORDER BY里面还有运算。最好写一个UNION将有AgentAccount和没有AgentAcount的单独筛选一下,然后再来汇总。

如果数据量不大,用这个也无妨。

另外附上在AutoMate中调度这个SQL,然后自动发送邮件的细节,供参考(图可以下载后放大看)。

Loading