Skip to content

Commit 1ceb6dc

Browse files
committed
WFE 5.1.0
1 parent 00d6d60 commit 1ceb6dc

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

release-notes.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,59 @@
11
# Workflow Engine: Release Notes
22

3+
## 5.1 {#5.1}
4+
5+
### Designer
6+
7+
- Improved designer’s usability.
8+
- Added creation of commands from the transition’s edit form.
9+
- It is possible to customize displayed activities and transitions, their templates are located in the *templates/elements* folder and are .svg files that can be changed.
10+
- It became possible to choose a color for displaying activity and transition.
11+
- For custom activities added on the server, it is now possible to specify the template for the edit form and .svg to be displayed on graph.
12+
- A new type of activity *Decision* has been added to the elements panel – it is used for convenience and to improve the visual perception of processes with conditional branches. It allows you to make a branch with one condition.
13+
- A new type of activity *Decision Table* has been added to the elements panel – it is used for convenience and to improve the visual perception of processes with conditional branches. It allows you to make a branch with any number of conditions.
14+
- The design of editing usings in Code Actions has been changed.
15+
16+
### Plugins
17+
18+
- Extended the functionality of the *Approval Plugin*, now it fully allows you to implement the functionality of Inbox, Outbox, and the history of document changes. All [examples](/downloads/net-core/) implement this functionality using the *Approval Plugin*.
19+
- Methods for manipulating Inbox, Outbox and the history of document changes are added to *Persistence Providers*. The history of document changes, Inbox and Outbox are only filled when *Approved Plugin* is connected.
20+
- The ability to register Actors predefined on the server is added in the Basic Plugin. The `basicPlugin.WithActors` method and two delegates: `basicPlugin.CheckPredefinedActorAsync` and `basicPlugin.GetPredefinedIdentitiesAsync` are used for this.
21+
- You can now specify a delegate to update the status(state) of the document - `basicPlugin.UpdateDocumentStateAsync` in the *Basic Plugin*.
22+
- A *DeleteSubprocesess* action is added to the *Basic Plugin*, this action deletes all subprocesses.
23+
- Added the ability to customize HTTP requests headers in the *Basic Plugin’s* *CheckHTTPRequest and HTTPRequest* methods.
24+
- The ability to specify a username and password for all the methods that make HTTP requests has been added to the *Basic Plugin*.
25+
- The ability to download files by HTTP has been added to the *File Plugin*.
26+
- It is now possible to specify the ID of the created process in the *CreateProcess* method in the *Basic Plugin*.
27+
28+
### Core
29+
30+
- You can now set common usings for all *Code Actions* of the scheme, at the same time you can configure usings individually for each *Code Action*. This makes usings managing easier.
31+
- Added process log. The sequence of actions that occurs during the execution of the process is now added to a process log. The log can be enabled for all processes created for a specific scheme or for a specific process. **Attention: The Workflow Engine package includes a logger that stores the log in the memory. This is enough for debugging processes but if you want to make the log persistent, you have to implement the `IProcessLogProvider` and connect it to the Workflow Runtime by calling the `runtime.WithProcessLogger(…)` method**.
32+
- `GetProcessInstancesAsync(...)` and `GetSchemesAsync(...)` methods that accept sorting and paging are added to the Persistence Provider. With their help you can access the list of schemes and processes.
33+
- The *Activity* in *Expert mode* in the *Designer* now has the ability to set the *Execution Timeout*, meaning it limits the execution time of all *Actions of this Activity*. **Attention: This timeout with only work for asynchronous Actions that process the Cancellation Token passed to them.** The timeout value is the same as the [interval timer value](/documentation/scheme/timers/#general). Possible reactions to timeout: *Set Activity*, *Set State*, *Retry*.
34+
- The *Activity* in *Expert mode* in the *Designer* now has the ability to set *Idle Timeout*, meaning it limits the time a process can be in this *Activity* without doing anything (i.e Idled or Finalized status of the process). The timeout value is the same as the [interval timer value](/documentation/scheme/timers/#general). Possible reactions to timeout: *Set Activity*, *Set State*.
35+
- The *Activity* in *Expert mode* in the *Designer* now has the ability to set *Error handling* by listing the names of the exceptions that need to be handled. Possible reactions to the exception: *Set Activity*, *Set State*, *Retry*, *Ignore*.
36+
- The *Activity* in *Expert mode* in the *Designer* now has the ability to disable saving process state. This setting is called *Disable persist*.
37+
- Process Instance is passed to the `HasExternalParameter`,` IsGetExternalParameterAsync`, `IsSetExternalParameterAsync` of `IWorkflowExternalParametersProvider` methods.
38+
- Two time-stamps were added to Process Instance: *CreationDate* – date and time of process creation and *LastTransitionDate* – date and time of the last change of the process state.
39+
- *StartTransitionTime* – date and time of the beginning of the transition and *TransitionDuration* – the duration of the transition in milliseconds - were added to the Process Transition History.
40+
- An additional parameter `NamesSearchType.All` or `NamesSearchType.NotExcluded` is passed in the `IWorkflowActionProvider.GetActions`,` IWorkflowActionProvider.GetConditions` and `IWorkflowRuleProvider.GetRules` methods, this allows adding *Actions, Conditions or Rules* that are not seen the Designer but that are executed in the process.
41+
42+
### Update instruction {#5.1_update}
43+
44+
**The following additional actions must be taken to upgrade to Workflow Engine 5.1:**
45+
46+
- **Warning. If using Redis, please, contact our support for update instructions.**
47+
- Run the SQL script update_5_0_to_5_1 for all relative databases and MongoDB.
48+
- [MSSQL](https://github.com/optimajet/WorkflowEngine.NET/blob/master/Providers/OptimaJet.Workflow.MSSQL/Scripts/update_5_0_to_5_1.sql)
49+
- [PostgreSQL](https://github.com/optimajet/WorkflowEngine.NET/blob/master/Providers/OptimaJet.Workflow.PostgreSQL/Scripts/update_5_0_to_5_1.sql)
50+
- [Oracle](https://github.com/optimajet/WorkflowEngine.NET/blob/master/Providers/OptimaJet.Workflow.Oracle/Scripts/update_5_0_to_5_1.sql)
51+
- [MySQL](https://github.com/optimajet/WorkflowEngine.NET/blob/master/Providers/OptimaJet.Workflow.MySQL/Scripts/update_5_0_to_5_1.sql)
52+
- [MongoDB](https://github.com/optimajet/WorkflowEngine.NET/blob/master/Providers/OptimaJet.Workflow.MongoDB/Scripts/update_5_0_to_5_1.js)
53+
- Update all files related to the Designer. They are available [here](https://github.com/optimajet/WorkflowEngine.NET/tree/master/Designer). Be mindful, that thу *elements* subfolder must be added to the *templates* folder.
54+
- If you are using *Action or Rule Providers* in the `IWorkflowActionProvider.GetActions`,` IWorkflowActionProvider.GetConditions` and `IWorkflowRuleProvider.GetRules` methods add the last `NamesSearchType namesSearchType` parameter. You don't need to change the code of these methods.
55+
- If you are using *External Parameters Provider* in the `HasExternalParameter`, `IsGetExternalParameterAsync` and `IsSetExternalParameterAsync` methods add the last `ProcessInstance processInstance` parameter. You don't need to change the code of these methods.
56+
357
## 5.0 {#5.0}
458

559
### Designer

0 commit comments

Comments
 (0)