Split Published Nodes Between Multiple Update Sites

I’ve been developing a set of around 40 nodes and recently decided to make 18 of them freely available to the KNIME Community, while preserving 22 nodes for commercial work. Hence I plan to have two update sites: (1) Free Community Edition, (2) Private Premium Edition.

My source tree looks like this:

- src
   - common
      - common_code_1
      - common_code_2
   - community
      - community_node_1
	  - community_node_2
   - premium
      - premium_node_1
      - premium_node_2

It should be possible to split the publishing of the nodes between two Update Sites without changing the source tree. I expect it to be as simple as creating two plugin.xml files.

But what are some best practices that will make this easy and clean? Should I look into creating some custom ant/maven scripts? Should I read the Buckminster or Tycho guide? Should I set up multiple Eclipse projects that use overlapping sources?

I’ve been trying to create new “Plug-in Projects” but can’t seem to get the dependencies to the main project right. The running KNIME Product seems to ignore the plugin.xml file for the new “Plug-in Project”.

Hi @Edlueze,
You need to create two different eclipse projects that contain distinct KNIME plug-ins. Then they can be installed from different sources and you have the least trouble with building them.

  • You should not use overlapping sources, instead create two projects, e.g. Community and Premium, with the Community project containing the community and common packages, the Premium project the premium package. Then let the Premium project depend on Community. Make sure you are exporting (runtime tab in the plugin.xml file) all packages from Community that you need in Premium.
  • The easiest way to create a new KNIME plugin with the correct project layout is to just copy an existing one whole and then adjust the parameters.

best,
Gabriel

2 Likes

Perfect! Thank you!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.