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ドキュメントWebサイトをご覧ください。
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ワークフローGitHubリポジトリに移動し、ページの上位コーナーの[フォーク]ボタンをクリックします。レポを分岐したら、次のコマンドを使用してローカルマシンにクローンできます。
git clone https://github.com/YOUR_USERNAME/elsa-core.git
YOUR_USERNAME
GitHubユーザー名に置き換えます。リポジトリのフォーキングの詳細については、GitHubのドキュメントをご覧ください。
「アプリ」フォルダーの詳細とそのプロジェクトを、お気に入りのIDEを使用してElsa.sln
を開くことに関する2番目のポイントに組み込まれているため、最初に開始する場所とどのプロジェクトを探索したいかについて開発者をガイドする手順を拡張できます。追加情報を備えたそのセクションの更新バージョンは次のとおりです。
Elsa.sln
を開きますリポジトリをクローニングした後、クローン型ディレクトリに移動し、適切な拡張機能を備えたVisual Studio、JetBrains Rider、Visual Studioコードなど、.NET開発をサポートするElsa.sln
ソリューションファイルを希望のIDEで開きます。
ソリューション内には、ELSAワークフローの機能を開始して探索するのに役立つ3つのプロジェクトを含む「アプリ」フォルダーがあります。
Elsa.Server.Web :このプロジェクトは、ワークフローサーバーとして機能するリファレンスASP.NETコアアプリケーションです。 ELSAがサーバー側のワークフローエンジンとしてどのように機能するかを理解したい場合、これは素晴らしい出発点です。
Elsa.serverandstudio.web :このプロジェクトは二重の目的を果たします。 Elsa.Server.Web
のように、ワークフローサーバーとして機能します。さらに、Elsa Studio Blazor WebAssemblyアプリをホストしています。これは、サーバーの側面と1つのアプリケーションでのクライアント側のスタジオエクスペリエンスの両方を含む、ELSAの完全な機能を確認したい場合に実行するのに最適なプロジェクトです。
Elsa.Studio.Web :このプロジェクトは、Elsa Studio Blazor WebAssemblyアプリのみをホストする参照Blazor WebAssemblyアプリケーションです。接続するには、実行中のELSAサーバーアプリケーションが必要です。 ELSA Studio UIとELSAワークフローサーバーとのやり取りに焦点を当てることに興味がある場合は、このプロジェクトを使用してください。
変更を加えたら、それらをコミットしてフォークに押し戻します。次に、元のELSAワークフローリポジトリに移動し、新しいプルリクエストを作成します。 PRの説明が、レビュアーがあなたの貢献を理解するのに役立つ変更と関連する情報を明確に説明していることを確認してください。プルリクエストの作成に関する詳細なガイドについては、フォークからプルリクエストの作成にアクセスしてください。
変更の作業を開始する前に、またはプルリクエストを送信する前に、問題を開いて、何をしたいかを話し合ってください。このステップは、プロジェクトの目標と一致しないかもしれないものに時間を費やさないか、他の誰かによってすでに開発中である可能性があることを保証するため、このステップが重要です。ここで問題を開くことができます。
このアプローチは、貢献を合理化するのに役立ち、あなたの努力がプロジェクトのニーズと優先順位と一致することを保証します。私たちはあなたの貢献を楽しみにしており、プロセス全体を通してあなたをサポートするためにここにいます。 ELSAワークフロープロジェクトに貢献していただきありがとうございます!
コミュニティ主導のチャネルからエンタープライズレベルのサービスに至るまで、ELSAワークフローをサポートするさまざまな方法があります。
Elsaには、複数のチャネルを通じてサポートを見つけることができるアクティブで親切なコミュニティがあります。
専門的なサポートと長期的なコミットメントを必要とする組織のために、ELSA-Xはエンタープライズレベルのサービスを提供し、ELSAフレームワークの継続性と将来の開発を保証し、カスタムソリューションを提供し、エンタープライズニーズに合わせた商業拡張機能を開発します。