There are only a few requirements for becoming a Community Contributions:
- Your contributions must be free to use by everyone without any restrictions (except restrictions enforced by laws and government regulations), so e.g. no local licenses or non-free API keys for web service access,
- it should have a decent quality and obey the KNIME usage principles, and
- it should be of interested to KNIME users.
If you want to provide your extension to the Community Contributions there are essentially three ways to do it:
- You use our Subversion repository for your source code. The nightly and stable builds are built directly from the SVN. This is the preferred way.
- You use your own version control system and our build server gets (read-only) access to it.
- You build a p2 Update Site yourself and we automatically fetch the binaries every night.
In any case you should follow the steps below:
- Write a short mail to us or post in the Community Contributions sub-forum in order to get write-access to the SVN repository. We need to know your forum login name because it is used for the SVN repository, too. If you are using your own version control system tell us how we can access it.
- Add your plugin(s) and one or more features to SVN. Please name the feature something like "org.mydomain.usefulstuff.feature" (i.e. append ".feature" at the end). Make sure that the plugins' and features' names as well as the names of the corresponding Eclipse projects match their directory names.
- Provide sensible information in the MANIFEST.MF of your plugins and feature.xml of your features (e.g. short description, provider name, copyright and license information, etc. pp.).
- The fourth part of all version numbers (plugins and features) should be ".qualifier", e.g. "1.2.3.qualifier". This gets automatically replaced by the timestamp of the last change. Otherwise you are free in your versioning scheme.
- Copy the buckminster.cspex from the trunk's root into the root directory of your plugins (not the features!) if your plugin contains nodes. This ensures that help files are generated.
- Make sure your projects do not contain any errors. Also MANIFEST.MF, feature.xml and build.properties should not contain any warnings. Otherwise this may break the nightly build.
- If your plugins need any external plugins or features other than the ones on the KNIME Update Site, please drop us a note. Otherwise the nightly build won't work.
- Tell us once you are finished with the above steps so that we can include your feature into the build.
- If you think, that your have reached a stable state that should be included in the stable releases, branch it into the corresponding folder inside branches.
- Add a description of your extensions, probably also including some examples, to the community contributions section of the website.
If you have any question, do not hesitate to ask! If it may be of interest for other users or developers as well, please use the forum.