wrapped metanodes versus metanodes

I have been searching for explanations on what wrapped metanodes are good for. So far I found out that they seem to be useful to configure a group of nodes for streamed execution. (https://www.knime.org/nodeguide/control-structures/meta-nodes-and-wrapped-nodes/simple-streaming-and-wrapped-nodes)

And I also found this interesting quote:

As a rule of thumb: A metanode is for cleaning up your workflow. A wrapped node is for encapsulating complete functionality.
https://tech.knime.org/forum/knime-users/legacy-quick-forms-in-wrapped-nodes#comment-43314

Wrapped metanodes also appear to be useful to control import and export of flow variables into/from metanodes.

 

I already use normal metanodes. I have discovered wrapped metanodes today. They seem to be superior to normal metanodes. When does it make sense to still use the normal metanodes?

Could it be that normal metanodes are meant for hiding of workflow parts temporarily while wrapped metanodes are for putting related parts of your workflow into a permanent organisational unit?

 

And another question: Let's say I have copied a wrapped metanode several times in my workflow. Is it possible to change one copy and then automatically apply the changes to the other nodes?

 

edit: I also discovered another extermely cool thing: If you have quickform-nodes within the wrapped metanode, the metanode will have an automatic configuration dialog for these nodes. This way it is possible to configure these quickform nodes from the outside. This also explains why there is double-click and ctrl+double-click on the wrapped metanodes: The former is for configuration (or parameterisation) of quickforms and the latter for inspecting the contents of the wrapped metanodes. I guess the wrapped metanodes are supposed to be reuseable components that can be parameterized with quickforms. That is probably also why you can actually write documentation for a wrapped metanode and the in- and outports.

 

This is really cool stuff. This takes KNIME to a completely new level. It's kinda sad that these things are not clearly documented anywhere. Knowing the best practises of a plattform/programming language can help to create elegant solutions.

3 Likes

Hi Knot,

I think you already answered most of your questions yourself :-)

Yes Metanodes are more for hiding parts of the workflow, or as I wrote before, for cleaning up the workflow.

Wrapped nodes are for reusing functionality, because they can be configured (via Quickforms), their in and outports can be renamed, they can filter the flow variables from the inside to the outside, etc. 

We first had MetaNodes only. We than introduced the wrapped versions, because those should get a lot more features and we still want to stay backward compatible. Also the wrapped nodes can be used for our webportal, there each wrapped node is one page on the webportal.

I hope this was helpful, let me know if I forgot anything.

Best, Iris 

 

1 Like