ELSA ist eine leistungsstarke Workflow -Bibliothek, die die Workflow -Ausführung in einer .NET -Anwendung ermöglicht. Mit ELSA können Sie Workflows auf verschiedene Weise definieren, einschließlich:
Um dem ELSA Studio + ELSA Server einen schnellen Dreh zu geben, können Sie den folgenden Befehl ausführen, um den ELSA Docker -Container zu starten:
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
Dieses Docker -Image basiert auf einer Referenz -ASP.NET -Anwendung, die sowohl den Workflow -Server als auch den Designer hostet und nicht für die Produktionsanwendung vorgesehen ist.
Standardmäßig können Sie auf http: // localhost: 13000 zugreifen und sich anmelden mit:
Username: admin
Password: password
Um umfassende Dokumentation und mit ELSA zu beginnen, besuchen Sie bitte die Website von ELSA Dokumentation.
ELSA entwickelt sich ständig weiter und bietet zwar leistungsstarke Fähigkeiten, aber es gibt einige bekannte Einschränkungen und laufende Arbeiten:
ELSA bietet eine breite Palette von Funktionen zum Aufbau und Ausführen von Workflows, einschließlich:
Sequence
, Flowchart
und ForEach
.Die folgenden Funktionen sind für zukünftige Veröffentlichungen von ELSA geplant:
ELSA kann in einer Vielzahl von Szenarien verwendet werden, darunter:
Mit ELSA können Sie Workflows im Code mit C#definieren. Das folgende Beispiel zeigt, wie Sie HTTP -Anfragen empfangen und eine E -Mail als Antwort senden:
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! " )
}
}
} ;
}
}
Mit ELSA können Sie Workflows mit einem visuellen Designer definieren. Das folgende Beispiel zeigt, wie Sie HTTP -Anfragen empfangen und eine E -Mail als Antwort senden:
Wir begrüßen Beiträge der Community und freuen uns, dass Sie daran interessiert sind, das ELSA -Workflow -Projekt zu verbessern! Hier sind die Schritte, um zu unserem Projekt beizutragen:
Um loszulegen, müssen Sie das Repository auf Ihr eigenes Github -Konto verlaufen. Sie können dies tun, indem Sie zum ELSA-Workflow Github-Repository navigieren und auf die Schaltfläche "Fork" in der oberen rechten Ecke der Seite klicken. Sobald Sie das Repo gegabelt haben, können Sie es mit dem folgenden Befehl an Ihre lokale Maschine klonen:
git clone https://github.com/YOUR_USERNAME/elsa-core.git
Ersetzen Sie YOUR_USERNAME
durch Ihren Github -Benutzernamen. Weitere Informationen zum Abgeben eines Repos finden Sie in der GitHub -Dokumentation.
Wenn Sie die Details über den Ordner "Apps" und ihre Projekte in den zweiten Punkt über die Öffnung der Elsa.sln
mit Ihrer bevorzugten IDE einbeziehen, können wir die Anweisungen erweitern, um die Entwickler darüber zu leiten, wo sie beginnen sollen und welche Projekte sie möglicherweise zuerst erkunden möchten. Hier ist eine aktualisierte Version dieses Abschnitts mit den zusätzlichen Informationen:
Elsa.sln
mit Ihrer Lieblings -IDE Navigieren Sie nach dem Klonen des Repositorys zum klonierten Verzeichnis und öffnen Sie die Elsa.sln
-Lösungsdatei mit Ihrer bevorzugten IDE, die die .NET -Entwicklung wie Visual Studio, Jetbrains Rider oder Visual Studio Code mit den entsprechenden Erweiterungen unterstützt.
Innerhalb der Lösung finden Sie einen "Apps" -Fordner mit drei Projekten, mit denen Sie den Einstieg und die Funktionen des ELSA -Workflows erforschen:
ELSA.SERVER.WEB : Dieses Projekt ist eine Referenz -ASP.NET -Kernanwendung, die als Workflow -Server fungiert. Es ist ein großartiger Ausgangspunkt, wenn Sie verstehen möchten, wie ELSA als serverseitiger Workflow-Engine fungiert.
Elsa.Serverandstudio.Web : Dieses Projekt erfüllt einen doppelten Zweck. Wie Elsa.Server.Web
fungiert es als Workflow -Server. Darüber hinaus moderiert es die Elsa Studio Blazor WebAssembly App. Dies ist das perfekte Projekt, das ausgeführt werden muss, wenn Sie die vollständigen Funktionen von ELSA sehen möchten, einschließlich der Serveraspekte und der clientseitigen Studioerfahrung in einer Anwendung.
ELSA.STUDIO.WEB : Dieses Projekt ist eine Referenzanwendung von Blazor WebAssembly, in der ausschließlich die Elsa Studio Blazor WebAssembly App gehostet werden. Es erfordert eine laufende ELSA -Serveranwendung, um eine Verbindung herzustellen. Verwenden Sie dieses Projekt, wenn Sie sich auf die ELSA Studio -Benutzeroberfläche und ihre Interaktionen mit einem ELSA -Workflow -Server konzentrieren möchten.
Sobald Sie Ihre Änderungen vorgenommen haben, verpflichten Sie sie und schieben Sie sie zurück zu Ihrer Gabel. Navigieren Sie dann zum ursprünglichen ELSA -Workflow -Repository und erstellen Sie eine neue Pull -Anfrage. Stellen Sie sicher, dass Ihre PR -Beschreibung die Änderungen und relevanten Informationen klar beschreibt, die den Prüfern helfen, Ihre Beiträge zu verstehen. Eine detaillierte Anleitung zum Erstellen einer Pull -Anfrage finden Sie unter Erstellen einer Pull -Anfrage von einer Gabel.
Bevor Sie an Ihren Änderungen arbeiten oder eine Pull -Anfrage abgeben, öffnen Sie bitte ein Problem, um zu besprechen, was Sie gerne tun möchten. Dieser Schritt ist entscheidend, da Sie sicherstellen, dass Sie keine Zeit damit verbringen, an etwas zu arbeiten, das möglicherweise nicht den Zielen des Projekts entspricht oder bereits von jemand anderem entwickelt wird. Sie können hier ein Problem eröffnen.
Dieser Ansatz hilft uns, Beiträge zu optimieren und stellt sicher, dass Ihre Bemühungen mit den Bedürfnissen und Prioritäten des Projekts übereinstimmen. Wir freuen uns auf Ihre Beiträge und sind hier, um Sie während des gesamten Prozesses zu unterstützen. Vielen Dank, dass Sie zum ELSA -Workflow -Projekt beigetragen haben!
Es gibt verschiedene Möglichkeiten, um die ELSA-Workflows zu unterstützen, die von gemeindenahen Kanälen bis hin zu Diensten auf Unternehmensebene reichen.
ELSA hat eine aktive und hilfsbereite Community, in der Sie über mehrere Kanäle Unterstützung finden:
Für Organisationen, die professionelle Unterstützung und langfristiges Engagement benötigen, bietet ELSA-X Dienste auf Unternehmensebene an und gewährleistet die Kontinuität und zukünftige Entwicklung des ELSA-Frameworks, bietet benutzerdefinierte Lösungen und entwickelt kommerzielle Erweiterungen, die auf den Unternehmensanforderungen zugeschnitten sind.