Introduction

KNIME Business Hub is a customer-managed KNIME Hub instance. Once you have a license for it and proceed with installation you will have access to Hub resources and will be able to customize specific features, as well as give access to these resources to your employees, organize them into Teams and give them the ability to manage specific resources.

Once you have access to a KNIME Businsess Hub instance available at your company, you can use KNIME Business Hub to perform a number of tasks such as:

  • collaborate with your colleagues,

  • test execution of workflows,

  • create and share data apps, schedules, and API services

  • keep track of changes with versioning.

This guide provides information on how to use KNIME Business Hub from a user perspective.

To install and administrate a KNIME Business Hub instance please refer instead to the following guides:

Connect to KNIME Business Hub

You can use a standard web browser to connect to your KNIME Business Hub instance, once you are provided with the address (URL) and your access credentials - username and password.

After providing them you will be able to access to the home page of the KNIME Hub.

img home page hub
Figure 1. A KNIME Business Hub instance home page

Now you can use the search functionality by typing your search terms into the search bar. The search will show results among all the Hub items that are available to you, based on your role and the items permissions.

Your user will be assigned to one or more teams so that you will be able to work on projects together with your colleagues.

Connect to KNIME Business Hub from KNIME Analytics Platform

To connect to KNIME Business Hub from KNIME Analytics Platform you have to first add its mount point to the KNIME Explorer.

KNIME Explorer

The KNIME Explorer, on the left-hand side of KNIME Analytics Platform, is the point of interaction with all the mount points available.

By default the KNIME Explorer displays:

  • The LOCAL mount point, which has access to the chosen workspace, a folder on your local system

  • The EXAMPLES Server where a number of example workflows made available by KNIME are stored

  • The KNIME Hub mount point where you can connect to your profile on the KNIME Community Hub and have access to your spaces

From here you can also access a KNIME Business Hub instance, by adding the Hub mount point.

For a detailed guide to the functionalities of the KNIME Explorer please refer to the KNIME Explorer section of the KNIME Workbench Guide.

Setup a mount point

Go to the KNIME Explorer window and click the preferences button in the toolbar as shown in Figure 2.

img explorer preferences button
Figure 2. The Preferences button of the KNIME Explorer toolbar

In the preferences window click New… to add the new Hub mount point. In the Select New Content window, shown in Figure 3, select KNIME Hub and insert the Hub address.

img add hubspace
Figure 3. Select New Content window to add a new KNIME Hub mount point

In the Mount ID field the name of the mount point will be automatically filled. Finally click OK and Apply and Close.

Now a new mount point is available in the KNIME Explorer, as shown in Figure 4.

img explorer with hub
Figure 4. A KNIME Hub mount point in the KNIME Explorer

Open the KNIME Hub mount point in the explorer and double-click Double-click to connect to KNIME Hub. You will be prompted to insert your access credentials.

Now you will see all the spaces that you have access to and you can upload workflows, components or data files from your local workspace to the KNIME Hub instance.

Here you can perform different types of operations on:

  • Spaces: you can create a new space, change the name or delete an existing space. When you create a space you will choose under which team you are part of to create the space, and if you want to create a public or a private space. You can also open the space page on KNIME Hub or copy the link to the space. To do this right-click the space from the KNIME Explorer and select the desired option from the context menu that opens.

  • Items:

    • Upload items to your team KNIME Hub spaces, download, move, delete, or rename your items. More information about this functionality is provided in the next section.

    • Open workflows as local copy or on KNIME Hub, or copy their URL. To do so right-click the desired item and select the options from the context menu.

    • Create workflow groups, which are subfolders that you can use to organize your items in the space. To do so right-click the space and select New Workflow Group…​ from the context menu.

KNIME Hub view in KNIME Analytics Platform

A KNIME Hub view is also available in KNIME Analytics Platform. It is simply an integrated browser in the KNIME Analytics Platform workbench so you can use KNIME Hub in the panel as you would do in an external browser window. Enter your search query, hit enter, and then drag & drop nodes, components, workflows, or extensions to the workbench of KNIME Analytics Platform. If you have multiple KNIME Hub mount points (for example KNIME Community Hub and your KNIME Business Hub instance mount point) you can change the one you want to see by clicking the dropdown arrow icon on the top right corner of the KNIME Hub view and select the KNIME Hub instance from the dropdown menu.

img hub view
Figure 5. KNIME Hub view in KNIME Analytics Platform

Teams

A team is a group of users on KNIME Hub that work together on shared projects. Specific Hub resources can be owned by a team (e.g. spaces and the contained workflows, files, or components) so that the team members will have access to these resources.

The team can own public or private spaces. For more details see the section Team owned spaces.

The items that are stored in a team’s public space will be accessible by everyone with access to the Business Hub instance and be presented as search results when searching on KNIME Hub. Only team members will have upload rights to the public spaces of the team. Only the team members instead have read access to the items that are stored in a team’s private space. This will then allow KNIME Hub users that are part of a team to collaborate privately on a project.

