ELSA est une bibliothèque de workflow puissante qui permet l'exécution de workflow dans n'importe quelle application .NET. Elsa vous permet de définir les flux de travail de diverses manières, notamment:
Pour donner un coup rapide au serveur ELSA Studio + Elsa, vous pouvez exécuter la commande suivante pour démarrer le conteneur 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
Cette image Docker est basée sur une application ASP.NET de référence qui héberge à la fois le serveur de workflow et le concepteur et n'est pas destiné à l'utilisation de la production.
Par défaut, vous pouvez accéder à http: // localhost: 13000 et vous connecter avec:
Username: admin
Password: password
Pour une documentation complète et pour commencer avec ELSA, veuillez visiter le site Web de la documentation ELSA.
Elsa évolue continuellement, et bien qu'il offre des capacités puissantes, il existe des limitations connues et des travaux en cours:
Elsa propose une large gamme de fonctionnalités pour la construction et l'exécution de workflows, notamment:
Sequence
, Flowchart
et ForEach
.Les fonctionnalités suivantes sont prévues pour les futures versions d'Elsa:
Elsa peut être utilisé dans une variété de scénarios, notamment:
Elsa vous permet de définir des workflows en code en utilisant C #. L'exemple suivant montre comment recevoir des demandes HTTP et envoyer un e-mail en réponse:
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 vous permet de définir des flux de travail à l'aide d'un concepteur visuel. L'exemple suivant montre comment recevoir des demandes HTTP et envoyer un e-mail en réponse:
Nous accueillons les contributions de la communauté et sommes heureux que vous soyez intéressé à aider à améliorer le projet de flux de travail ELSA! Voici les étapes pour contribuer à notre projet:
Pour commencer, vous devrez débarrasser le référentiel de votre propre compte GitHub. Vous pouvez le faire en naviguant vers le référentiel Github ELSA Workflow et en cliquant sur le bouton "Fork" dans le coin supérieur droit de la page. Une fois que vous avez alimenté le repo, vous pouvez le cloner sur votre machine locale en utilisant la commande suivante:
git clone https://github.com/YOUR_USERNAME/elsa-core.git
Remplacez YOUR_USERNAME
par votre nom d'utilisateur GitHub. Pour plus d'informations sur la suppression d'un dépôt, consultez la documentation GitHub ici.
Incorporer les détails du dossier "Apps" et de ses projets dans le deuxième point sur l'ouverture du Elsa.sln
en utilisant votre IDE préféré, nous pouvons étendre les instructions pour guider les développeurs sur le démarrage et les projets qu'ils pourraient vouloir explorer en premier. Voici une version mise à jour de cette section avec les informations supplémentaires:
Elsa.sln
en utilisant votre IDE préféré Après le clonage du référentiel, accédez au répertoire cloné et ouvrez le fichier de solution Elsa.sln
avec votre IDE préféré qui prend en charge le développement .NET, tels que Visual Studio, JetBrains Rider ou Visual Studio Code avec les extensions appropriées.
Dans la solution, vous trouverez un dossier "Apps" contenant trois projets conçus pour vous aider à démarrer et à explorer les capacités du flux de travail ELSA:
Elsa.server.web : ce projet est une application de base ASP.NET de référence qui agit comme un serveur de workflow. C'est un excellent point de départ si vous voulez comprendre comment ELSA fonctionne comme un moteur de flux de travail côté serveur.
Elsa.serverandstudio.web : Ce projet sert un double objectif. Comme Elsa.Server.Web
, il agit comme un serveur de workflow. De plus, il héberge l'application Elsa Studio Blazor WebAssembly. Il s'agit du projet parfait à exécuter si vous souhaitez voir les capacités complètes de l'ELSA, y compris les aspects du serveur et l'expérience du studio côté client dans une seule application.
Elsa.studio.web : Ce projet est une application Blazor WebAssembly de référence qui héberge uniquement l'application Elsa Studio Blazor WebAssembly. Il nécessite une application ELSA Server en cours d'exécution. Utilisez ce projet si vous souhaitez vous concentrer sur l'interface utilisateur ELSA Studio et ses interactions avec un serveur de workflow ELSA.
Une fois que vous avez apporté vos modifications, commettez-les et repoussez-les à votre fourchette. Ensuite, accédez au référentiel de workflow ELSA d'origine et créez une nouvelle demande de traction. Assurez-vous que votre description de relations publiques décrit clairement les modifications et toutes les informations pertinentes qui aideront les examinateurs à comprendre vos contributions. Pour un guide détaillé sur la création d'une demande de traction, visitez la création d'une demande de traction d'une fourche.
Avant de commencer à travailler sur vos modifications ou de soumettre une demande de traction, veuillez ouvrir un problème pour discuter de ce que vous aimeriez faire. Cette étape est cruciale car elle garantit que vous ne passez pas de temps à travailler sur quelque chose qui pourrait ne pas s'aligner sur les objectifs du projet ou pourrait déjà être en cours de développement par quelqu'un d'autre. Vous pouvez ouvrir un problème ici.
Cette approche nous aide à rationaliser les contributions et garantit que vos efforts sont alignés sur les besoins et les priorités du projet. Nous attendons avec impatience vos contributions et sommes là pour vous soutenir tout au long du processus. Merci d'avoir contribué au projet ELSA Workflow!
Il existe différentes façons d'obtenir un soutien aux workflows ELSA, allant des canaux communautaires aux services au niveau de l'entreprise.
Elsa a une communauté active et utile où vous pouvez trouver un soutien via plusieurs canaux:
Pour les organisations nécessitant un soutien professionnel et un engagement à long terme, ELSA-X offre des services de niveau d'entreprise et assure la continuité et le développement futur du cadre ELSA, fournit des solutions personnalisées et développe des extensions commerciales adaptées aux besoins d'entreprise.