How to install a specific version of an extension on the KNIME Server?

Hi there,
I would like to know if it’s possible to install specific versions of some KNIME extensions on the server?
Thanks in advance for any help.
Gio

@gcincilla Can you clarify what you mean by installing a specific version of an extension?

Each version of KNIME Analytics Platform or KNIME Executor has an associated update site version and when you install an extension it should install the latest version appropriate for that extension. For example if you are running version 4.7.x the update sites will install the 4.7.x versions of the extensions. Were as if you were running 5.2.x it would install the 5.2.x versions of the extensions. However, you wouldn’t be able to install a 4.7.x extension on a 5.2 version or vice versa, and even if you did somehow manage to it’s likely the extensions would encounter unexpected behaviors.

Hi @kpowney,
Thanks for your reply. I will try to explain myself better with an example.

Imagine we were running KNIME 4.7.x in the KNIME Executor with the following RDKit community extension: org.rdkit.knime.binaries.feature.feature.group/4.7.0.v202303171619.

Then the extension is updated on the Executor to the following version: org.rdkit.knime.feature.feature.group/4.9.1.v202312081930.

After the update we realised that this new extension version contains a bug that we need to avoid (while waiting for the bug fix). As we know that the previous version was not affected by the bug, we would like to downgrade the installation on the executor to the first one. How can we do that?

In this case the KNIME executor points to the same repository but as the first version of the extension is no longer the newest one, it seems that it cannot be installed. Is there a workaround for that?

Thanks in advance for any help.

Gio

Thank you for the clarification. I think for your use case the easiest option would be to use the Installation history to revert the update plugin. You can do this by choosing File > Install KNIME Extensions from the menu. Then on Install dialog find the link where it says “What is already installed?”. Clicking the link will bring up an Installation Details dialog. On the Installation History tab you can review the entire installation history and have options including the option to revert to a previous point. This is useful for rolling back after installing an updated extension that may be causing issues such as in your use case.

Outside of this option you might be able to force installation of an older version using the command line installation options. The CLI tools have options to allow you to specify the update site(s) to use (including local zip files) and feature(s). I haven’t ever tried to to install an older version this way so I am not sure if you can specify a version along with the feature. However, even if you can’t you should be able to force it to the version you want if you download an older update site that contains that specific extension version. Might take some trial and error to figure out exactly which files you need and what steps to follow. For more information on managing the extensions via CLI please see the KNIME Server Administration Guide section on Managing Executors:

https://docs.knime.com/latest/server_admin_guide/index.html#knime-executor-admin

Hi @kpowney,

Thanks for your reply and suggestions. I already knew the rolling back method using the GUI but unfortunately we have no GUI on our KNIME executor.

You have said that using the CLI we should be able to force the installation of an old version pointing to an older update site that contains that specific extension version.

I was thinking we can install the old extensions from a local update site containing them but in that case we would have extensions with the same ID in 2 different update sites. For this reason we need to specify that a specific extension Z should be installed from the update site X (containing the old versions) instead of Y (containing the new versions) and we cannot get rid of update site Y as we still need it to install extensions different from Z. Considering that the extension ID is version-independent, how can we specify that using the CLI?

Any help is appreciated.

Gio

You can simply append the version number to a feature name when installing from the command line: ... -installIU org.rdkit.knime.binaries.feature.feature.group/4.7.0.v202303171619. In case the extension is already installed in a different version and you want to downgrade, you have to uninstall it in the same call: ... -uninstallIU org.rdkit.knime.binaries.feature.feature.group -installIU org.rdkit.knime.binaries.feature.feature.group/4.7.0.v202303171619.

That’s great. Thank you very much @thor. I’ll try that and then we’ll update this thread.