I have two small question on the development process of knime nodes
1.) Is there a documentation how to develop custom ports? I found bit's and pieces but now details or structured tutorial
2.) Is there a way to develop multiple different nodes in one eclipse project?
Context: I intend to do something similar to the SQL or DL4J integration.
My idea is to have a bunch of model definition nodes and a few execution nodes.
For the definition nodes I want to use my custom port objects, where I send the model in serialized form.
As there are many different nodes which I need, it would be nice to develop all nodes in one one project and more specifically one package.
E.g. I need several nodes which take two models combine them with a function. So most nodes will share a large portion of code.
Last but not least is it possible to programatically exchange the icon of a Knime node based on the configuration?
You can have multiple nodes in one package but this would make it more difficult to navigate your code?
The icon is defined in the xml file, so I wouldn't expect you could change this programatically unless you are changing the image itself.
> E.g. I need several nodes which take two models combine them with a function. So most nodes will share a large portion of code.
Could you node not create your own custom node model (extend NodeModel) with your shared methods/code and then the actual node would extend your CustomNodeModel rather than KNIME's NodeModel? A have my own internal implementation of NodeModel and SimpleStreamableNodeModel (may not be correct class name) that handle the repeated code they all all.
You'd still need to create a new node for each indepenent task but you can reuse your code.
W.r.t ports I don't recally if I read some documentation or just looked at existing implementations when I created mine.