Create a team

Teams are firstly created by the KNIME Hub Global Administrator. The global admin will assign a user the role of team admin as well allocate resources to that team. The team admin will be able to start adding team members and create execution contexts that can be used by the team.

There are two types of roles a user can be assigned when part of a team:

The team creator is automatically assigned administrator role and can promote any of the team members to administrators. In order to do so please follow the instructions in the section Manage team members.

Team owned spaces

A team can own an unlimited number of both public and private spaces.

  • Team owned public spaces: The items that are stored in a team’s public space will be accessible by everyone and be presented as search results when searching on KNIME Hub. Only team members will have upload rights to the public spaces of the team.

  • Team owned private spaces: Only the team members instead have read access to the items that are stored in a team’s private space. This will then allow KNIME Hub users that are part of a team to collaborate privately on a project.

You can create a new space by going to the team’s profile. To do so click your profile icon on the top right corner of KNIME Hub. In the tile Create new space click Private space to create a private space for your team, or Public space to create a public space. You can then change the name of the space, or add a description. You can change or add these also later by going to the relative space page and clicking the space name or Add description button to add a description for the space.

You can also change the visibility of the space from private to public and vice-versa, if you are a team admin, or delete the space. To do so, from the space page click the three vertical dots as shown in the image below.

img change visibility delete space
Figure 12. Change visibility or delete an existing team owned space

Manage space access

You can also manage the access to a specific space. To do so navigate to the space and click the pencil icon.

img manage space access pencil
Figure 13. Open the Manage space access side panel

In the Manage space access side panel that opens you can change the rights the other team members have on the items in the space - e.g. you can grant them Edit rights or View rights.

img manage space access
Figure 14. Manage the access to a space

Manage team members

You can manage your team by going to the team’s profile. To do so click your profile icon on the top right corner of KNIME Hub.

img teamowner profile icon
Figure 15. Select a team to go to the team’s profile page

In the dropdown menu that opens you will see your teams. Select the team you want to manage to go to the corresponding team’s profile page.

img team profile page
Figure 16. The team’s profile page

Here you can click Manage team button to open the Manage Team Members side panel, as shown in the image below.

img manage team members
Figure 17. Manage team members

You will see here a list of the team members and their assigned role.

From here a team admin can change the role of the team members. To do so click the drop down arrow close to the name and select the roles you want to assign to each user.

img change team members role
Figure 18. Manage team members roles

Then click Save changes button to apply your changes.

Add members to a team

To add a new member enter the user name of the users that you want to add to the team in the corresponding field in the Manage Team Members panel then click Save changes button to apply your changes.

In case you added more users than allowed by your license you will be notified with a message. Please remove the exceeding users or purchase more users.

Delete members from a team

To delete a member go to the Manage Team Members panel and click the bin icon for the user you want to delete. Then click the Save changes button to apply your changes.

Customization profiles

Customization profiles are used to deliver KNIME Analytics Platform configurations from KNIME Hub to KNIME Analytics Platform clients and KNIME Hub executors.

This allows to define centrally managed:

  • Update sites

  • Preference profiles (such as Database drivers, Python/R settings)

A profile consists of a set of files that can:

Customization profiles can be:

  • Global customization profiles that need to be uploaded and managed by the Global Admin

  • Team’s customization profiles that need to be uploaded and managed by a team admin

Every user of the KNIME Business Hub instance can then download and use customization profiles.

For the time being, customization profiles have to be managed on KNIME Hub via REST. An upcoming release will add the capability to go via KNIME Hub UI as well.

Create a customization profile

A customization profile is a file with the .epf extension, that contains the needed profile information. So the first step is to create such a file.

  1. Create an .epf file that contains the needed profile information:

    1. Build the file from a local KNIME Analytics Platform installation. Set up the needed configuration in a local KNIME Analytics Platform installation, then go to File → Export Preferences. Open the created .epf file, and look for the entries related to your needed settings. Remove all other settings (as some contain e.g. local paths on your machine, which will inevitably cause issues when applying to another installation).

    2. Place the .epf file in a folder, together with any additional files that need to be distributed along the profile (e.g. database drivers)

    3. Create a .zip from that folder

When creating a zip file on macOS using the built in functionality, two files are automatically added that cause the next steps (i.e. applying the profile in Analytics Platform) to fail. There is a way to prevent creation of these files if creating the .zip via command line, see here. If in doubt, use a Windows or Linux machine to create the .zip file.
The customization profiles on the KNIME Hub instance are going to be accessible without user authentication therefore they shouldn’t contain any confidential data such as passwords.

For further details and an example on how to distribute JDBC driver files go to the Hub-managed customization profiles section of the KNIME Database Extension Guide.

Variable replacement

