Giter VIP home page Giter VIP logo

flow's People

Contributors

abhide-tibco avatar abhijitwakchaure avatar awakchau-tibco avatar cpramodroy avatar debovema avatar lixingwang avatar mellistibco avatar milanbhagwat avatar skothari-tibco avatar vanilcha-tibco avatar vijaynalawade avatar vnalawad-tibco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flow's Issues

Order of branches execution

Current behavior:

Today's order of branches execution relies on the order of links array in flogo.json. The last one will be executed at First

Expected behavior:

We should follow a certain rule that different types of branches should be executed in a certain order.
Such as:

Success Branch -> Expression Branch/Otherwise Branch -> Main branch.

What is the motivation / use case for changing the behavior?

Additional information you deem important (e.g. I need this tomorrow):

override subflow input attr when restart main flow

Current behavior (how does the issue manifest):
hi,
when i restart flow which include subflow and has same name activity in main flow and sub flow by FlowTesterService, i got
all same name activity attribute override, for exp:
in main flow, i have a activity called log_2,
in subfow_1 flow, i have a activity called log_2 too.

when i restart flow by curl:
curl "http://127.0.0.1:8080/flow/restart"
-v
-H "Content-Type: application/json"
-X POST
-d '{"initialState":{"flowURI":"res://flow:main","status":100,"tasks":[{"id":"log_2","status":20}],"id":"123430d67b9264a4c77b6a80e935e513","workQueue":[{"id":1,"subflowId":0,"taskId":"log_2"}]},"interceptor":{"tasks":[{"id":"log_2","inputs":{"message":"E","addDetails":false,"usePrint":false}}]}}'

all log_2 output message become "E", but in subflow_1, i set "C" in log_2

Expected behavior:
not override all same name activity in deferent flow,

Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):
mac os

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X
latest

Additional information you deem important (e.g. issue happens only occasionally):

Accumulate outputs for iterator

Current behavior:
There is no way to accumulate the outputs for iterator over an activity.
Expected behavior:
There should be a way to collect all output and let the user use in downstream mapping
What is the motivation / use case for changing the behavior?
New Feature
Additional information you deem important (e.g. I need this tomorrow):

Report clearly error message and empty connection handling

Current behavior (how does the issue manifest):

Let's say I have an activity which has connection field but the connection field empty

"input": {
                "Connection": "",
                "UpdateName": "",
                "Query": "",
                "manualmode": false,
                "RuntimeQuery": "",
                "State": "66b570f7-6938-4b46-86db-6f23dfbad989"
              },

Today we have a panic error, this is defect we need to fix. but for what would be correct behavior.

  • Throw out properly error messages for end-user to clearly know what's going wrong
  • Consider that the connection field can be an option(most case it is required), so can we just pass through it without giving the error? and let the connector handle the case

We also need to make our error message more clear for the end-user. today when some wrong when start engine it reports

Failed to create engine: error unmarshalling flow: create task [PostgreSQLQuery] error: convert value [] to type [connection] error: connection config not configured

This is not very clear for the end-user. especially error unmarshalling flow:

Expected behavior:

Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

Error in evaluation of link expression

Current behavior (how does the issue manifest):
The link's expression is not evaluated and hence no matter the expression, the tasks attached to the link always execute.
Expected behavior:
Based on the expression link, the task should be evaluated.

Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

Document Repeat on error, Dowhile and Accumulate on loop

Current behavior (how does the issue manifest):
No doc today
Expected behavior:
Add details doc for

  • Repeat on error
  • DoWhile loop
  • Accumulate on loop

Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

Failed to create engine: resource loader for 'flow' not registered

Hi

I'm newbie in programming and Flogo, I've tried to do labs and build app throuh Flogo Web when I'm launching it I receive following error:
"Failed to create engine: resource loader for 'flow' not registered" I've tried to run app on Windows and Linux and it have same behaviour.

Thanks !

Flow hang and running into infinite loop

