Elsa es una poderosa biblioteca de flujo de trabajo que permite la ejecución del flujo de trabajo dentro de cualquier aplicación .NET. Elsa le permite definir flujos de trabajo de varias maneras, incluyendo:
Para darle un giro rápido al Servidor Elsa Studio + Elsa, puede ejecutar el siguiente comando para iniciar el contenedor 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
Esta imagen de Docker se basa en una aplicación ASP.NET de referencia que aloja tanto el servidor de flujo de trabajo como el diseñador y no está destinado al uso de producción.
Por defecto, puede acceder a http: // localhost: 13000 e iniciar sesión con:
Username: admin
Password: password
Para una documentación integral y para comenzar con Elsa, visite el sitio web de documentación de Elsa.
ELSA está evolucionando continuamente, y aunque ofrece capacidades potentes, existen algunas limitaciones conocidas y trabajos continuos:
Elsa ofrece una amplia gama de características para construir y ejecutar flujos de trabajo, que incluyen:
Sequence
, Flowchart
y ForEach
.Se planean las siguientes características para futuras lanzamientos de Elsa:
Elsa se puede usar en una variedad de escenarios, que incluyen:
Elsa le permite definir flujos de trabajo en código usando C#. El siguiente ejemplo muestra cómo recibir solicitudes HTTP y enviar un correo electrónico en respuesta:
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 le permite definir flujos de trabajo utilizando un diseñador visual. El siguiente ejemplo muestra cómo recibir solicitudes HTTP y enviar un correo electrónico en respuesta:
¡Agradecemos las contribuciones de la comunidad y nos complace que esté interesado en ayudar a mejorar el proyecto Elsa Workflow! Estos son los pasos para contribuir a nuestro proyecto:
Para comenzar, deberá desembolsar el repositorio de su propia cuenta de GitHub. Puede hacer esto navegando al repositorio de GitHub de flujo de trabajo Elsa y haciendo clic en el botón "Hornada" en la esquina superior derecha de la página. Una vez que haya bifurcado el repositorio, puede clonarlo a su máquina local utilizando el siguiente comando:
git clone https://github.com/YOUR_USERNAME/elsa-core.git
Reemplace YOUR_USERNAME
con su nombre de usuario GitHub. Para obtener más información sobre la bifuración de un repositorio, consulte la documentación de GitHub aquí.
Incorporando los detalles sobre la carpeta "Apps" y sus proyectos en el segundo punto para abrir el Elsa.sln
usando su IDE favorito, podemos ampliar las instrucciones para guiar a los desarrolladores sobre dónde comenzar y qué proyectos pueden querer explorar primero. Aquí hay una versión actualizada de esa sección con la información adicional:
Elsa.sln
usando tu ide favorito Después de clonar el repositorio, navegue hasta el directorio clonado y abra el archivo de solución Elsa.sln
con su IDE preferido que admite el desarrollo .NET, como Visual Studio, JetBrains Rider o Visual Studio Code con las extensiones apropiadas.
Dentro de la solución, encontrará una carpeta de "aplicaciones" que contiene tres proyectos diseñados para ayudarlo a comenzar y explorar las capacidades del flujo de trabajo de Elsa:
Elsa.server.web : este proyecto es una aplicación de referencia ASP.NET Core que actúa como un servidor de flujo de trabajo. Es un excelente punto de partida si desea comprender cómo Funciona Elsa como motor de flujo de trabajo del lado del servidor.
Elsa.serverandstudio.web : este proyecto tiene un doble propósito. Al igual que Elsa.Server.Web
, actúa como un servidor de flujo de trabajo. Además, aloja la aplicación Elsa Studio Blazor WebAssembly. Este es el proyecto perfecto para ejecutar si desea ver las capacidades completas de ELSA, incluidos los aspectos del servidor y la experiencia de estudio del lado del cliente en una aplicación.
Elsa.studio.web : este proyecto es una aplicación de Blazor Blazor WebSembly que solo aloja la aplicación Elsa Studio Blazor WebAssembly. Requiere una aplicación de servidor ELSA para conectarse. Use este proyecto si está interesado en centrarse en la interfaz de usuario de Elsa Studio y sus interacciones con un servidor de flujo de trabajo Elsa.
Una vez que haya realizado sus cambios, compromételos y emprévelos de regreso a su bifurcación. Luego, navegue hasta el repositorio de flujo de trabajo Elsa original y cree una nueva solicitud de extracción. Asegúrese de que su descripción de PR describa claramente los cambios y cualquier información relevante que ayude a los revisores a comprender sus contribuciones. Para obtener una guía detallada sobre la creación de una solicitud de extracción, visite la creación de una solicitud de extracción de una bifurcación.
Antes de comenzar a trabajar en sus cambios o enviar una solicitud de extracción, abra un problema para discutir lo que le gustaría hacer. Este paso es crucial, ya que asegura que no pase tiempo trabajando en algo que podría no alinearse con los objetivos del proyecto o que alguien más podría estar en desarrollo por otra persona. Puedes abrir un problema aquí.
Este enfoque nos ayuda a optimizar las contribuciones y asegura que sus esfuerzos estén alineados con las necesidades y prioridades del proyecto. Esperamos sus contribuciones y estamos aquí para apoyarlo durante todo el proceso. ¡Gracias por contribuir al proyecto de flujo de trabajo Elsa!
Hay varias formas de obtener apoyo para los flujos de trabajo de Elsa, que van desde canales dirigidos por la comunidad hasta servicios de nivel empresarial.
Elsa tiene una comunidad activa y útil donde puede encontrar apoyo a través de múltiples canales:
Para las organizaciones que requieren apoyo profesional y compromiso a largo plazo, Elsa-X ofrece servicios de nivel empresarial y garantiza la continuidad y el desarrollo futuro del marco de Elsa, proporciona soluciones personalizadas y desarrolla extensiones comerciales adaptadas a las necesidades empresariales.