Cannot see my custom KNIME node in "Node Repository" pane of KNIME

I develop a simple custom KNIME node by following this article:

https://tech.knime.org/developer/example/extension-wizard

It works properly in KNIME - Eclipse SDK environment.  I have hard time to deploy the KNIME node successfully.  It is treated as Eclipse plugin.  I have a feature project and site project built around that.  The KNIME "Help"->"Install New Software" option appears to recognize the custom KNIME node and install it without issues.  The "Help"->"Install Details" option also shows the custom node is among other plugins being installed in KNIME.  However, the "Node Repository" does not show the custom node.

I am wondering what I miss while building the plugin, feature project and site project.  Thanks in advance.

Few questions which might help.

1 - Did you create a node description XML file with the same name as the node factory class?  If this is not present or malformed the node will appear with the name MyNodeName if the node factory class is called MyNodeNameNodeFactory

2 - Did you add the node to the plugin.xml with a path to place it in the node repository? You can also add one or more folders to place the node in here

3 - Can you see the node OK if you start up KNIME from the SDK in the debug configurations?

4 - Have you checked in the 'Uncategorized' folder in the node repository?

Steve

Thanks Vernalis-Developers for your quick response.  

Answers to your 4 questions:

1. Yes, I have a XML file defined.  It has descriptions of the "Configure" parameters and input/output ports.

2. Yes, I have a plugin.xml file that defines the repository and categories.  A small 2 level hierarchy is defined above the custom KNIME node.

3. Yes, I test the KNIME node plugin in debug configurations.  It works properly.  A test workflow could be constructed using the custom KNIME node.

4. No, I don’t even have the ‘Uncategorized’ folder in KNIME’s Node Repository.

I have exported the KNIME node into a zip file and placed it in the “dropins” directory of KNIME installation.  It does not seem to do anything even after restarting KNIME.  I try another way which is to create a software deployment site using this tutorial:

http://abhinandanmk.blogspot.com/2012/11/eclipse-plugin-development-deployment.html

The KNIME “Help”->”Install New Software” appears to pick up the custom KNIME node from the installation site but the custom node does not appear anywhere in KNIME.

I wonder if the feature project and site project need more information about the KNIME node for KNIME’s consumption.  Thanks again.

 

1 - 4 is good!  I guess the only other thing I can think to look at is whether in the version of knime you installed into from your update site whether you can see your plugin jar or folder and feature in the /plugins and /features directories of the knime installation, and whether you can see all your class files in those jars if you unzip them?

When I had a misterious case of missing nodes it was because the plugin wasn't being started. 

There's various ways to see what state an OSGi plugin is in. I'd first put a debug message in your plugin activators start method to see if your plugin is being loaded at all. (check the console or the log for your message)

Hello All, thanks for all your comments.  They help me to reflect what was done in each step.  It finally works.  The custom node appears in KNIME.  All three options in the "Deployable plug-ins and fragments" dialog were tried.  The "Install into host. Repository" did not work initially.  However, it generated a .jar file, which was deposited in the "dropins" directory of the KNIME installaiton subsequently.  The custom node finally appeared.  This article has more information on plugin deployment:

http://www.vogella.com/tutorials/EclipsePlugin/article.html#local-deployment-of-your-plug-in

Glad you got it working.

Incidentally, there is a KNIME blog post on generating update sites for deployment using Buckminster at https://www.knime.org/blog/creating-knime-update-sites-with-buckminster - if you are wanting to share your nodes with other users then this is well worth considering - it is a bit of initial overhead to set up, but once that is done it makes generating new update sites relatively trivial (and no need to keep moving files in and out of the dropins fodler when you want to update!)

Steve

Thanks Steve.  I have learned about Buckminster and will do some study on that.  At least we have a reliable way to deploy KNIME nodes.  That becomes our baseline.  Thanks again.