Current behavior (how does the issue manifest):
There are 2 issues related.

  1. Call subflow activity get to hang when subflow end with an activity which has an error branch
  2. The flow running into infinite loop

Expected behavior:
Both 2 should work fine
Minimal steps to reproduce the problem (not required if feature enhancement):
Running hang.json in flogo.zip flogo.zip
or infinite_loop.json which will be easier to reproduce the issue.
Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Master branch of core repo and flow repo

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

API to return parent flow instance

Current behavior:
The 'host' of subflow instance is private, and is not accessible from activities in the subflow.

Expected behavior:
Need a public API that an activity in the subflow can call to get the parent flow and extract flow properties of the parent scope.

What is the motivation / use case for changing the behavior?
The execution of my activity in a subflow depends on a property in the root parent flow, and thus in the activity I want to get the property from the activity context using the following code:

taskInst := ctx.(*instance.TaskInst)
parentInst := taskInst.Host() // this is the new API that exposes the parent flow instance
myValue, ok := parentInst.ActivityHost().Scope().GetValue(myProp)

Additional information you deem important (e.g. I need this tomorrow):
I have a patch for taskinst.go as follows, and will submit a pull request:

// Host returns parent flow instance
func (ti *TaskInst) Host() *TaskInst {
	h := ti.flowInst.host
	ti.logger.Debugf("got flow host: %+v", h)
	if inst, ok := h.(*TaskInst); ok {
		return inst
	}
	return nil
}

Validate accumulate for iterator/dowhile only

Current behavior (how does the issue manifest):
Validate accumulate for iterator/do while only. we shouldn't allow the user to enable accumulate for a common tasks.
Expected behavior:

Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

Supporting label at link

Current behavior:
Today we have the link which links activity from one to another, but we don't have a label for those kinds of links.
Expected behavior:
We should support link labels to identify problems, we can easily show the link with the label when an error happens which would very helpful to quickly find the root cause.
What is the motivation / use case for changing the behavior?

Additional information you deem important (e.g. I need this tomorrow):

Concurrent issue when enable local state server

Current behavior (how does the issue manifest):
Enable local state server-client and run flow and sometimes it fails because of concurrent issues.

fatal error: concurrent map read and map write

goroutine 68 [running]:
runtime.throw(0x18f0892, 0x21)
        /Users/xli/sdk/go1.15.7/src/runtime/panic.go:1116 +0x72 fp=0xc0028d4658 sp=0xc0028d4628 pc=0x10382f2
runtime.mapaccess2(0x17fd500, 0xc0029a71d0, 0xc002834b40, 0xc002834b40, 0xc001b37950)
        /Users/xli/sdk/go1.15.7/src/runtime/map.go:469 +0x25b fp=0xc0028d4698 sp=0xc0028d4658 pc=0x1011a7b
reflect.mapaccess(0x17fd500, 0xc0029a71d0, 0xc002834b40, 0x18e5001)
        /Users/xli/sdk/go1.15.7/src/runtime/map.go:1309 +0x3f fp=0xc0028d46d0 sp=0xc0028d4698 pc=0x1067edf
reflect.Value.MapIndex(0x17fd500, 0xc00073a1f8, 0x195, 0x17c9ac0, 0xc002834b40, 0x98, 0x17e92a0, 0xc002834b30, 0x94)
        /Users/xli/sdk/go1.15.7/src/reflect/value.go:1189 +0x16e fp=0xc0028d4748 sp=0xc0028d46d0 pc=0x10a08ce
