Meta Node Extension

Hi,

I understand that to create a new node I need to create a Model that extends NodeModel, and create a factory that extends NodeFactory to go with it. The question is, how can I create a meta node? In the older version of Knime there was an abstract base class called MetaNodeModel (and MetaNodeFactory as well) that allows you to do so, but it seems like they have been eliminated in the new release. So is there a substitution approach that allows us to do so? I mean to create a reusable meta-node extension that will appear in the “node repository” view, instead of simply creating a meta workflow.

Cheers

Ha, I’ve finally figured out the solution myself. For those of you who also have the same question, there is no need to write any java code (other than the entry and exit nodes inside the sub workflow) to create a new meta node. In the new version, there is one more type of extension one can add — the org.knime.workbench.repository.metanode, which creates a meta node automatically once added :slight_smile:

Hello,

Could you be more precise? I do not know if that would be too much, but could you share some code on how to build something like a very basic example?

Best regards,

Carlos J. Gil Bellosta
http://www.datanalytics.com

The following are the steps in a little more detail :

  1. launch your project (which you are developing )
  2. create a meta node there (just as a normal user would do ) and design/add the sub-flow inside it
  3. in the runtime configuration folder there will be a folder created with the name of this meta node. copy the content of that folder to a folder under your plugin directory…and this way the metanode is copied in your plugin.
  4. add the metanode extension org.knime.workbench.repository.metanode and put in the relevant information as your metanode name and its working directory ( the directory in your plugin where you have copied the metanode ) and your metanode is ready…

so, you donot need to write any java code

Hi Carlos, A shameless self-promotion. :) (Hope once someone from KNIME will create a better description, or a similar wizard to the normal node generator.) Bests, gabor

Hi, I am trying to store a metanode in node repository by following the metanode description shown in org.knime.workbench.repository(pasted below).

Could someone explain more detail about step 5 (Fill out the attributes) ?

I would also like to confirm if "runtime workspace" is /Users/username/knime-workplace or not.

==========description==========

MetaNode

Identifier: org.knime.workbench.repository.metanode

Since: 2.0

Description: This description point allows to provide meta node templates in the node repository. In order to create a meta node template do the following:

  1. Create a meta node within KNIME
  2. Copy the referring directory from the runtime workspace
  3. Paste it into your plug-in directory
  4. Add the extension "org.knime.workbench.repository.metanode"
  5. Fill out the attributes: workflowDir:
    point to the directory containing the meta node (make sure to add the directory also to the binary build in build.properties
    name:
    The name is displayed as the name for your meta node template in the node repository
    id:
    For internal maintainance
    category-path:
    The path to the category where it is placed within the node repository
    after:
    Optionally specifiy a node after which the meta node template should appear
    icon:

    The icon is displayed in the node repository
    description:
    describe what your node template does. It is displayed in the node description, when your meta node template is selected

==========description==========