It is possible to use variables inside the preferences files (only those files ending in .epf) which are replaced on the client right before they are applied. This makes the Hub-managed customizations even more powerful. These variables have the following format: ${prefix:variable-name}. The following prefixes are available:

  • env: the variable is replaced with the value of an environment value. For example, ${env:TEMP} will be replaced with /tmp under most Linux systems.

  • sysprop: the variable is replaced with a Java system property.
    For example, ${sysprop:user.name} will be replaced with the current user’s name. For a list of standard Java system properties see the JavaDoc. Additional system properties can be defined via -vmargs in the knime.ini.

  • profile: the variable will be replaced with a property of the profile in which the current preference file is contained in. Currently “location” and “name” are supported as variable names. For example, ${profile:location} will be replaced by the file system location of the profile on the client. This can be used to reference other files that are part of the profile, such as database drivers:
    org.knime.workbench.core/database_drivers=${profile:location}/db-driver.jar

In case you want to have a literal in a preference value that looks like a variable, you have to use two dollar signs to prevent replacement. For example $${env:HOME} will be replaced with the plain text ${env:HOME}. If you want to have two dollars in plain text, you have to write three dollars ($$${env:HOME}) in the preference file.

Once you use variables in your preference files they are not standard Eclipse preference files anymore and cannot be imported as they are.

Client customization

Besides the preferences that are exportable by KNIME Analytics Platform there are additional settings that can be added to the preference files to customize clients:

/instance/org.knime.workbench.explorer.view/defaultMountpoint/defaultMountpoints=<mount id1>,<mount id2>,…​

A comma separated list of default mountpoints that should be loaded,e.g. LOCAL,EXAMPLES,My-KNIME-Hub. Changes to this list only affects new workspaces, i.e. workspaces which already contain default mountpoints will still contain them even though they haven’t been defined here. If this option is absent and defaultMountpoint/enforceExclusion isn’t set to true then all default mountpoints will be added. The current default mountpoints are LOCAL, EXAMPLES, and My-KNIME-Hub.

/instance/org.knime.workbench.explorer.view/defaultMountpoint/enforceExclusion=<true|false>

If set to true then all default mountpoint not defined by /instance/org.knime.workbench.explorer.view/defaultMountpoint/defaultMountpoints will be removed on start up. Please note that if you want to use this option, the default mountpoints you want to include should only be listed in /instance/org.knime.workbench.explorer.view/defaultMountpoint/defaultMountpoints, and not in their full definition like when exporting the preferences.epf file from a KNIME Analytics Platform.

/instance/com.knime.customizations/helpContact.buttonText=<label, e.g. Contact Support>

If set together with /instance/com.knime.customizations/helpContact.address a button with the provided label will occur under Help in KNIME Analytics Platform. Clicking on the button will, depending on the helpContact.address, either open the default mail client or the default browser with the provided address.

/instance/com.knime.customizations/helpContact.address=<uri, e.g. mailto:support@company or https://company/support>

Sets the address of the support contact.
This option only takes effect in combination with /instance/com.knime.customizations/helpContact.buttonText.

/instance/com.knime.customizations/documentation.buttonText=<label, e.g. Documentation>

Sets the label of the documentation button that can be found under Help in KNIME Analytics Platform. Clicking on the button will open the default browser and navigate to the documentation. If set to - the button will be hidden.

/instance/com.knime.customizations/documentation.address=<uri, e.g. https://company/documentation or file:///sharedSpace/documentation>

Sets the address of the documentation.
By default the documentation address points to the KNIME documentation.

/instance/com.knime.customizations/windowTitle.appendix=<appendix, e.g. sponsored by company>

Adds the appendix to the window title of KNIME Analytics Platform.
-

/instance/com.knime.customizations/updateSite.uris=<uri>,<uri>,…​

Adds the provided addresses to the update sites.
-

/instance/com.knime.customizations/updateSite.names=<name>,<name>,…​

The names that are shown under Available Software Sites for the provided update sites. Note that the number of names must match the number of provided URIs.

/instance/com.knime.customizations/updateSite.default.disable=<true|false>

Disables the default update sites added by KNIME after a fresh installation or update. If a user enables these update sites again they will remain enabled.

/instance/com.knime.customizations/updateSite.default.forceDisable=<true|false>

Disables the default update sites added by KNIME after a fresh installation or update. If a user enables these update sites again they will be disabled with the restart of their client.

Upload a customization profile

After creation of the .zip file, it needs to be uploaded to KNIME Business Hub via API.

