* Refactor HTTP route table population
* Update workflow definition EF store to use abstract IWorkflowInstanceStore
This decoupling is necessary, because the application might not be using EF Core, but e.g. Elasticsearch
* Move workflow state persistence to the default workflow runtime feature
* Update JS handler to provide access to variables during trigger indexing
* Configure Proto.Actor runtime with different workflow pipeline
* Add sample using Proto.Actor runtime
* Replace BookmarkGrain with DB based persistence
* Incremental work
* Enable control over when to include full compositie root
* Cleanup
* Update WorkflowDefinitionActivity
* Implement input as variables
* Delete unused class
* Remove less common types
* Rename ExpandoObject to JSON
* Implement variable scoping
* Remove parent/child relationship from MemoryRegister
* Add support for sending input to "trigger event" endpoint
* Add support for configuring input storage driver
* Remove unused namespace imports
* Auto-register activity types when running a workflow
* Fix missing variables from containers
* Incremental work
* Incremental work
* Incremental work
* Merge remote-tracking branch 'origin/v3' into v3-elasticsearch-updates
* Incremental work
* Incremental work
* Fix listing with no query
* Restore missing class
* Remove rollover hosted service and expose index configurations
* Rename hosted service
* Refactor identity options
* Delete templates
Will be created as part of a separate repo.
* Little cleanup
* Increase token lifetime for reference server app
* Cleanup workflow definition editor plugin
* Fix workflow instance viewer component
* Update identity generator to use hyphen format
* Improve workflow and activity execution pipeline registration API
* Fix workflow journal
* Update backend
* Prevent unnecessary re-render
* Restore autolayout function
* Implemented workflow sink module
* Sequentual process of saving sinks in single consumer
* Refactor
* Log errors during sink export
* Removed redundant classes
* Use in process messaging in bundle
* Fixed the issue with duplicated ResultVariable key on serializing
* Moved workflowsink modules out of persistence projects
* Moved migrations out of old projects
Co-authored-by: Gürkan Güran <grkngrn@gmail.com>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* Incremental work on samples
* Rename HTTP middleware and update samples
* Rename HTTP Activities to Workflows
* Automatically register core activities when adding Elsa
* Fix feature registration bug
* Add default auth feature
* Make activity serializer more flexible
* Bump designer version
* Add workflow server + designer samples
* Simplify EntityFrameworkCore projects
* Update solution
* Add Sqlite package references to ensure the correct version is used
* Update sample project with EF Core
* Update EF extensions
* Add server + designer sample project
* Cleanup AllInOne project and add some XML comments
* Rename ci.yml and add CI for Docker file
* Add support for converting lists of things
* Add support for workflows returning a result
* Formatting
* Fix that While would complete twice
* Add convenience methods to access workflow input
* Schedule the workflow itself instead of just its root
* Add Output dictionary to workflow execution context
* Ad samples to demonstrate workflows returning results
* Incremental work on Telnyx integration
* Incremental port of Telnyx activities
* Fix polymorphic JSON serialization for webhook data
* Fix IsFirstPass logic
* Fix trigger base to prevent activity auto completion
* Temporarily disable persistent snapshotting provider for testing
* Fix namespaces
* Add method to register activities in bulk using marker type
* Fix Telnyx refit client setup
* Register all Telnyx activities by default
* Incremental work on webhook driven resumption and correlation
* Incremental work on post-bookmark signaling
* Fix bookmark resolution
* Include correlation ID with bookmark
* Fix Telnyx resumption input
* Replace bookmark persisted signal with handler
* Fix SpeakText completion
* Add flow outcomes to SpeakText activity
* Update GatherUsingSpeak and GatherUsingaudio
* Refactor "is first pass" concept
* Fix WebhookEvent activity
* Add HTTP absolute URL provider
* Formatting and small changes
* Various API enhancements
* Delete DefaultWorkflowInvoker.cs
* Incremental work
* Refactor runtime
* Implement workflow state store + bookmark store
* Cleanup
* Update migrations
* Move store abstractions to management and runtime projects
* Consolidate persistence providers into single package
* Generate migrations
* Regenerate migrations
* Fix DI of memory stores
* Update migrations
* Refactor definition reference due to unserializable record
* Update web server bundle to use EF core by default
* Update Bookmark.cs
Fixes System Text Json deserialization
* Incremental work on custom activities
* Incremental work on refactoring versioned entities
* Add ActivityDefinition infrastructure
* Incremental work on activity definition manager
* Incremental work on API endpoints
* Refactored flowchart component to include hierarchical nav
* Incremental work on modularization of designer component
* Restructuring into modules
* Rename CustomActivities module
* Apply security
* Fix activity definition GET endpoint
* Incremental work on activity definition provider
* Incremental work on activity definition execution
* Update ActivityDefinitionMaterializer.cs
* Update ActivityDefinitionActivityProvider.cs
* Add activity definition referenced version update handler
* Maintain position of not found activity
* Fix prefix naming
* #676 added restartFromActivity server implementation
* #676: restart from activity - added client side implementation
* #676: renamed method to better reflect it's purpose
* #676: moved workflow test activity message status to enum
* #676: when workflow is executed, first activity is selected
* #676: moved workflow testing to a separate module
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* Publish/Subscribe events added to WorkflowSettings and WorkflowRegistry
* Workflow Registry re-indexed and cache refreshed on workflow disable/enable
* IsDisabled property added to WorkflowBlueprintSummary to display disabled status in the UI
* MySql, PostgreSql and SqlServer persistence added to Workflow Settings
* Validation for disabled workflow in Workflow Resumer
* WorkflowSettings configuration added to the appsettings.json
* Workflow Settings added to Elsa.Server.Host startup collection
* IWorkflowSettingsProvider implemented
* Update README.md
* Elsa-Workflow-Settings and Elsa-Webhooks separate modules added and decoupled from Elsa Web
* Delete unused Client projects
* LoadWorkflowSettingsDisabledHandler changes
* FeatureProvider removed, Webhooks plugin merged to Webhooks Feature Plugin
* Update Webhooks and Settings plugin
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* defined open, close and navigate activities
* sample created
* inherit DriverId
* ClickElement added
* implemented TypeText activity and NavigateToW3School sample
* OpenBrowser headless mode
* RPA: GetText added
* fix readme
* try/catch pattern in base class. Thanks to sfmskywalker for the tip
* Update components.d.ts
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
The project/NuGet package for implementation logic relating to
temporal actions has been renamed:
Elsa.Activities.Timers.Hangfire → Elsa.Activities.Temporal.Hangfire
Elsa.Activities.Timers.Quartz → Elsa.Activities.Temporal.Quartz
Whilst large numbers of C# files are "changed" by this commit,
it's just a straight move to a new path.
The project/NuGet package for common logic relating to
temporal actions has been renamed:
Elsa.Activities.Timers → Elsa.Activities.Temporal.Common
Whilst large numbers of files are "changed" by this commit,
it's just a straight move to a new path.
* Trivial - Add VS Code workspace
* Trivial - Add VSCode build task & extra ignore
On GNU/Linux, auto-generated .directory
files should be ignored.
* WIP #485 - Boilerplate for unit test project
* WIP #485 - Add test coverage (Remove/RemoveAll)
* WIP #485 - Implement RemoveAll
* Remove redundant logic, covered by IDictionary
Per the following, the contract for a generic IDictionary,
the Remove method already deals with non-existent keys.
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.idictionary-2.remove?view=net-5.0#System_Collections_Generic_IDictionary_2_Remove__0_
* Resolve#485 - Add PurgeVariables methods
These are convenience methods upon ActivityExecutionContext
and WorkflowExecutionContext, consistent with their current APIs.
Also in this commit are tests for those simple methods.
There's a bit of test-scaffold as well included, such as:
* Autofixture Xunit2 integration
* New project for unit tests
* Customize attribute for avoiding crashes on Autofixture recursion
* Reusable specimen builder for creating IServiceProvider which
resolves services from Autofixture
* Custonize attribute for a parameter to use that ^^ specimen builder
* Activity picker dialog
* Activity picker
* Activity editor
* Activity property fields
* Blazor bindings for Elsa designer
* Only index triggers from published & enabled workflow definitions
* Handle case of null workflow blueprint not found
* Add check for zero duration and general scheduler exceptions
* Don't rethrow expression evaluation failure
* Workflow definition settings editor modal
* Integration between stencil and blazor 🎉
* Fix expression type conversion
* Add publish button and restructure components
* Fix up workflow definition ID vs workflow definition version ID
* Update EF Core migrations
* Fix Workflow Publisher
* Fix version display
* Add Import menu item
* Fix connection model porperty names
* Add workflow instance name to index
* Enable sample workflows
* Incremental work on activity displays
* Add custom activity display support
* Optimize workflow registry list endpoint model
* Adding Activities, Workflows, TriggerProviders and WorkflowContextProviders by Reflection
* Activities stored in ElsaOptions, instead of IServiceCollection
* Remove the empty XML comments
* Renamed ElsaConfigurationsOptions to ElsaConfiguration
* Small enhancements
* Workflows stored in ElsaOptions, instead of IServiceCollection
* Instantiated workflows can now be added
* Workflow instance was not registered to DI
* Add Elsa.Activities.Rebus project to solution
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* Fix sample Elsa.Samples.FileBasedWorkflow
* Separate Quartz from Elsa.Activities.Timers
* Incremental work on Hangfire integration
* Incremental work on Hangfire integration
* Incremental work on Hangfire integration
* Incremental work on Hangfire integration
* Add CancelTimer
* ToCronExpression for Duration
* Removed SweepInterval
* Synchronize access to scheduler
* Refactoring RunHangfireWorkflowJob
* Optimize timer activities to always execute when target time stamp lies in past
* Refactoring TimersOptionsExtensions
* Added common.props and configureawait.props
* Rename CancelTimer to ClearTimer
* Wrong parameter name in comment
* Refactoring TimerConsts and RunQuartzWorkflowJob
Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* Seperate YesSql and added InMemory, MongoDb
* Error fixed, if DatabaseInitializer is run through several times
* icon.png was not packed
* Added AddWorkflowProvider to AddElsaPersistenceMongoDb
* Wrong primary keys were used for MongoDb
* Refactorig MongoDb
* Register IMongoCollection<WorkflowDefinition> and IMongoCollection<WorkflowInstance> with DI
* Wrong Parameter Type in Constructor (MongoDbWorkflowInstanceRepository)
* Add workflowDefinition.WorkflowDefinitionId = _idGenerator.Generate(); to Initialize
* Removed duplicated code
* Correct wrong Commit
Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* Incremental work on signaling
* Incremental work on signal middleware
* Getting somewhere!
* Refactored middelware
* Added BadRequestResult and NotFoundResult
* Removed cruft
* Consolidated activity driver with activity
* Incremental work on serialization
* Incremental work on serialization
* WIP
* Incremental work on strongly typed defined workflows
* Removed old samples and added new ones
* Updated primitives and improved workflow builder API
* WIP (broken)
* Coded workflow API improvements
* Fixed Email and Http libraries
* Fixed start activity issue