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.
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.
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: