I made a post Improvement Idea: Make it easier to explore connections between nodes in a workflow. today and @Iris reacted immediately suggesting to introduce metanodes to make large workflow less cluttered. This made me think about what I dislike about metanodes so I don’t use them much often. The most obvious issue for me is metanodes ports get easy unclear when their number rises. Let’s consider wrapping a cohesive part of a workflow into metanode. I often end up with something like this:
The logic within the metanode joins couple of tables and merges current data with new and updated records. It doesn’t interact with database so it produces merged data as one table and data to be inserted and updated as another two tables. We can see it’s hard to distinguish among input ports. I believe this could spare much time we usually spend on investigating workflows or solving problems.
What I think could help would be if there were an option to name the ports in the metanode configuration dialog and these names showed up when the mouse is over a particular port.
You want to use a component rather than a metanode and you should get the desired behaviour.
This can be achieved with components if those are a viable alternative. <-- what I really meant
I must have misunderstood I though this behaviour was what you were asking for:
Edit: to get this behaviour you have to fill in the component details first which can be done using the Description view when inside a component.
Sorry, but this topic focuses Metanodes rather than Components.
Edit: I haven’t mentioned this fact in the topic name. It’s my fault. But I state it in its description.
Ah sorry the no I don’t was to using components not that they don’t give your desired behaviour.
Fair enough. I’d still switch to using components personally but the behaviour would improve meta nodes none the less.
I unfortunately need to agree with @swebb
The idea of metanodes is for cleaning up your workflow. They are like folders and do not bring additional functionality.
A component on the other hand brings you the advantage of packing everything together and being able to document this.
Is there anything you are missing in the components so you can easily shift over?
(One thing I hear often: You need longer to open them. This is fixed by knowing the short cut for opening. CTRL + Double Click opens the workflow contained in the component.
I do use Metanodes where I want to clean my workflow. As you stated in Improvement Idea: Make it easier to explore connections between nodes in a workflow. : “With these workflows my first recommendation would be a major cleanup using metanodes.” You didn’t mention components.
In accordance with what you stated there, I use Metanodes to clean up my workflow and I use Components when I identify a cohesive and possibly reusable piece of code. And I usually make the component shared to make it really reusable.
Well, this is why I have to prefer Metanodes over Components in some cases:
- Using workflow credentials inside components
Wrapped Metanode with Quickforms in inactive branches together with Wrapped metanodes in inactive branches stop the workflow These two issues origin from the pre-Components era so they point Wrapped Metanodes. I reproduced the issue with Components in 4.1.2 today.
I still vote for making it possible to name ports of Metanodes. Thank you.
issue from point 2 has been resolved and fix is available in both in KNIME versions 4.2.0 and 4.1.4
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.