The following steps are executed using Postman.

  1. If you have not done so already, on KNIME Business Hub create an application password for the user uploading the profile

    1. For global customization profiles, use a global admin user

    2. For team’s customization profiles, the user can be either a global admin user or a team admin user

  2. Send a POST request to https://api.<base-url>/execution/customization-profiles with the following set up:

    1. Authorization: select Basic Auth, using username and password from the created application password

    2. Body: select form-data as request body type and add the following entries:

      1. Add a new key, set content to “File”. Name of the key needs to be “content”. The value of the key is the .zip file containing the profile, and the content type is application/zip.

      2. Add a new key, set content to “Text”. Name of the key needs to be “metadata”.

        1. The value of the key is:

          For global customization profiles enter:

          {
            "name": "<profile_name>",
            "scope": "hub:global"
          }

          For team’s customization profiles you first need to obtain the <team_ID> of the team you want to upload the customization profile to. To do so you can use the following GET request:

          GET api.<base-url>/accounts/identity

          You will find the <team_ID> in the body response under teams:

          ...
              "teams": [
                  {
                      "id": "account:team:<team_ID>",
                      "name": "<team_name>",
                      ...
                  }
              ]
          ...

          Then the value of the key is:

          {
            "name": "<profile_name>",
            "scope": "account:team:<team_ID>"
          }
        2. Set the content type for the second key to application/json

    3. When using Postman there is no need to manually adjust the headers

  3. Send the request

    img rest call customization profile
    Figure 19. Set up Postman for a REST call to upload a customization profile to a KNIME Hub instance
  4. If successful, you will receive a 201 status response. Make note of the created <profile_ID>, as this will be used to refer to the profile when requesting it.

You can refer to the API documentation at the following URL for more details about the different calls you can make to the Customization Profiles endpoint.

http://api.<base-url>/api-doc/execution/#/Customization%20Profiles

Apply a customization profile to KNIME Analytics Platform client

In order to apply a customization profile in a local KNIME Analytics Platform installation, you need to add it to the installation’s knime.ini file.

If you have already changed your default settings in the KNIME Analytics Platform installation these will not be overwritten. However, you can choose to "Restore all preferences to defaults" via the preference page in the KNIME Analytics Platform, before the restart.

Add the following lines to the knime.ini, right before the -vmargs line. Please note the line breaks. I.e., these need to be four individual lines in your knime.ini.

-profileLocation
https://api.<base-url>/execution/customization-profiles/contents
-profileList
<profile_ID>

You can obtain the <profile_ID> using the following GET request:

For global customization profiles:

GET api.<base-url>/execution/customization-profiles/hub:global

For team’s customization profiles:

GET api.<base-url>/execution/customization-profiles/account:team:<team_ID>
Refer to the above section to find out how to get the <team_ID>.

Upon the next startup of KNIME Analytics Platform, the customization profile will be retrieved from KNIME Business Hub, and its settings will be applied.

It is currently not possible to select the customization profiles of a KNIME Business Hub instance via File → Preferences → KNIME → Customization profiles option in KNIME Analytics Platform. A future KNIME Analytics Platform release will support this feature.

Apply a customization profile to KNIME Hub executor

In order to apply a customization profile to all executors running in a KNIME Business Hub execution context, you will need to send a request to the execution context endpoint.

First you need to get the execution context ID. To do so you can use the following GET request to get a list of all the execution contexts that are owned by a specific team:

GET api.<base-url>/execution-contexts/account:team:<team_ID>
If you are a global admin you can also GET a list of all the execution contexts available on the Hub instance with the call GET api.<base-url>/execution-contexts/.

Now you can apply the new customization profile to the selected execution context. To do so you need to update the execution context by using the follwing PUT request:

PUT api.<base-url>/execution-contexts/<execution-context_ID>

You need to select Body > raw > JSON and add the following to the request body:

{
"customizationProfiles": [
    "<profile_ID>"
  ]
}
Refer to the above section to find out how to get the <profile_ID>.

This will cause a restart of all executor pods of this execution context, after which the profile will be applied.

At present, this will also terminate all jobs currently running on the executor.

Upload items to KNIME Hub

Once you have added the KNIME Business Hub mount point and you are connected to your KNIME Hub account from KNIME Analytics Platform you can upload the desired items to your KNIME Hub spaces.

You can upload workflows, components or files to any of your team owned spaces by:

  • Dragging & dropping the item from your local mount point to the desired location in the KNIME Hub mount point, or by

  • Right-clicking the item from KNIME Explorer and selecting Upload to Server or Hub from the context menu. A window will open where you will be able to select the location where you want to upload your workflow or component.

    img deploy to hub
    Figure 20. Upload a local item to your KNIME Hub mount point

Please notice that if the items are uploaded to a public space they will be available to everyone, hence be very careful with the data and information (e.g. credentials) you share.

Move items within KNIME Hub

You can move items that you uploaded to KNIME Hub to a new location within the space that contains the item or to a different space that you have access to. To do this you need to be connected to the KNIME Hub mount point on KNIME Analytics Platform. You can then move the items within KNIME Hub just by dragging the item in the KNIME Explorer.

Delete items from KNIME Hub

You can also delete items that you uploaded to KNIME Hub.

To do so you can:

  • Connect to KNIME Hub mount point on KNIME Analytics Platform. Right-click the item you want to delete and select Delete…​ from the context menu

  • From KNIME Hub, sign in with your account and go to the item you want to delete. Click the three dots on the top right of the page and select Delete workflow.

    img delete item from hub
    Figure 21. Delete a workflow from KNIME Hub

Download items from KNIME Hub