encoding/json.mapEncoder.encode(0x191c5f8, 0xc00193e500, 0x17fd500, 0xc00073a1f8, 0x195, 0x100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:801 +0x30d fp=0xc0028d48c0 sp=0xc0028d4748 pc=0x110ef4d
encoding/json.mapEncoder.encode-fm(0xc00193e500, 0x17fd500, 0xc00073a1f8, 0x195, 0x17f0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:777 +0x65 fp=0xc0028d4900 sp=0xc0028d48c0 pc=0x111b405
encoding/json.arrayEncoder.encode(0xc000304400, 0xc00193e500, 0x17bd7c0, 0xc002997d00, 0x97, 0x1100100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:886 +0xd6 fp=0xc0028d4958 sp=0xc0028d4900 pc=0x110fd16
encoding/json.arrayEncoder.encode-fm(0xc00193e500, 0x17bd7c0, 0xc002997d00, 0x97, 0xc0028d0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:879 +0x65 fp=0xc0028d4998 sp=0xc0028d4958 pc=0x111b505
encoding/json.sliceEncoder.encode(0xc0004f9a60, 0xc00193e500, 0x17bd7c0, 0xc002997d00, 0x97, 0x17b0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:860 +0x8f fp=0xc0028d49e0 sp=0xc0028d4998 pc=0x110f98f
encoding/json.sliceEncoder.encode-fm(0xc00193e500, 0x17bd7c0, 0xc002997d00, 0x97, 0xc002990100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:855 +0x65 fp=0xc0028d4a20 sp=0xc0028d49e0 pc=0x111b485
encoding/json.(*encodeState).reflectValue(0xc00193e500, 0x17bd7c0, 0xc002997d00, 0x97, 0xc002990100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:358 +0x82 fp=0xc0028d4a58 sp=0xc0028d4a20 pc=0x110c0e2
encoding/json.interfaceEncoder(0xc00193e500, 0x17e92a0, 0xc0026a5370, 0x94, 0xc0026a0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:714 +0xac fp=0xc0028d4aa0 sp=0xc0028d4a58 pc=0x110e54c
encoding/json.mapEncoder.encode(0x191c5f8, 0xc00193e500, 0x17fd500, 0xc0029a7ce0, 0x15, 0x17f0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:801 +0x35c fp=0xc0028d4c18 sp=0xc0028d4aa0 pc=0x110ef9c
encoding/json.mapEncoder.encode-fm(0xc00193e500, 0x17fd500, 0xc0029a7ce0, 0x15, 0xc0029a0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:777 +0x65 fp=0xc0028d4c58 sp=0xc0028d4c18 pc=0x111b405
encoding/json.(*encodeState).reflectValue(0xc00193e500, 0x17fd500, 0xc0029a7ce0, 0x15, 0xc0029a0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:358 +0x82 fp=0xc0028d4c90 sp=0xc0028d4c58 pc=0x110c0e2
encoding/json.interfaceEncoder(0xc00193e500, 0x17e92a0, 0xc0026a5320, 0x94, 0xc0026a0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:714 +0xac fp=0xc0028d4cd8 sp=0xc0028d4c90 pc=0x110e54c
encoding/json.mapEncoder.encode(0x191c5f8, 0xc00193e500, 0x17fd500, 0xc0029a7d10, 0x15, 0x17f0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:801 +0x35c fp=0xc0028d4e50 sp=0xc0028d4cd8 pc=0x110ef9c
encoding/json.mapEncoder.encode-fm(0xc00193e500, 0x17fd500, 0xc0029a7d10, 0x15, 0xc0029a0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:777 +0x65 fp=0xc0028d4e90 sp=0xc0028d4e50 pc=0x111b405
encoding/json.(*encodeState).reflectValue(0xc00193e500, 0x17fd500, 0xc0029a7d10, 0x15, 0xc0029a0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:358 +0x82 fp=0xc0028d4ec8 sp=0xc0028d4e90 pc=0x110c0e2
encoding/json.interfaceEncoder(0xc00193e500, 0x17e92a0, 0xc0026a5300, 0x94, 0xc0026a0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:714 +0xac fp=0xc0028d4f10 sp=0xc0028d4ec8 pc=0x110e54c
encoding/json.mapEncoder.encode(0x191c5f8, 0xc00193e500, 0x17fd500, 0xc0027cd418, 0x195, 0x100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:801 +0x35c fp=0xc0028d5088 sp=0xc0028d4f10 pc=0x110ef9c
encoding/json.mapEncoder.encode-fm(0xc00193e500, 0x17fd500, 0xc0027cd418, 0x195, 0x100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:777 +0x65 fp=0xc0028d50c8 sp=0xc0028d5088 pc=0x111b405
encoding/json.structEncoder.encode(0xc0002f8400, 0x9, 0x10, 0xc00031a510, 0xc00193e500, 0x18a3c20, 0xc0027cd3e0, 0x199, 0x200100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:759 +0x2ab fp=0xc0028d5160 sp=0xc0028d50c8 pc=0x110e9eb
encoding/json.structEncoder.encode-fm(0xc00193e500, 0x18a3c20, 0xc0027cd3e0, 0x199, 0xc0027c0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:730 +0x7f fp=0xc0028d51b8 sp=0xc0028d5160 pc=0x111b37f
encoding/json.ptrEncoder.encode(0xc00031a600, 0xc00193e500, 0x17ac1a0, 0xc0027cd3e0, 0x16, 0x100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:915 +0x125 fp=0xc0028d5278 sp=0xc0028d51b8 pc=0x110ff65
encoding/json.ptrEncoder.encode-fm(0xc00193e500, 0x17ac1a0, 0xc0027cd3e0, 0x16, 0xc001d00100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:900 +0x65 fp=0xc0028d52b8 sp=0xc0028d5278 pc=0x111b585
encoding/json.mapEncoder.encode(0xc0001912f0, 0xc00193e500, 0x17f9de0, 0xc002884c78, 0x195, 0x100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:801 +0x35c fp=0xc0028d5430 sp=0xc0028d52b8 pc=0x110ef9c
encoding/json.mapEncoder.encode-fm(0xc00193e500, 0x17f9de0, 0xc002884c78, 0x195, 0x100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:777 +0x65 fp=0xc0028d5470 sp=0xc0028d5430 pc=0x111b405
encoding/json.structEncoder.encode(0xc0001c06c0, 0x4, 0x4, 0xc00031a720, 0xc00193e500, 0x1870000, 0xc002884c60, 0x199, 0x17f0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:759 +0x2ab fp=0xc0028d5508 sp=0xc0028d5470 pc=0x110e9eb
encoding/json.structEncoder.encode-fm(0xc00193e500, 0x1870000, 0xc002884c60, 0x199, 0xc002880100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:730 +0x7f fp=0xc0028d5560 sp=0xc0028d5508 pc=0x111b37f
encoding/json.ptrEncoder.encode(0xc00031a810, 0xc00193e500, 0x17ac0a0, 0xc002884c60, 0x16, 0x17a0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:915 +0x125 fp=0xc0028d5620 sp=0xc0028d5560 pc=0x110ff65
encoding/json.ptrEncoder.encode-fm(0xc00193e500, 0x17ac0a0, 0xc002884c60, 0x16, 0x1f30100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:900 +0x65 fp=0xc0028d5660 sp=0xc0028d5620 pc=0x111b585
encoding/json.(*encodeState).reflectValue(0xc00193e500, 0x17ac0a0, 0xc002884c60, 0x16, 0xc0028d0100)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:358 +0x82 fp=0xc0028d5698 sp=0xc0028d5660 pc=0x110c0e2
encoding/json.(*encodeState).marshal(0xc00193e500, 0x17ac0a0, 0xc002884c60, 0x1810100, 0x0, 0x0)
        /Users/xli/sdk/go1.15.7/src/encoding/json/encode.go:330 +0xf4 fp=0xc0028d56f8 sp=0xc0028d5698 pc=0x110bcd4
encoding/json.(*Encoder).Encode(0xc0028d57d8, 0x17ac0a0, 0xc002884c60, 0x2a109040, 0xc002806db0)
        /Users/xli/sdk/go1.15.7/src/encoding/json/stream.go:206 +0x8b fp=0xc0028d5788 sp=0xc0028d56f8 pc=0x1118e2b
github.com/gorilla/websocket.(*Conn).WriteJSON(0xc000034420, 0x17ac0a0, 0xc002884c60, 0x0, 0x0)
        /Users/xli/gopath/src/github.com/gorilla/websocket/json.go:28 +0xed fp=0xc0028d5838 sp=0xc0028d5788 pc=0x141680d
github.com/project-flogo/services/flow-state/event.(*stepRequest).WriteMessage(0xc0002ce330, 0xc002884c60)
        /Users/xli/gopath/src/github.com/project-flogo/services/flow-state/event/eventlistener.go:117 +0x9c fp=0xc0028d5908 sp=0xc0028d5838 pc=0x141fd3c
github.com/project-flogo/services/flow-state/event.(*stepRequest).handleMessage(0xc0002ce330)
        /Users/xli/gopath/src/github.com/project-flogo/services/flow-state/event/eventlistener.go:97 +0x367 fp=0xc0028d59d8 sp=0xc0028d5908 pc=0x141fc87
github.com/project-flogo/services/flow-state/event.HandleStepEvent(0x1a45960, 0xc0004fe0e0, 0xc000340200, 0x0, 0x0, 0x0)
        /Users/xli/gopath/src/github.com/project-flogo/services/flow-state/event/eventlistener.go:148 +0x273 fp=0xc0028d5a70 sp=0xc0028d59d8 pc=0x1420293
github.com/julienschmidt/httprouter.(*Router).ServeHTTP(0xc0001fe100, 0x1a45960, 0xc0004fe0e0, 0xc000340200)
        /Users/xli/gopath/src/github.com/julienschmidt/httprouter/router.go:474 +0x8c7 fp=0xc0028d5b70 sp=0xc0028d5a70 pc=0x1409c87
github.com/rs/cors.(*Cors).Handler.func1(0x1a45960, 0xc0004fe0e0, 0xc000340200)
        /Users/xli/gopath/src/github.com/rs/cors/cors.go:219 +0x1b9 fp=0xc0028d5bc8 sp=0xc0028d5b70 pc=0x1423e39
net/http.HandlerFunc.ServeHTTP(0xc00030be40, 0x1a45960, 0xc0004fe0e0, 0xc000340200)
        /Users/xli/sdk/go1.15.7/src/net/http/server.go:2042 +0x44 fp=0xc0028d5bf0 sp=0xc0028d5bc8 pc=0x1339ce4
net/http.serverHandler.ServeHTTP(0xc0000fe0e0, 0x1a45960, 0xc0004fe0e0, 0xc000340200)
        /Users/xli/sdk/go1.15.7/src/net/http/server.go:2843 +0xa3 fp=0xc0028d5c20 sp=0xc0028d5bf0 pc=0x133d2e3
net/http.(*conn).serve(0xc00059a000, 0x1a47360, 0xc0002fe040)
        /Users/xli/sdk/go1.15.7/src/net/http/server.go:1925 +0x8ad fp=0xc0028d5fc8 sp=0xc0028d5c20 pc=0x1338aed
runtime.goexit()
        /Users/xli/sdk/go1.15.7/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc0028d5fd0 sp=0xc0028d5fc8 pc=0x106e7e1
created by net/http.(*Server).Serve
        /Users/xli/sdk/go1.15.7/src/net/http/server.go:2969 +0x36c

`Expected behavior:

Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

Adjust max steps count or remove it

Current behavior (how does the issue manifest):
Today we have a max step count set to 1000000. We running into the issue today that one of the app reached the size.
Expected behavior:

Should we consider to remove the max count limit or set another bigger value?

@fm-tibco Any ideas? Why we have this limitation from the beginning?

Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

Make dowhile and iterator consistence

Current behavior (how does the issue manifest):
Now it is looks like this:

    "settings": {
        "doWhile": {
            "condition": "=$iteration[index] < 5",
            "delay": 5
        }
    },

Expected behavior:
After:

    "settings": {
        "condition": "=$iteration[index] < 5",
        "delay": 5
    },
    "settings": {
      "iterate": "=$flow.orders"
      "delay": 5
    },

Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

flow and subflow go.mod not sync

Current behavior (how does the issue manifest):

  • last flow version is tagged v0.9.2,
  • but the subflow activity go.mod is using v0.9.0 and
  • there's no tag named activity/subflow/v0.9.2
    this causes the flogo app cannot load subflow activities, error message shows:
    unable to resolve subflow:...

Expected behavior:
can load subflow activity
Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X
v0.9.2
Additional information you deem important (e.g. issue happens only occasionally):

Export flow context variables in the mapper

Current behavior:
The flow context variables like flow name, flow Id and parent flow name and id in case of sub flow are not available to use in the mapper.

Expected behavior:
The flow context variables like flow name, flow Id and parent flow name and id in case of sub flow will be available to be used in the mapper.

What is the motivation / use case for changing the behavior?
User needs additional information about the flows while implementing the business logic. Making this information available will help the user to better design the flows.

Additional information you deem important (e.g. I need this tomorrow):

Print flow and tasks execution time in log

Current behavior:

Expected behavior:

We should print flow instance execution time and timing for executing each task.

What is the motivation/use case for changing the behavior?

Additional information you deem important (e.g. I need this tomorrow):

Having issue to support app property for loop delay field

Current behavior (how does the issue manifest):
Error report after configuring app property with loop delay field

error creating task [StartaSubFlow] in flow [dd]: strconv.Atoi: parsing "=$property[\"SyncStatus.Delay.DelayTime\"]": invalid syntax

Expected behavior:
Able to use app property in the delay field without any issue
Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

The error message is unclear when failed to create/eval link

Current behavior (how does the issue manifest):
Now
1.

 Failed to create engine: error creating link [] in flow [subflow]: unable to compile expression '=$flow.abc == "dddd"': error parsing expression
Error running handler: failed to resolve flow attr: 'abc', not found in flow

Expected behavior:
The error message should more clear for users

 Failed to create engine: error creating link in flow [subflow]: invalid expression [=$flow.abc == "dddd"] from task [log_2] to task [log_3]: unable to compile expression '=$flow.abc == "dddd"': error parsing expression
 Error running handler: error executing link from task 'log_2' to task 'log_3': failed to resolve flow attr: 'abc', not found in flow

Minimal steps to reproduce the problem (not required if feature enhancement):

Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):

Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X

Additional information you deem important (e.g. issue happens only occasionally):

Support shared data across the flow

Current behavior:
Today, there is no easy way to shared data access to multiple flows
Expected behavior:
Provide a way to support shared data access to multiple flows
What is the motivation / use case for changing the behavior?

Additional information you deem important (e.g. I need this tomorrow):
The shared data should be app level

recording each task's input in state server

Current behavior:
Today we never record input for state server, we should record it for the debugger.

Expected behavior:

Recorder the activity's input as well

What is the motivation / use case for changing the behavior?

Additional information you deem important (e.g. I need this tomorrow):

Expose a way to let user get flow instance id

Current behavior:
Today there is no way to get context data of flow instance id or flow name

Expected behavior:
We should expose a way to let the user get it by either

  1. $flow.FlowName
  2. $flow.FlowInstanceId

What is the motivation / use case for changing the behavior?

Additional information you deem important (e.g. I need this tomorrow):

multiple users

What is your question?
Hi,
Can I have a single flow used by multiple users where each user has his own credentials and data and not overlapped .. or from my app I can create multiple instance of the flow for multiple users where each user has his own flow?
this is what I want to do I have two saas apps I need to develop a connector for transfer data from one to another and this connector will be activated by the user by entering their own credentials .. can I do this scenario with flogo?
Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):
N/A
Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X
N/A

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.