O ELSA é uma poderosa biblioteca de fluxo de trabalho que permite a execução do fluxo de trabalho em qualquer aplicativo .NET. O ELSA permite que você defina fluxos de trabalho de várias maneiras, incluindo:
Para dar um giro rápido ao ELSA Studio + Elsa Server, você pode executar o seguinte comando para iniciar o contêiner 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 imagem do Docker é baseada em um aplicativo ASP.NET de referência que hospeda o servidor e o designer de fluxo de trabalho e não se destina ao uso da produção.
Por padrão, você pode acessar http: // localhost: 13000 e efetuar login com:
Username: admin
Password: password
Para uma documentação abrangente e para começar a Elsa, visite o site de documentação da ELSA.
A ELSA está evoluindo continuamente e, embora ofereça recursos poderosos, existem algumas limitações conhecidas e trabalho contínuo:
O ELSA oferece uma ampla gama de recursos para a construção e execução de fluxos de trabalho, incluindo:
Sequence
, Flowchart
e ForEach
.Os seguintes recursos estão planejados para lançamentos futuros da ELSA:
O ELSA pode ser usado em vários cenários, incluindo:
O ELSA permite definir fluxos de trabalho no código usando C#. O exemplo a seguir mostra como receber solicitações HTTP e enviar um email em resposta:
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! " )
}
}
} ;
}
}
O ELSA permite definir fluxos de trabalho usando um designer visual. O exemplo a seguir mostra como receber solicitações HTTP e enviar um email em resposta:
Congratulamo -nos com contribuições da comunidade e estamos satisfeitos por você estar interessado em ajudar a melhorar o projeto de fluxo de trabalho da ELSA! Aqui estão as etapas a serem contribuídas para o nosso projeto:
Para começar, você precisará gastar o repositório para sua própria conta do GitHub. Você pode fazer isso navegando para o repositório do fluxo de trabalho ELSA e clicando no botão "garfo" no canto superior direito da página. Depois de bifurcar o repositório, você pode cloná -lo para sua máquina local usando o seguinte comando:
git clone https://github.com/YOUR_USERNAME/elsa-core.git
Substitua YOUR_USERNAME
pelo seu nome de usuário do github. Para obter mais informações sobre como marcar um repositório, consulte a documentação do GitHub aqui.
Incorporando os detalhes sobre a pasta "Apps" e seus projetos no segundo ponto sobre a abertura do Elsa.sln
usando seu IDE favorito, podemos expandir as instruções para orientar os desenvolvedores sobre onde iniciar e quais projetos eles podem querer explorar primeiro. Aqui está uma versão atualizada dessa seção com as informações adicionais:
Elsa.sln
usando seu IDE favorito Após clonar o repositório, navegue até o diretório clonado e abra o arquivo de solução Elsa.sln
com o seu IDE preferido que suporta o desenvolvimento do .NET, como Visual Studio, JetBrains Rider ou Code Studio com as extensões apropriadas.
Dentro da solução, você encontrará uma pasta "aplicativos" contendo três projetos projetados para ajudar você a começar e explorar os recursos do fluxo de trabalho ELSA:
Elsa.Server.Web : Este projeto é um aplicativo ASP.NET Core que atua como um servidor de fluxo de trabalho. É um ótimo ponto de partida se você quiser entender como o ELSA funciona como um mecanismo de fluxo de trabalho do lado do servidor.
Elsa.ServerrandStudio.Web : Este projeto serve a um objetivo duplo. Como Elsa.Server.Web
, ele atua como um servidor de fluxo de trabalho. Além disso, ele hospeda o aplicativo WebAssembly do Elsa Studio Blazor. Este é o projeto perfeito para ser executado, se você deseja ver os recursos completos da ELSA, incluindo os aspectos do servidor e a experiência de estúdio do lado do cliente em um aplicativo.
Elsa.studio.web : Este projeto é um aplicativo WebAssembly de referência Blazor que hospeda apenas o aplicativo WebAssembly do Elsa Studio Blazor. Requer um aplicativo ELSA Server em execução para conectar. Use este projeto se você estiver interessado em se concentrar na interface do usuário do ELSA Studio e em suas interações com um servidor de fluxo de trabalho ELSA.
Depois de fazer suas alterações, comprometa -as e empurre -as de volta ao seu garfo. Em seguida, navegue para o repositório original do fluxo de trabalho ELSA e crie uma nova solicitação de tração. Verifique se sua descrição de relações públicas descreve claramente as alterações e quaisquer informações relevantes que ajudarão os revisores a entender suas contribuições. Para um guia detalhado sobre a criação de uma solicitação de tração, visite criando uma solicitação de tração a partir de um garfo.
Antes de começar a trabalhar em suas alterações ou enviar uma solicitação de tração, abra um problema para discutir o que você gostaria de fazer. Esta etapa é crucial, pois garante que você não gaste tempo trabalhando em algo que pode não se alinhar com os objetivos do projeto ou já estar em desenvolvimento por outra pessoa. Você pode abrir um problema aqui.
Essa abordagem nos ajuda a simplificar as contribuições e garante que seus esforços estejam alinhados com as necessidades e prioridades do projeto. Estamos ansiosos por suas contribuições e estamos aqui para apoiá -lo durante todo o processo. Obrigado por contribuir para o projeto ELSA Workflow!
Existem várias maneiras de obter suporte para fluxos de trabalho da ELSA, desde canais orientados para a comunidade a serviços de nível corporativo.
O ELSA tem uma comunidade ativa e útil, onde você pode encontrar suporte através de vários canais:
Para organizações que exigem suporte profissional e comprometimento de longo prazo, a ELSA-X oferece serviços de nível corporativo e garante a continuidade e o desenvolvimento futuro da estrutura da ELSA, fornece soluções personalizadas e desenvolve extensões comerciais adaptadas às necessidades corporativas.