-
Notifications
You must be signed in to change notification settings - Fork 15
Start Developing
To start developing for GKN, the followings steps are required:
-
Install the latest KNIME SDK from http://www.knime.org/node/81, open it and choose a workspace folder
-
Install the KNIME File Handling Nodes and KNIME Testing Application packages from the KNIME Update Site repository (via Help - Install New Software).
-
Clone this repository in that SDK workspace folder (atm we're using command line git in that folder on the file system), this will create a folder GenericKnimeNodes
-
Load all the repository projects from the just generated folder in the SDK via File - Import - From Existing Workspace - Root directory
-
Create a new Run Configuration called "KNIME testing instance" via Run - Run Configurations - New Launch Configuration (there's a little file icon in the top left, it has a golden plus), leave all the settings on default, except for "Program to Run" on the Main page, set Run a project to: org.knime.product.KNIME_PRODUCT. Extra settings can be found on http://tech.knime.org/test-your-node
All your plugins will be loaded into this KNIME instance the way a user will see them, you can launch it via the Run - Run Configurations dialog.
Now will be the moment to generate a first sample node with com.genericworkflownodes.knime.node_generator, and look whether it appears in the KNIME testing instance
-
Expand com.genericworkflownodes.knime.node_generator, right click on "Generate Sample - OpenMS.launch", and select Run As: Generate Sample - OpenMS. This will generate the plugins for KNIME in GenericKnimeNodes/build.
-
The plugins in this folder can now be loaded in your workspace, which will also enable them in the KNIME testing instance (also via File - Import - From Existing Workspace - Root directory)
-
Launch the KNIME testing instance and see OpenMS nodes in the Community Nodes!
If you are getting errors, first do a refresh on your workspace, and do Project - Clean to make Eclipse rebuild all the files, which it doesn't always do, generating errors that are not in the code.