推荐一个很棒的开源工作流elsa-core
开源项目orchard主要开发人员Sipke Schoorstra 开源了一个netcore 工作流项目,地址:https://github.com/elsa-workflows/elsa-core,最新版本1.2,正在开发2.0版本 。Spike 是参照Orchard Core的工作流引擎的原理,将其转化为一个可重用的.NET标准库,从而使*任何* .NET应用程序都能享受工作流的强大功能,使开发人员能够实现长期运行的工作流。ELSA的核心理念是能够相互连接小的可执行单元,允许您编排实际的业务流程,如文档审批、客户入职和订单流程。
项目主页上有介绍Elsa是以OrchardCore 工作流为灵感的,同时也从许多其他现有的工作流解决方案中获得了灵感,例如Windows Workflow Foundation和Azure Logic Apps,我继续受到图书馆的启发,例如Workflow Core和Workflow Engine。
ELSA 与其它工作流引擎不一样的地方,它有一个漂亮的流程设计器:https://elsa-workflows.github.io/elsa-core/docs/guides-dashboard#create-a-workflow
ELSA可用于在您自己的应用程序流程中实现工作流引擎,也可用作与您的应用程序交互的外部工作流服务。
Spike 写了一个比较完整场景示例--用户注册:https://github.com/elsa-workflows/elsa-samples:
在这个场景中,我们有一个web应用程序,用户可以在这个应用程序中注册账号。注册后,我们希望该系统分配用户角色并给用户发送激活账号的电子邮件 。
如果用户没有在规定的时间内激活其帐户,则继续向用户发送提醒电子邮件。
如果用户单击激活邮件里的链接,他们的帐户就会被激活。但是,如果用户没有及时激活他们的帐户,他们的帐户就会被清理和移除。
我们fork 这个程序代码并下载到本地,这里我把它升级到了最新版本和.NET Core 3.1,示例使用Mongodb作为持久化,如果没有安装MongoDB,则可以使用docker 运行项目里的docker-compose.yaml 。
运行VS 运行不调试应用程序,使用浏览器访问到/esla/home ,成功运行的话我们可以elsa的控制面板:
单击左侧的工作流菜单项,可以看到右边的创建工作流按钮,我们选择导入
user-registration-workflow.json:
点击Publish 正式发布流程。
应用正常运行还需要运行一个SMTPDev来模拟测试SMTP服务:Smtp4dev(https://github.com/rnwood/smtp4dev)是通过SMTP服务器捕获所有发出的电子邮件,并允许你直接在该工具的用户界面中进行查看。Smtp4dev适合处理电子邮件相关问题,尤其是在电子邮件需按时间点发送这样的自动化过程中而你仍需要验证其逻辑性和正确性时。
通过命令运行安装:
dotnet tool install -g Rnwood.Smtp4dev --version "3.1.0-*"
运行smtpdev,它也是一个asp.net core 应用程序,同时开启smtp端口,把我们的应用的smtp 配置修改成25。浏览器访问注册页面:
提交后,我们去看elsa的控制台,流程实例已经流转到邮件激活:
我们打开smtpdev的页面:
点击激活链接激活账号,进入到elsa 的面板看看我们的流程已经完成了:
查看我们的smtpdev页面看到我们收到了激活成功的邮件
相关文章:https://www.jianshu.com/p/9c74ff7da451
推荐一个很棒的开源工作流elsa-core相关推荐
- 推荐一个很棒的免费自助建站工具:Tap
Tap简介 Tap(www.tap.cn)是一个新型的免费自助建站服务平台,易用.专业.高效的Tap能让您轻松摆脱建站过程中技术对创造力的制约.拥有极高自由度的Tap能够快速提升您的建站热情.Tap为 ...
- 推荐一个很棒的JS绘图库Flot
Flot是Ole Laursen开发的基于JQuery的纯JavaScript实现的绘图库,Flot使用起来非常简单,绘图效果相当绚丽,而且还支持一些图片的操作功能,例如图片的缩放.可以看一下Flot ...
- Giphy – 分享一个很棒的 GIF 动画图片搜索引擎
GIF 动画图片是一种非常有趣的图片格式,比静态图片更能够表达出含义,如果能制作得有创意,那就非常的有趣.今天向大家推荐一个很棒的 GIF 动画图片搜索引擎--Giphy. 您可能感兴趣的相关文章 轻 ...
- easyexcel一个很棒的Excel解析工具
easyexcel一个很棒的Excel解析工具 前言 Excel格式 核心原理对比 理解与使用 总结 前言 最近手头上有一个项目,其中有一个需求就是要Excel表格导入导出,之前有过类似的经验,不过当 ...
- 推荐一个非常棒的问卷小程序
推荐一个非常棒的问卷小程序 ~ 具体我先讲下如何发现的这个小程序,其实昨天我在做答题相关产品的小程序调研,首先想到了阿拉丁的排行榜,在这个过程中,我看到了京东一个下沉小程序,具体叫京东赚赚,排名很靠前 ...
- 研究生跟了一个很棒的导师,是什么神仙体验?
来源 | 百度学术 个人感觉读研是很重要的,如果问小编从小到大做的最英明的决定是什么,那一定是考上了研究生,而且重要的是要考一个大城市的研究生. 大家要吐槽是有趣的,但是不希望大家的吐槽对于读研这个事 ...
- 推荐一个十分好看的开源博客系统
推荐一个十分好看的开源博客系统,直接百度"里程密"地址www.lcm.wang 附图 主页 后台 浓浓的科技简约风,适合做技术的你 转载于:https://www.cnblogs. ...
- 一个很棒的手机app:金手指音乐曲谱
http://apk.hiapk.com/appinfo/com.jh.APPfbf19bf66a8a4ed0a11f952a11fa6e07.news 一个很棒的手机app:金手指音乐曲谱 转载于: ...
- 如何为您的插件创建一个很棒的WordPress.org页面
You've just developed an awesome plugin for WordPress and you want to share it with as many people a ...
最新文章
- 让Maven项目使用Nexus作为远程仓库的settings.xml配置
- DbHelperSQL.cs
- Python应用实战-如何通过python对Excel进行常规性操作
- 微软向开发者推出区块链概念验证框架
- Android之学习安卓每天成长笔记
- 如何安装mysql5.5.6_centos6安装mysql5.5.53
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第八部---怪物出场
- java二维数组扫雷,Java 数组 之 二维数组 扫雷实例
- 2019全球最具颠覆性的17大公司
- 数字信号处理----数字上变频和下变频都FPGA实现
- 博文视点“阿里云全系列技术图书”隆重亮相2021云栖大会
- fft算法的c语言实现,快速傅立叶变换(FFT)算法(蝶形算法)的C/C++源代码(zz)
- WE出海增长图书馆 | 世界杯豪门面纱下,不容忽视的【增长】沃土
- 生日倒生日计时html代码,一款非常精美实用的生日倒计时代码
- 再谈留数定理计算实积分
- 两数互素有什么性质_两个数互素的性质
- 【C++心路历程25】课堂讲义【dp加单调队列】
- svg图片 填充颜色
- 【前端基础】12.CSS 基础知识学习——基本语法结构
- 各个数据库的空间函数