Deploy Workflow with external jar and python scripts

Hi all.
What is the best practice to deploy a KNIME workflow with external jars and external python script to share this with colleagues? So that all dependencies are given. Used Node External Tools.

Put jars in your workflow folder and load them like a knime URL :“knime://knime.workflow/example.jar”
For python scripts is more complicated. If they have all the library installed in their Python installation you don’t have any problem. Otherwise you need to save in your workflow folder a Python environment with all the libraries and tell to your colleagues to use this environment as python executable.

Thank you. Now I got a next problem I want to execute the External Tool Node on the Knime server.

The attribute Input file to external tool: is to set with a path, is there an option to set this with a flowvariable
I think an absolute path is bad for multiple user use, what is the best practice for this?

Hi @Mink,

I suggest you use the “External Tool (Labs)” node rather than “External Tool”. The labs version has the default option to create a unique file name for the input file path, so this doesn’t depend on any absolute paths.

Does this help in your case?

Cheers,
Roland

Thank you @RolandBurger. At the External Tool Node I filled the textbox with default values and then the flowvariables are available and its possible to override with flowvariable :wink: I tested the workflow first local it works but on the server the flowvariable is different knime.workspace and knime.mountpoint is ther are a way to get the path from knime.mountpoint like knime.workspace?

Hi @Mink,

Maybe the Extract Context Properties node can give you the information you need?

Cheers,
Roland