aelassas / wexflow

.NET Workflow Engine and Automation Platform

Home Page:https://wexflow.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wexflow Wishlist and Feature Requests

aelassas opened this issue · comments

Hi,

If you want a new feature in Wexflow, feel free to add your feature request on this board with a description of what you want.

If you found a bug, please open a new issue and don't leave a message on this board.

Kind regards,

commented

Hi, Just recently came across this project and it has a lot of potential!
I think it would be a nice feature if we had more control over the input/output of a Task. (if this is already possible please let me know)
Currently we can move around data between tasks using the Hashmap.

Let's say I have the following use case:
Step 1: Retrieve data from SQL
Step 2: Transform data to different data model
Step 3: Submit transformed data to external API

What I did now is create three custom Tasks that basically do what I want them to
Task 1: Custom Tasks with input for SQL server information & query
Task 2: Transform data from Task 1 to different model
Task 3: Send transformed data to API

Maybe it is possible to look at how the workflow system that NodeRED has functions, there a Task can have a input object and a output object. Within that task you can then transform the received data.
Maybe the way the output of one Tasks serves as the input for another could also work in this project?

If something isn't clear please let me know! :-)

@sNakiex You can transfer state between tasks through selectEntities.

You can share objects between tasks through Shared Memory.

For your use case, you can create 3 custom tasks:

Custom Task 1: Retrieve data from SQL server and save it as entities
Custom Task 2: Transform data from Task 1 (selectEntities="1") to different model and save it as entities
Custom Task 3: Send transformed data from Task 2 (selectEntities="2") to API

commented

@aelassas Makes sense and looks good, I didn't take a look at the selectEntities yet, seems to be the missing link in my use case!

commented

I have a new suggestion. The addition of Jint https://github.com/sebastienros/jint
This will enable users of the workflow system to evaluate JavaScript expressions