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框架的連續性和未來開發,提供自定義解決方案,並開發針對企業需求量身定制的商業擴展。