ELSA是一个强大的工作流库,可以在任何.NET应用程序中启用工作流执行。 ELSA允许您以各种方式定义工作流程,包括:
要为Elsa Studio + Elsa服务器提供快速旋转,您可以运行以下命令来启动ELSA Docker容器:
docker pull elsaworkflows/elsa-server-and-studio-v3:latest
docker run -t -i -e ASPNETCORE_ENVIRONMENT= ' Development ' -e HTTP_PORTS=8080 -e HTTP__BASEURL=http://localhost:13000 -p 13000:8080 elsaworkflows/elsa-server-and-studio-v3:latest
此Docker映像基于一个参考ASP.NET应用程序,该应用程序托管工作流服务器和设计器,并且不打算用于生产使用。
默认情况下,您可以访问http:// localhost:13000并登录:
Username: admin
Password: password
有关全面的文档并开始使用ELSA,请访问ELSA文档网站。
Elsa正在不断发展,尽管它提供了强大的功能,但仍有一些已知的局限性和正在进行的工作:
Elsa为建造和执行工作流提供了广泛的功能,包括:
Sequence
, Flowchart
和ForEach
等活动。计划以将来发行Elsa的功能:
ELSA可用于多种情况,包括:
ELSA允许您使用C#定义代码中的工作流。以下示例显示了如何接收HTTP请求并发送电子邮件以进行回复:
public class SendEmailWorkflow : WorkflowBase
{
protected override void Build ( IWorkflowBuilder builder )
{
builder . Root = new Sequence
{
Activities =
{
new HttpEndpoint
{
Path = new ( " /send-email " ) ,
SupportedMethods = new ( new [ ] { HttpMethods . Post } ) ,
CanStartWorkflow = true
} ,
new SendEmail
{
From = new ( " [email protected] " ) ,
To = new ( new [ ] { " [email protected] " } ) ,
Subject = new ( " Your workflow has been triggered! " ) ,
Body = new ( " Hello! " )
}
}
} ;
}
}
ELSA允许您使用视觉设计人员定义工作流程。以下示例显示了如何接收HTTP请求并发送电子邮件以进行回复:
我们欢迎社区的贡献,并很高兴您有兴趣帮助改善ELSA工作流程!这是为我们的项目做出贡献的步骤:
首先,您需要将存储库分配给您自己的GitHub帐户。您可以通过导航到ELSA Workflow GitHub存储库并单击页面右上角的“叉子”按钮来做到这一点。一旦分配了存储库,就可以使用以下命令将其克隆到本地计算机上:
git clone https://github.com/YOUR_USERNAME/elsa-core.git
用github用户名替换YOUR_USERNAME
。有关拨仓库的更多信息,请在此处查看GitHub文档。
将有关“应用程序”文件夹及其项目的详细信息纳入有关使用您喜欢的IDE打开Elsa.sln
第二点,我们可以扩展说明,以指导开发人员从哪里开始以及他们可能想先探索哪些项目。这是该部分的更新版本,其中包含其他信息:
Elsa.sln
克隆存储库后,将导航到克隆目录,并使用支持.NET开发的首选IDE打开Elsa.sln
解决方案文件,例如Visual Studio,Jetbrains Rider或Visual Studio代码,并具有适当的扩展名。
在解决方案中,您将找到一个“应用程序”文件夹,其中包含三个项目,旨在帮助您开始并探索Elsa Workflow的功能:
elsa.server.web :此项目是用作工作流服务器的参考ASP.NET核心应用程序。如果您想了解ELSA如何用作服务器端工作流引擎,这是一个很好的起点。
elsa.serverandstudio.web :该项目具有双重目的。像Elsa.Server.Web
一样,它充当工作流服务器。此外,它托管Elsa Studio Blazor WebAssembly应用程序。如果您想查看ELSA的完整功能,包括服务器方面和客户端工作室体验,这是一个完美的项目。
elsa.studio.web :此项目是一个参考julazor WebAssembly应用程序,仅托管Elsa Studio Blazor WebAssembly应用程序。它需要一个运行的ELSA服务器应用程序才能连接到。如果您有兴趣关注Elsa Studio UI及其与Elsa Workflow服务器的交互,请使用此项目。
一旦您进行了更改,便将它们推回了叉子。然后,导航到原始的ELSA Workflow存储库,并创建一个新的拉请请求。确保您的公关描述清楚地描述了更改和任何相关信息,以帮助审阅者了解您的贡献。有关创建拉动请求的详细指南,请访问叉子创建拉动请求。
在开始进行更改或提交拉动请求之前,请打开问题以讨论您想做什么。此步骤至关重要,因为它可以确保您不会花费时间来处理可能与项目目标不符或可能已经在其他人开发的事情上。您可以在这里打开一个问题。
这种方法有助于我们简化贡献,并确保您的努力与项目的需求和优先事项保持一致。我们期待您的贡献,并在这里为您提供支持。感谢您为ELSA工作流项目做出贡献!
从社区驱动的渠道到企业级服务,有多种方法获得ELSA工作流的支持。
艾尔莎(Elsa)拥有一个积极且有用的社区,您可以通过多个渠道找到支持:
对于需要专业支持和长期承诺的组织,ELSA-X提供企业级服务,并确保ELSA框架的连续性和未来开发,提供自定义解决方案,并开发针对企业需求量身定制的商业扩展。