You can of course also download items from KNIME Hub to use them in your local KNIME Analytics Platform installation. You can do this either from the KNIME Explorer by drag&drop or copy paste the workflow from the KNIME Hub mount point to your LOCAL mount point or you can also download the workflow from KNIME Hub in the browser. To do so go to the specific workflow or component you want to download on KNIME Hub and click the download button download icon.

The file will be saved on your local machine and then you can import it to your KNIME Analytics Platform, by going to File → Import KNIME Workflow…​ and selecting the file you want to import.

Versioning

When uploading items to a space on KNIME Hub you will be able to keep track of the changes of the space.

You can also create versions of the space so that you can go back to a specific saved version at any point in time in the future to download the content of the space as in a specific version.

Once a version of the space is created new changes to the space will show up as unversioned changes.

Create a version of a space

Go to the space you want to create a version of and click Space history.

img space history
Figure 22. Versioning of a space

A panel on the right opens where you can see all the versions already created and all the unversioned changes of the space since the last version was created.

Click Create version to create a new version and give the version a name.

Navigate and download a space version

In the Space history panel click the three dots for the version you want to navigate to and click Show version. You will be redirected to the space in that specific version.

img show version
Figure 23. Show a version of a space

Now you can download the whole space or a subset of it.

On KNIME Business Hub the space is the entity that is versioned but it is also possible to go back to a specific version of a workflow that was part of the space history. When navigating back to that workflow’s version the whole space’s version will be shown.

Go to a specific workflow and click Workflow history to see the space’s versions that have been created and that contain the workflow.

img show version workflow
Figure 24. Show the versions of a workflow

Delete a space version

In the History panel click the three dots for the version you want to navigate to and click Delete. Only Team administrators can delete a space version.

img delete version
Figure 25. Delete a version of a space

Execution of workflows on KNIME Hub

You can execute workflows on KNIME Hub. In order to do so the team you are a member of needs to have an execution context assigned to.

A team can own multiple execution contexts which are dedicated execution resources with configured execution settings.

Execution contexts

An execution context provides dedicated execution resources with configured execution settings for the execution and deployment of workflows on KNIME Hub.

They operate using a selected custom executor image, which defines custom hardware and KNIME Analytics Platform configuration for the deployments.

Execution contexts are owned and managed by the teams.

A default execution context can be assigned to a space. It is possible to create as many execution contexts as necessary. They can be used for specific deployments, for example in a development, testing, production configuration.

Execution contexts can be created by the team admin once the Docker image of the executor is available. The latter is maintained by the global Hub admin.

Create a new execution context

The team admin can create a new execution context.

To do so go to the team profile page and click Settings in the menu on the left.

Here you will see all the available Execution resources of your team, you can see how many vCores are available and in use for each execution context, the version of the executor, its memory usage and CPU load.

To create a new execution context for your team click the yellow + button on the right.

img overview available execution
Figure 26. An overview of the execution resources available to your team

In the side panel that opens you can define your execution context.

img create execution context
Figure 27. Create a new execution context

Here you can specify:

  • Name: is the name of the execution context

  • Docker image: is the name of the Docker image of the executor that you can obtain from your KNIME Hub Global Administrator.

    Public Docker executor images are made available by KNIME which correspond to the full builds of KNIME Executor versions 4.7.x.

    The currently available executor images have the following docker image name:

    • registry.hub.knime.com/knime/knime-full:r-4.7.0

    • registry.hub.knime.com/knime/knime-full:r-4.7.1-119

    • registry.hub.knime.com/knime/knime-full:r-4.7.2-139

    • registry.hub.knime.com/knime/knime-full:r-4.7.3-160

    • registry.hub.knime.com/knime/knime-full:r-4.7.4-179

    • registry.hub.knime.com/knime/knime-full:r-4.7.5-199

    • registry.hub.knime.com/knime/knime-full:r-4.7.6-209

    • registry.hub.knime.com/knime/knime-full:r-4.7.7-221

    • registry.hub.knime.com/knime/knime-full:r-4.7.8-231

  • Blacklisted nodes: is a list of nodes that should be blocked by the Executor. You need to provide the full name of the node factory. You can get the factory name from the Hub itself by looking for the node. The last part of the URL is the node factory name. For example the Java Snippet node can be found at the following URL: https://hub.knime.com/knime/extensions/org.knime.features.javasnippet/latest/org.knime.base.node.jsnippet.JavaSnippetNodeFactory and org.knime.base.node.jsnippet.JavaSnippetNodeFactory i its factory name. Another way to determine the factory names of the nodes you want to block is to create a workflow with all nodes that should be blacklisted. After saving the workflow you are able to access the settings.xml of each node under <knime-workspace>/<workflow>/<node>/settings.xml. The factory name can be found in the entry with key "factory".

  • Number of executors: is the number of executors that the execution context has assigned

  • Number of vCores per executor: is the number of vCPUs per executor

  • RAM per executor (GB): is the amount of RAM per executor in GB

