WorkflowEngine v5.0 Release Notes

  • Designer

    • 🏁 Designer windows have been reworked to behave as non-modal which allows:
      • to keep them open while working with a scheme.
      • to open multiple windows, change their size and behavior.
    • 🏁 Customization of Designer windows is now simplified; each window is represented by a Vue.js template which can be now altered independently from the rest of the Designer.
    • Customization of Designer toolbars simplified.
    • A Designer library of typical schemes added which represent most frequently used blocks which can be dragged onto your schemas.
    • A library of custom activities added; these are single action activities whose settings are adjustable within the form.
    • 0️⃣ Forms to edit properties of activities and transitions now have two viewing modes - Default and Expert. The Default mode represents only the essential and most used settings, while the Expert mode combines all the settings.

    Sub-processes

    • Sub-processes can now be launched in a separate thread to allow for physical parallelism at the scheme level.
    • Methods to copy parameters into a sub-process can now be carried out using the following options:
      • copy all parameters (default option, previously available)
      • not to copy parameters
      • only copy specified parameters
      • ignore specified parameters.
    • πŸ†• New feature to specify a method to transfer sub-process parameters on to its parent process when merging. The following options are available:
      • transfer only the parameters absent in the parent process (default option, previously available)
      • transfer all parameters
      • only copy indicated parameters
      • ignore indicated parameters.
    • πŸ†• New feature to cleary indicate whether a particular transition starts a sub-process or finalizes it; previously identified automatically, the transition can be now obviously set.
    • πŸ†• New feature to specify a sub-process name which can be represented as a simple string or a calculated expression; expressions can consume parameters (this is syntactically similar to conditional expressions). In this way, new sub-processes can be created simply by changing paramater values used when a sub-process name is generated. As an example, consider creating an invoice approval scheme where the invoice will contain several product items. It is now possible to design a scheme in which approval of the items will be represented by a sub-process. Furthermore, by combining loops (in the plugin) and sub-process naming calculations a sub-process for each product item can be created.
    • πŸ†• New feature to specify a sub-process id, or calculate it based on the parameters; herein, substitutions are used - not expressions.

    Persistence Providers

    • All persistence providers are implemented as completely asynchronous. As a result, the WFE core operates in a completely asynchronous fashion suitable for scalability.
    • .NET Core provider for MsSql utilizes Microsoft.Data.SqlClient instead of System.Data.SqlClient.

    Workflow Runtime

    • Method Resume is added to API Workflow Runtime. Contrary to the SetSatate method, it does not execute a current activity, or a set one, but rather attempts to continue execution of the process. This method can be used to go on with a process execution after a failure, or in the case of changes in external conditions.
    • Restorer Restore Decision Resume added.
    • πŸ†• New in the ProcessInstance class:
      • Indexer for getting and setting paramater values
      • Methods to manipulate root process parameters from within a sub-process.
      • For all standard events, now exist their asynchronous counterparts.

    πŸ”Œ Plugins

    • πŸ“¦ FTP ΠΈ SFTP support added to the File Plugin. Attention. File Plugin is supplied as a seperate Nuget package/dll
    • πŸ”Œ New plugin, Loops Plugin, added for simple implementation of the for and foreach.
    • πŸ”Œ Within the action BasicPlugin.HttpRequest you can specify the name of the paramater which is to hold the result.
    • πŸ”Œ Within the action BasicPlugin.SetParameter, and the BasicPlugin.CheckParameter condition, you can set and verify the root process' paramaters.
    • πŸ”Œ Many new conditions added to BasicPlugin.CheckParameter ΠΈ BasicPlugin.CheckHTTPRequest.
    • πŸ†• New plugins added for interaction with Slack, Telegram, Twilio, Nexmo are provided as Nuget packages (dlls).