|WorkflowEngine .NET Press Release||14/03/2016|
|WorkflowEngine .NET Presentation for managers||14/03/2016|
|WorkflowEngine .NET 1.5.6 Core||26/10/2016|
|Documentation for WorkflowEngine .NET 1.5||27/06/2016|
|ASP.NET MVC Samples of WorkflowEngine .NET 1.5.6
(MS SQL, RavenDB, MongoDB, Oracle, MySQL, PostgreSQL, Redis, Ignite)
|ASP.NET WebForms Sample of WorkflowEngine .NET 1.5.6
|Provider for MS SQL Server||26/10/2016|
|Provider for RavenDB||26/10/2016|
|Provider for MongoDB||26/10/2016|
|Provider for Oracle||26/10/2016|
|Provider for MySQL||26/10/2016|
|Provider for PostgreSQL
|Provider for Redis
|Provider for Apache Ignite (GridGain)
Workflow Engine .NET build for .NET Core (.NETStandard 1.5) Alpha version, please read README.txt before use
- Two new persistence providers were added to WorkflowEngine.NET Redis Provider for Redis and Ignite Provider for Apache Ignite (GridGain).
- Second parameter which allow ignore AutoSchemeUpdate sign of Activity was added to the WorkflowRuntime.UpdateSchemeIfObsolete method.
- Several redundat operations related to subprocess features were removed to increase performance.
- Conditions are checked for transitions that creating subprocesses
- The sign IsRequired for command parameter. You can take it into account when generating forms, also it is used in the command validation before the execution of command.
- The Default value for command parameter. You can access it using CommandParameter.DefaultValue property, after you have received the list of available commands. You can set all command parameters to default value using WorkflowCommand.SetAllParametersToDefault or WorkflowCommand.SetParameterToDefault functions. The Default value must be a valid JSON (wich can be deserialized to type which is specified in the bond Parameter) or will be interpreted as a string.
- An autocompete was added in the Type of Parameter field (editing window Parameters). It makes a suggestions about types which can be used, such as primitive types (Int32, String etc) or your custom types. Types from assemblies which was registerd using _runtime.RegisterAssemblyForCodeActions function are added in the autocomplete list. To prevent registration or filter the list you can use the last two optional parameters of _runtime.RegisterAssemblyForCodeActions function - ignoreForDesigner and designerTypeFilter.
- The Initial values were added for Parameters. You can use Initial value only for Parameters which have Purpose = Persistence. This values must be a valid JSON (wich can be deserialized to type which is specified in the bond Parameter) or will be interpreted as a string. These values will be set to the process parameters when it is created.
- The JSON editor was added for edit Parameter.InitialValue (Parameters window), Command.InputParameters.DefaultValue (Commands window), Actor.Value (Actors window), Activity.Implementation.ActionParameter (Activity window), Transition.Condition.ActionParameter (Transition window). The JSON editor includes a syntax highlight and Format button. The Format button can be used to format your JSON. Please note that if you use JSON with unquoted property names, you must add reference on json5.js library on Designer page. For Parameter.InitialValue (Parameters window) and Command.InputParameters.DefaultValue (Commands window) the JSON editor also includes Create button. This button can be used to create an empty object based on Parameter.Type. Designer (on server) uses only parameterless constructor to create the empty object.
- There are two new events was added to WorkflowRuntime. Both are occured only in normal execution mode (not in pre-execution). BeforeActivityExecution - is occured after the Runtime has chosen an appropriate transition for execution but before Actions in an Activity were executed. ProcessActivityChanged - is occured after some Activity was executed. You can use ProcessActivityChanged.TransitionalProcessWasCompleted property to ensure that the command (or timer) execution was finished. Using of these events could be more convenient than ProcessStatusChanged in some cases.
- GetAllActorsForCommandTransitions(ProcessInstance) method was added to WorkflowRuntime. You can use this method to get next potential approvers for current state.
- You can change the JSON Serializer settings for Parameters serialization using SetParameterSerializerSettings configuration method.
- Schema was added in constructors of all SQL providers. For MsSQL the default schema is "dbo". For PostgreSql the default schema is "public". For Oracle the default schema is null.
- You are able to specify an interval timer value with milliseconds, seconds, minutes and days. For example "1d 2h 4m 30s" - one day two hours four minutes thirty seconds or "5m 30s", "14d", "12h", "10m", "10s" etc. You are able to use following names. d, day or days to specify interval in days. h, hour or hours to specify interval in hours. m, minute or minutes to specify interval in minutes. s, second or seconds to specify interval in seconds. ms, millisecond or milliseconds to specify interval in milliseconds. If the interval is specified as just a numeric value, it is interpreted as the interval in milliseconds.
- You are able to pass initial parameters of a process by using _runtime.CreateInstance(CreateInstanceParams createInstanceParams) method. Parameters passed in the createInstanceParams.InitialProcessParameters property will be used as initial for parameters of a process.
- The JSON serializer used by the engine was changed from ServiceStack.Text to Newtonsoft.JSON. 1.5.3 version of WFE was built with the verion 7.0 of Newtonsoft.JSON.
- MSSQL provider was rewritten from LINQtoSQL to ordinary SQL queries.
- The Parameter window in the designer was implroved. Now you can hide System parameters. They are hidden by default.
- Working with types in the Parameter window in the designer was improved. Now you are able to use short type's names such as String, Guid, Int32 etc for primitive types. The type names including namespace for custom types (OptimaJet.Workflow.Core.Model.ActivityDefinition, Business.Approvers etc). Also you are able to use <> for generic types and  for arrays.
- Fixed a bug in the timers for their correct restart after restart of the workflow runtime.
- ExecutedActivity and ExecutedTransition properties added in ProcessInstance class. Via them, you can access executed transition and activity during a transitional process.
- A scheme of a process downloaded from the designer with not ecoded Code Actions. You can upload a scheme with encoded or not encoded code actions.
- The algorithm of sub-process scheme separation improved for it to work properly with the different schemes.
- GetAvailableCommands method returns distinct commands.
- Fixed parsing of the values of the timers in different cultures
- While merging the processes you can access the parameters of a subprocess using the property MergedSubprocessParameters of the ProcessInstance class.
PM> Install-Package WorkflowEngine.NET-Core
PM> Install-Package WorkflowEngine.NET-ProviderForMSSQL
PM> Install-Package WorkflowEngine.NET-ProviderForMongoDB
PM> Install-Package WorkflowEngine.NET-ProviderForRavenDB
PM> Install-Package WorkflowEngine.NET-ProviderForOracle
PM> Install-Package WorkflowEngine.NET-ProviderForMySQL
PM> Install-Package WorkflowEngine.NET-ProviderForPostgreSQL
WorkflowEngine.NET Designer for ASP.NET MVC
PM> Install-Package WorkflowEngine.NET-Designer
Clone the repository:
git clone https://github.com/optimajet/WorkflowEngine.NET.git