You can assign an execution context as the default for a specific space. To do so you will need to perform a PUT request to the api.<base-url>/execution-contexts/{uuid} where {uuid} is the execution context id, adding the following to the request body:

},
  "defaultForSpaces": [
    "*space1",
    "*space2"
  ]
}

where ["*space1","*space2"] is the list of spaces for which the execution context is the default execution context.

Edit an existing execution context

As a team admin you can also edit an existing execution context.

From the Execution resources overview page you can click the three dots of the execution context you want to modify and select Edit from the menu that opens.

img edit ec
Figure 28. Edit an existing execution context

You can change the parameters and configurations in the right side panel that opens.

Disable an execution context

As a team administrator you can disable an existing execution context.

You will need first to delete the jobs associated to the execution context then proceed with disabling it. From the Execution resources overview page you can click the three dots of the execution context you want to disable and select Disable from the menu that opens.

img disable ec
Figure 29. Disable an existing execution context

Delete an execution context

As a team administrator you can delete an existing execution context.

You will need to first to disable the execution context you want to delete. First, delete the jobs associated to the execution context then proceed with disabling it.

Now you are ready to delete the execution context. From the Execution resources overview page you can click the three dots of the execution context you want to delete and select Delete from the menu that opens.

img delete ec
Figure 30. Delete an existing execution context

Ad hoc execution

When a team owned space is provided with an execution context it is possible to execute the workflows that are uploaded to that space.

If you want to have a one time execution of a workflow you uploaded to a space, for example to test it, you can go to the workflow page on KNIME Hub and click Run.

img ad hoc execution
Figure 31. Ad hoc execution of a workflow on KNIME Hub

A side panel opens where you can:

  • If multiple execution contexts for the current space are available, select the execution context you want to use - otherwise the default execution context associated to that space will be used

  • Enable workflow actions: You can choose if a notification via e-mail will be sent On failure or On success. You can also Add more actions and notify multiple e-mails on different conditions.

    img ad hoc execution configuration
    Figure 32. Ad hoc execution configuration panel

Then click Run and the workflow will be executed.

Please notice that an ad hoc execution will always be performed on the current version of the workflow from which the Run is initiated. This means that if you run a workflow from a state that is not part of any version of the space the execution will be performed on the latest state. To run an ad hoc execution of a workflow from a different space version go to the desired space version and click Run. The execution will be performed on the workflow state that is save in that specific space version.

img ad hoc execution version
Figure 33. Ad hoc execution of a workflow from a specific space version

Finally, you can see an overview of all the ad hoc execution jobs that have been performed on a specific workflow by selecting Ad hoc executions from the menu on the right in the workflow page.

Deployments

After a workflow is uploaded to KNIME Hub different type of deployments can be created.

You can create:

  • Data Apps: Data Apps provide a user interface to perform scalable and shareable data operations, such as visualization, data import, export, and preview.

  • Schedules: A workflow can be scheduled to run at specific times and perform specific actions based on the result of each execution.

  • API services: A workflow can be deployed as a REST endpoint and therefore called by external services.

To create a new deployment of a workflow that you uploaded to one of your team’s spaces you first need to have created at least one version of the space where the workflow is saved. After you create a version of the space go to the workflow page and click Deploy.

img create deployment
Figure 34. Create a new deployment for a workflow on KNIME Hub

In the menu that opens you can select which kind of deployment you want to create.

Data apps

Select Create data app if you want to create a data app to interact with the workflow via a user interface.

In the right panel that opens you will be able to choose a Deployment name, select the space version you want to deploy, select the execution context you want to use, and check Enable workflow actions if you want to enable sending an e-mail upon success or failure of the execution of the deployment you will create.

You will also be able to select a Category and a Description. Categories added here will be used to group the data apps in the Data Apps Portal. Also descriptions added here will be visibile in the corresponding deployment’s tile in the Data Apps Portal.

img create data app deployment
Figure 35. Create a data app deployment for a workflow on KNIME Hub

Under Advanced settings click Set to change the advanced settings of the deployment. Here you can configure the options regarding:

  • Job lifecycle: such as deciding when to discard a job, the maximum time a job will stay in memory, the job life time, or the options for timeout

  • Additional settings such as report timeouts, CPU and RAM requirements and so on

Notice that you can get additional information on the different fields by hovering over it with the cursor.

The values in the fields related to time need the format:

  • PT, which stands for Period of Time

  • the amount of time, made of a number and a letter D, H, M and S for days, hours, minutes and seconds.

For example, PT1H means a period of time of 1 hour, PT168H means a period of time of 168 hours (which is equivalent of 7 days).

Schedule

Select Create schedule if you want to create a scheduled execution that will run your workflow automatically at selected times.

In the right panel that opens you will be able to choose a Deployment name, the space version you want to deploy, and select the execution context you want to use.

Schedule options

Here, you can define when the workflow should be executed.

img create schedule deployment
Figure 36. Create a schedule deployment for a workflow on KNIME Hub

In the Schedule options section you can set up date and time of the Initial execution.

