Last night, Isaiah said:

> It would be very helpful to know what people want it to do.
> (Otherwise I'll be making something that everyone but me thinks is  
> useless)

While producing something useless isn't a complete waste of time if  
it helps the developer understand GNUstep development better, it  
doesn't help the project much.  With this in mind, I thought I'd open  
up the discussion, and see what it is we actually want from Workflow.

At the basic level, I think I want some kind of dataflow computing  
design tool.  Something that allows me to construct a filter graph  
representing some kind of workflow.

Simple workflows could be constructed using the existing action  
mechanism with a little extra metadata.  Filter A could invoke an  
action in Filter B.  B would then call-back to A to retrieve the  
passed objects.  This would just require a mechanism for defining the  
selector that B should use (and A should respond to).  This seems  
like a bit of a hack though.

You really want a mechanism of 'pins,' where a source pin can be  
connected to a destination pin, the two can negotiate content types,  
and then the source can signal the destination that it has some data  
waiting.  This could be implemented on top of the action mechanism  
using a well-defined protocol, if the source called the action,  
passing itself as the sender, and the recipient then used a call- 
back.  This would limit us to a single 'out' pin per filter, however,  
which I think is limiting.

The destination filter could be connected to the source in an  
outlet.  This might work quite nicely, since the source could then  
check which out pin the callback caller was connected to.  It could  
then proceed with the content type negotiation.

If we re-use existing mechanisms, then the next question is how much  
of Gorm and StepTalk should be used.  Gorm would allow workflow  
components to be connected, but the UI isn't ideal.  Would it be  
better to replace Gorm, or add to it?  My feeling is that we will  
still want to use Gorm and the StepTalk palette for creating Workflow  
filters, but we won't necessarily want to use it for building filter  
graphs (although we might want to use some of the Gorm code...)

Ideas?  Thoughts?  Comments?  Random insults?

David

_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à