Customizing KNIME AP installation

We are currently using AP 4.5.2 but I believe this question would traverse versions. We are trying to create a KNIME AP install that has some customizations for the workspace name and the update sites available after the installation. Our internal customers have to install from our internal sites and cannot pull directly from KNIME. We want this setup correctly after the software center installation and do not want every customer to have to change the settings.
We did find the knime_4.5.2\configuration\config.ini file with the osgi.instance.area.default=@user.home/knime-workspace setting so we can change the workspace name. This works correctly.

We found the update-sites file,

knime_4.5.2\plugins\org.knime.product_4.5.2.v202203101316\update-sites.txt

we tried using that file to change the list of available sites. This does build the site list and it looks like it works, but when you try to install an extension it fails. If we manually update the site list, it does work so we know the site is functional. Comparing the
/p2/org.eclipse.equinox.p2.engine/profileRegistry/KNIMEProfile.profile/.data/.settings/org.eclipse.equinox.p2.metadata.repository.prefs
and the
/p2/org.eclipse.equinox.p2.engine/profileRegistry/KNIMEProfile.profile/.data/.settings/org.eclipse.equinox.p2.artifact.repository.prefs
from a manually updated change and the update-sites.txt change, it looks like several parameters are set differently.
Is the documentation on how to use the update-sites.txt file or is there a better architected way to do this, like the config.ini file worked for the workspace?

Note that the above changes work fine in the Mac builds and do not work the same for the sites in the Windows builds.

thank you.

2 Likes

Here are some ideas that I have used recently with other KNIME customers (both AP and Server).

Setting the location of the workspace, and the name can be passed in a command line parameter.

knime.exe -data c:\users\jeff\nkime-workspace

also
knime.exe -data c:\users\%USER%\myKnimeWorkspace

You can take the KNIME AP shortcut, and modify it to pass the -data parameter and location. This will work on all platforms, as long as the path to the workspace is correct for the platform.

As for the update sites there is a feature of KNIME Server that allows cusomizations to be applied to KNIME Analytics Platform. One of those customization is the list of update sites.

See here

If you plan on pre-populating the workspace with certain files or workflows, then it may be possible to edit/adjust some fo the files in there to install or remove certain repository sites. Specifically, there is a file, under the .metadata folder in the workspace, .plugins/org.eclipse.core.runtime/.settings/org.knime.product.prefs

This may allow you to add/remove certain sites, but I have not done anything with this file, so it would need testing.

Editing or changing files in the plugins or configuration directories is not advised as these may get removed/overwritten on an update, or possibly can change the behavior in a negative way. I would only suggest changing these if a KNIMEr has instructed you and/ you have thoroughly tested the change.

1 Like

Thank you responding to my post. We are really digging into the multi-user install possibilities as brought up here: FAQ | KNIME
We would like any new user to get the appropriate paths listed in the updates. There is no real easy way to pre-configure a workspace since we really don’t know what user will be starting the product. Following the eclipse documents referenced in the FAQ above we do have KNIME AP creating separate eclipse configurations for each user in users and the config.ini change gives them our preferred name for the workspace.
Since we won’t have a pre-built workspace, we can’t just configure within that workspace, so we are trying to back up the chain to get only the desired paths pushed when the workspace is built. This should also prevent the undesired paths from being added in a switch workspace situation.
Since this is eclipse, there should be a way to customize the configuration correctly. We followed the documentation and have some of it working, just not all of it.

Note that we are aware of the server possibilities. We don’t currently have KNIME Server and due to the monetary expense it is not currently in the plans.