Created Design: subflows (markdown)

Nick O'Leary 2014-08-23 03:02:33 -07:00
parent 04db02ebf9
commit 80f0442186
1 changed files with 47 additions and 0 deletions

47
Design:-subflows.md Normal file

@ -0,0 +1,47 @@
A subflow is a set of connected nodes that can be easily referenced and reused within a larger flow.
A subflow is represented as a single node in the workspace which can be opened up in a tab to see the underlying flow.
A subflow can be used in one of two modes: (this is tbd. Might just stick with singleton for v1)
1. Singleton : only one copy of the flow exists.
2. Instance : each reference to the subflow is its own copy.
### Creating a subflow
1. User selects some existing nodes.
2. Selects 'convert to subflow' option.
4. Dialog opens to name the subflow.
3. Nodes are removed from workspace and replaced by a subflow node.
4. Subflow node added to palette
**Questions:**
* how to automatically identify the input/output ports to map to
* what restrictions should be applied?
* a single, continuous flow of nodes - aside from comment nodes
* only one 'left most' node
### Editing a subflow
1. Double click subflow node.
2. Opens in closeable tab containing the flow.
**Questions:**
* how to rename the flow? Via subflow sidebar tab?
* how to pick singleton/instance mode?
### Delete subflow
1. Open a subflow sidebar tab that lists all subflows with usage count (cf config node tab - perhaps combine them...?)
2. ...
## Definition
...