The Flow Library doesn't know what modules a user has installed. The only information it has to go on is the node types in the JSON. If a type is provided by multiple modules, all it can do is list them. That's all it does. It's then up to you to identify which the right one is through whatever means available. But at least it has narrowed down the 2500 possible modules to 2 or 3.
A small suggestion: if the (public spirited) author of a new contributed node wants to avoid creating or increasing this ambiguity, he/she can just submit to the inspector the flow
[{"type":"newTypeName"}]
where newTypeName
is the name proposed for the type of the new node. If the name is not in use by another node in the library, the inspector should return *unknown*
as the module name.
It might be possible for the library to flag "conflicts" when (or before) a new node is added and report back to the author, suggesting a change -- although this is a bit Big-Brother-ish for my taste.
Unfortunately, all of the nodes listed in the example given are copies of an original so I'm not sure that the authors would take that step anyway?
You're probably right, especially for projects (like the dashboard nodes) that are forks or functional replacements of others.
Still, there are names like config
, input
, random
, counter
, and gate
that have been re-used in different contexts. Perhaps a note in the documentation (Creating Nodes/Packaging) could point to the Flow Inspector as a way to check whether the type name you propose has been used elsewhere.