Creating a node in KNIME

Dear all, 

I'm new to this website and KNIME software. I want to create and code my own node. I searched plenty of websites in the Internet including the tutorials in this website; however, I could not find the answer to how to create a node. Just the link: is for the very first steps of node creation. I downloaded KNIME SDK from the website and installed it which provides Eclipse IDE. Then I created a node and some exemplary codes came to the window which do nothing when I run the node. I don't know how it works even.

Could any of you help me in this? How can I start coding for the node after creation?

Could any body tell me how to create a very simple node which sums up two digits as an example?  

Please help me over this. I could not understand the numeric binner sample in the website even. However, I need to write a new node. Please help me.

Thanks in advane.

Hi Hamed,

what you don't understand exactly? Where did you get stuck in trying to reproduce the example?

BTW, how would you rate your level of knowledge of Java programming in general?

Do you know you can "build" your own special nodes in KNIME without programming? You can use metanodes and wrapped metanodes, together with Quickforms to make them flexible and configurable. Did you consider this option?

You can also use Snippet nodes (Java, R, Python) which allow you to code directly your own data transformations without having to deal with the SDK.


Dear Mr. Ghislanzoni

Thanks a zillion for your great reply. I followed your 4-part tutorial on your website and it really helped me undersatnd basics of KNIME and workflows. I even emailed you and asked for my probelm. Now, I am very pleased that you are answering me.

I've gotten stuck in creating a new node in Eclipse, I just created the node but don't know how to program. I got lost. I even dont' know how to code a simple node in order to get a simple input and generate an output.

Well, honestly, I didn't know it was possible to generate a node without Java. Now that I saw you metioned, I think I should consider them. But I even don't know the other ways either.

About my programming knowledge I should say that I am not a professional but I need to generate a new node for KNIME.

I mainly program with C# and as I got familiar with KNIME, I thought I need Java and so, I started learning Java but I only have its rudimentary knowledge for now.

I really appreciate your replys Mr. Ghislanzoni and I'll be very pleased if you help over it. I was wondering if you can tell me what to do.

Thanks in advance.



Please help me.

I think in this case you have to accept that you are facing a lot of learning. There is no easy way. I would suggest taking some Java courses, learn about OSGi, eclipse. Once you are familiar with Java (probably at least 2 months if you are good at C#), you might want to attend the KNIME developer training. In case you need a new node before going through this learning, I would suggest to hire someone to create that node for you. (KNIME does sponsored development, but others do too.)

Cheers, gabor

Thank you Garber. So in your idea for some one like me who has rudimentary knowledge of Java it is not possible to create a KNIME node?

Would tell which part of Java I need to learn? Is there any special part to go through?

Anyhow, thank you Garber for your reply.



Hi Hamed,

I think a basic knowledge of Java (at least compared to an another mainstream language to C#) is a requirement (I guess other JVM languages would also work if they support OSGi, so Scala, Kotlin, Ceylon, ... would be also ok). I cannot suggest good documentation for Java as I studied it ages ago and since then I have just updated my and tried to improve my knowledge. The KNIME development after that will not be hard. When I first tried, it took me 5 days to implement a not too simple node. In case you need to distribute the node, it will take a bit longer as (especially if you want it automated), I guess that is the part (and the advanced constructs like streaming, JS views) when the KNIME training would really help.

Which part of Java to learn? It depends on your future requirements for the nodes. In case you need to connect to web services, probably apache cxf or other library is a need to know. In case your node requires complex configuration, Swing knowledge is inevitable. KNIME has quite good abstractions, so it will guide you through the development, but for the actual code, you will be mostly on your own (do not worry, Java is not a hard language and has lots of documentation, forums, stackoverflow questions). I would first start with comparisons between C# and Java as I understand you are familiar with the former. So in a nutshell: OSGi, eclipse, Swing and all other technologies, libraries that you will need. After that, it is not too hard, but it takes time to get there.

Cheers, gabor

Bonjour à tous,

JE suis debutante avec la plateforme Knime, je souhaite developper un plugin pour cette plateforme, je ne sais pas si le developpement de ce plugin ce fait avec Eclipse ou bien avec la plateforme Knime analytics directement.

Merci pour votre réponse 

Please start a new thread for you question and we would prefer english a lot :-)

Best, Iris