When selecting the check box Repeat execution you can select:

  • Every: Decide when the execution will be repeated, such as every minute, or every 2 hours and so on.

  • Start times: Set up one or more start times at which your workflow will be executed.

  • Schedule ends date: Set up if you want your repeated scheduled job to end and when.

Schedule details

If you check the option Repeat execution, under Set schedule details you can click Set to set up recurring executions, retries, and advanced schedule details. If you do not check the option Repeat execution, you will only find the set up options for retries and the advanced schedule details.

img set schedule details
Figure 37. Set the details for a schedule

The workflow will run when all the selected conditions are met. In the above example the workflow will run from Monday to Friday, every day of the month, except for the month of December.

Finally, in the section execution retries and advanced schedule details you can set up the number of execution retries, and check the following options for the advanced schedule details:

  • Reset before execution: the workflow will be reset before each scheduled execution retries occur.

  • Skip execution if previous job is still running: the scheduled execution will not take place if the previous scheduled execution is still running.

  • Disable schedule: Check this option to disable the schedule. The scheduled execution will start run accordingly to the set ups when it is re-enabled again. To do so

Workflow actions

If you check the option Enable workflow actions you can enable sending an e-mail upon success or failure of the execution of the deployment you will create.

Add the email and select the condition, and click Add more to add more actions.

Advanced settings

Finally, in the section Advanced settings you can configure additional set ups:

  • Job lifecycle: such as deciding in which case to discard a job, the maximum time a job will stay in memory, the job life time, or the options for timeout

  • Additional settings: such as report timeouts, CPU and RAM requirements, check the option to update the linked components when executing the scheduled job and so on

The values in the fields related to time need the format:

  • PT, which stands for Period of Time

  • the amount of time, made of a number and a letter D, H, M and S for days, hours, minutes and seconds.

For example, PT1H means a period of time of 1 hour, PT168H means a period of time of 168 hours (which is equivalent of 7 days).

Service

Select Create service if you want to create a service to use the workflow as an API endpoint.

In the right panel that opens you will be able to choose a Deployment name, select the space version you want to deploy, select the execution context you want to use, and check Enable workflow actions if you want to enable sending an e-mail upon success or failure of the execution of the deployment you will create.

img create service deployment
Figure 38. Create a service deployment for a workflow on KNIME Hub

Under Advanced settings click Set to change the advanced settings of the deployment. Here you can configure the options regarding:

  • Job lifecycle: such as deciding when to discard a job, the maximum time a job will stay in memory, the job life time, or the options for timeout

  • Additional settings such as report timeouts, CPU and RAM requirements and so on

Notice that you can get additional information on the different fields by hovering over it with the cursor.

The values in the fields related to time need the format:

  • PT, which stands for Period of Time

  • the amount of time, made of a number and a letter D, H, M and S for days, hours, minutes and seconds.

For example, PT1H means a period of time of 1 hour, PT168H means a period of time of 168 hours (which is equivalent of 7 days).

Application passwords

Application passwords can be used to provide authentication when using the KNIME Hub REST API, for example when executing deployed REST services. To create a new application password you can go to your profile page and select Settings → Application passwords from the menu on the left.

Click + Create application password and a side panel will show.

Here you can give a name in order to keep track of the application password purpose. Then click Apply. The ID and the password will be shown only once. You can copy them and use it as username and password in the base authentication when you want to execute a deployed REST service.

img application passwords
Figure 39. Application passwords

From this page you can also click the three dots button and click Delete from the menu that opens, in order to delete a specific application password.

Trigger

Select Create trigger if you want to create a trigger to execute the workflow when a specified event occurs.

In the right panel that opens you will be able to choose a Deployment name, the space version you want to deploy, and select the execution context you want to use.

Trigger options

In the Trigger options section you define the events that will trigger the execution of the workflow you are deploying.

The trigger listens to a specific event and when all the conditions set here are met, the workflow is executed.

img create trigger deployment
Figure 40. Create a trigger deployment for a workflow on KNIME Hub
  • First select a space on the KNIME Hub in which the trigger is listening for events. You can select any space that is owned by the same team that owns the workflow you are deploying.

  • Then select the item type between:

    • File

    • Folder

  • If you select File as item type you can further filter by file type, choosing between Workflow, Component or Data file. You can select one or more of these file types.

  • Then select the action that is going to occur in order for the workflow to be executed. You can select multiple actions, but only one needs to happen to trigger the execution.

    • If you select File as item type you can select that the file is added, modified and/or deleted.

    • If you select Folder as item type you can select that the folder is added and/or deleted.

  • Finally, you can set up an additional filtering selecting By subfolder. Add the relative path (e.g. /example/folder) to the space the trigger deployment is listening for the event. The event will then need to happen in the space you selected, in the subfolder /example/folder. For example, if you selected that the trigger will execute when a File of the type Data file is added to the space Space1 in the subfolder /example/folder, the workflow execution will be triggered when the data file is added to Space1/example/folder.

