What is your propossal for two or three cases of use, in order to work them?
hermanjunge
Sent from my iPhone
On Tue, Oct 11, 2011 at 12:30 PM, Martin Wawrusch <mar...@wawrusch.com> wrote:
> * The actor layer (hook.io) needs to remain as lightweight as possible.
Certainly. NoFlo should extend how Hook.io works, but Hook.io should
be fully operational without it.
> * I would love to see a standard but optional meta data layer that describes
> a hook (events, directions, types, namespaces) for discovery through tools.
> This should probably be part of the package file.
Agreed. That is basically what a NoFlo component would do, wrap an
existing hook with this metadata.
One idea I've been toying with was being able to declare the event
payload with JSON schema (http://json-schema.org/), so for example the
drawing tool I'm working on could know what can be connected with
what.
> * I do not like that NoFlo combines multiple components in one npm (actually
> the core npm), the hook.io approach with one component per npm will be
> better in the long run.
The current solution is an interim one. I was thinking of having
components grouped by an area of functionality (say, components
related to HTTP serving and request handling) in an NPM package. And
then having a browserify-like additional key in package.json where you
can declare the components a package provides.
This way we can easily know what components/hooks user has installed.
> * I really like how clean the Coffeescript implementation of a component is.
> I am writing my first hooks right now and I am struggling with this a bit in
> hook.io
Thanks! I'm still not 100% happy with the component API, but it is
indeed cleaner than what my first version was.
> * I think NoFlo DSL and routing should sit one layer above core hook.io, as
> a specialized hook
Yep. Hook.io provides the "plumbing", and NoFlo provides a
higher-level way of handling how hooks are connected with each other.
> * I am sure the community here will gladly help in creating hooks from the
> components, if you coordinate it.
That'd be great. I first need to port NoFlo to run on Hook.io, and do
the API design on how the relation between "plain Hook.io hooks", and
"Hook.io hooks that are also NoFlo components" looks like.
Oh, and I hope soon we'll have a nice way of visualizing (and drawing)
how your hooks are connected in the NoFlo graph:
http://www.jointjs.com/demos/run.html?unit=devs
/Henri
--
Henri Bergius
Motorcycle Adventures and Free Software
http://bergie.iki.fi/
Jabber: henri....@gmail.com
Microblogs: @bergie