plugin.xml : category & node are not created

Hi,

what's wrong with the following plugin.xml ?

1) It doesn't want to create a new categoy: ERROR     main RepositoryManager     Category 'ngs' from plugin 'xxxx' could not be created in parent path '/NGS'.

2)  I defined two new Nodes for KNIME in this plugin but I can only see the second one.

 

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
  <extension
         point="org.knime.workbench.repository.categories">
      <category
            description="Next Generation Sequencing"
            level-id="ngs"
            name="NGS"
            path="/NGS"/>  
   </extension>
   <extension
         point="org.knime.workbench.repository.nodes">
      <node
            category-path="/"
            factory-class="package1.rs.RsFilterNodeFactory"
            id="
package1.rs.RsFilterNodeFactory"/>
     <node
            category-path="/"
            factory-class="
package1.load.VCFLoaderNodeFactory"
            id="
package1.load.VCFLoaderNodeFactory"/>
   </extension>
</plugin>

 

Thanks for your help

1) Does the parent path "/NGS" really exist? There is no such category in the base KNIME distribution.

2) If a node cannot be loaded, there are error messages with reasons on the console and in the .metadata/knime.log of your runtime workspace.

Thanks for your quick answer. I changed

<category
            description="Next Generation Sequencing"
            level-id="ngs"
            name="NGS"
            path="/NGS"/>  

to

<category
            description="Next Generation Sequencing"
            level-id="ngs"
            name="NGS"
            path="/"/>  

but I still can't see any Node named 'NGS'.
Should I see this node even if it has no children ?

2) thanks, that was helpful too, I copy-and-pasted the old factory.xml definition, that why it was badly labeleled.

Pierre

4 years later, same problem :-)

<?xml version="1.0"?>
<?eclipse  version="3.0" ?><plugin>
  <extension point="org.knime.workbench.repository.categories">
    <category level-id="test2" name="test2" path="/" description="test2" icon="icons/default.png"/>
  </extension>
  <extension point="org.knime.workbench.repository.nodes">
    <node category-path="/test2" factory-class="a.b.c.test2.head.HeadNodeFactory" id="a.b.c.test2.head.HeadNodeFactory"/>
  </extension>
</plugin>

error:

ERROR	 Worker-2 RepositoryManager	 Category 'test2' from plugin 'a.b.c.test2.head' could not be created in parent path '/'.

how can I fix this ? furthermore, is it a problem if a node or a category don't have an icon (or i the icon was not found)

 

Thank you,

P.

Hi,

you can't use the "/" path anymore. Only the "/community/" path is accessible for community extensions.

Categories and nodes with no icon will be accepted by Knime. The icons will just be replaced by default ones. This practice is strongly discouraged, though, as outlined in the noding guidelines. Not for technical reasons, but because of usability.

it worked ! thanks.

Hi,

I've the same problem.

If I launch Knime Desktop 2.12 from the Knime SDK 2.12, I've the hierarchy I want my my main category at the root level. Let's say /MyCategory

Now, If I launch Knime Desktop 2.12 independly and then want to install my nodes through the "Install New Software", then it fails.

I got message like:

ERROR RepositoryManager               Category 'MyCategory' from plugin 'com.mycompany.knime.mycategory' could not be created in parent path '/'.

And that's disturbing. To generate the node archives (that's also known as generate the update site archive  I think), I use the buckminster package.

 

Is there a well detailled description on "how to define the archive nodes" somewhere? (with buckminster or another library)?

If it's now forbidden to create a category at the root level, what are the reasons behind it?

Thanks

 

Yannic

 

edit: to fix some spelling issues

I think you now need to specify an icon for the category - you can still create categories at the top / level, but categories fail to create properly without an icon specified.

Regards Buckminster, there is some useful information here:  https://www.knime.org/files/kos-12/kos_days_2012_-_plug-in_guidelines.pdf

Here also has a lot of useful information: http://wiki.idempiere.org/en/Developing_Plug-Ins_-_Continous_Integration_with_Jenkins

Essentially, you need to create a new feature which defines your update site, and include in it any core plugins required by all features, and any individual features.  To see them in the update site, you need to have the build.properties contain something like:

category.id.my.update.site.category=My Nodes
category.members.my.update.site.category=my.first.feature,\
			my.second.feature
category.description.my.update.site.category=My nodes which do something
bin.includes = feature.xml

You also need buckminster.cquery and possibly .cspex files, and most importantly of all, the buckminster.rmap file which tells buckminster where to look for components during the build (some will be in your workspace, and some maybe on e.g. the KNIME or eclipse update sites)

Steve