It is important to note that, under special circumstances, job creation might fail (e.g. if the execution context can not accept new jobs), or the job itself fails. In these cases, the job creation or execution will not be retried and the event would not be recorded. This makes trigger deployments unsuitable for use cases that require 100% reliability.

Workflow actions

If you check the option Enable workflow actions you can enable sending an e-mail upon success or failure of the execution of the deployment you will create.

Add the email and select the condition, and click Add more to add more actions.

Advanced settings

Finally, in the section Advanced settings you can configure additional set ups:

  • Job lifecycle: such as deciding in which case to discard a job, the maximum time a job will stay in memory, the job life time, or the options for timeout

  • Additional settings: such as report timeouts, CPU and RAM requirements, check the option to update the linked components when executing the scheduled job and so on

The values in the fields related to time need the format:

  • PT, which stands for Period of Time

  • the amount of time, made of a number and a letter D, H, M and S for days, hours, minutes and seconds.

For example, PT1H means a period of time of 1 hour, PT168H means a period of time of 168 hours (which is equivalent of 7 days).

Node to get information about a trigger deployment

With KNIME Analytics Platform version 4.7.2 the Container Input (Repository Event) node is added to the KNIME Hub Connectivity extension.

If you want to receive information about the event that triggered the execution of a workflow on KNIME Hub, you can add this node to the workflow. Upload the workflow to your KNIME Hub instance and create a trigger deployment for the workflow. When the conditions set for the trigger are met and the workflow is executed the node will receive information about the event that triggered the execution and output them as flow variables. The different flow variables are listed in the node description.

The event information comprises:

  • What kind of item, e.g., a workflow, component, or file;

  • Where did the event happened, e.g., in a particular directory within a space;

  • What type of action was perfomed on the item, e.g., modified, added, or deleted.

img example workflow trigger
Figure 41. Example workflow using the Container Input (Repository Event) node

Managing deployments

Select Deployments from the menu on the right in the workflow page to see a list of the deployments that have been created for a specific workflow.

img deployments list wf
Figure 42. A list of all the deployments created for a specific workflow

To see all the deployments that were created under a specific team go to that team page and select Deployments from the menu on the left.

img deployments list team
Figure 43. A list of all the deployments created by a team

By clicking the three points menu at the end of the corresponding deployment row you can perform the following actions. Notice that depending on the type of deplyoment some actions might not be available.

  • Run: data apps, schedules and triggers

  • Open: services

  • Edit: all types of deployments

  • Manage access: data apps and services

  • Delete: all types of deployments

Run a Data App deployment

Once you have create a Data App deployment you can go to see the list of Deployments for the specific workflow, click the three dots on the row corresponding to the deployment you want to execute, and click Run/Open.

img execute data app
Figure 44. Run a deployed data app

Change status of a schedule deployment

Also from the list of deployments available for a workflow or for the team, you can activate or deactivate a schedule. To do so click the toggle in the Status column.

Open a service deployment

When a service deployment is created a REST API endpoint is created. By selecting Open the definition of the endpoint opens.

Edit a deployment

You can edit a deployment from the deployments list by clicking the three dots in the corresponding row and selecting Edit from the menu.

The side panel for the deployment will open and you will be able to make changes to the deployment, then click Apply.

Manage access to data apps and services

For data apps and service deployments, you can select Manage access from the menu that opens when clicking on the three dots. This opens a side panel where you can type the name of the user or group you want to share the deployment with.

It is also possible to share the deployment with users that are not members of your team. When sharing a deployment, this will be available in the user profile in the Data Apps Portal section.

When managing the access of data apps and services, you can also select the option to share the deployment with all signed in users. This will allow every user who has access to the KNIME Business Hub instance to execute the deployment.

Deployments shared this way will also be available to all future users who don’t have a Business Hub account yet.

To do so select the Any signed in user option in the Manage deployment access panel.

img manage deployment access
Figure 45. Manage access to a deployment of the type data app or service

The added user will still be available in case you change back to the default access type Only users added here.

Delete a deployment

You can delete a deployment from the deployments list by clicking the three dots in the corresponding row and selecting Delete from the menu.

img discard deployment
Figure 46. Delete a created deployment

Data Apps Portal

You can access the Data Apps Portal by going to the address:

https://apps.<base-url>

where <base-url> is the usual address of the KNIME Business Hub instance.

This page is available to every registered user. Consumers, for example, can access to this page to see all the data apps that have been shared with them, execute them at any time, interact with the workflow via a user interface, without the need to build a workflow or even know what happens under the hood.

To execute a data app click the corresponding tile. A new page will open in the browser showing the user interface of the data app.

img data apps portal
Figure 47. The Data Apps Portal

To share a data app deployment with someone follow the instructions in the Manage access to a deployment section.

Known issues and compatibility

Please be aware that the compatibility of the following nodes and functionalities with KNIME Business Hub is still under development and it will full compatibility will be available soon.

  • Molecule Sketcher Widget node does not support custom widgets such as MarvinJS

  • Setting job lifecycle defaults for execution contexts is only possible right now via REST API