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 acces 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 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 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 9. Change visibility or delete an existing team owned 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 10. 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 11. 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 12. 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 13. 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.

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 14. 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 15. 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 16. 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 17. 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 versioning but 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 18. 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.

img delete version
Figure 19. 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.

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

Create a new execution context

The team admin can create a new execution context.

You can do so via REST API with a POST request to the following endpoint:

<apiBaseUrl>/execution-contexts

As specified in the API documentation that you can find at the following URL:

<apiBaseUrl>/api-doc/execution/execution-contexts/

these parameters can be setup in the request body:

{
  "id": "11111111-1111-1111-1111-111111111111",
  ...
  "name": "Datascience Context",
  "scope": "account:team:7df44321-9dc0-11d1-b245-5ffdce74fad2",
  ...
  "blacklistedNodes": "org.knime.base.node.jsnippet.JavaSnippetNodeFactory,org.knime.ext.sun.nodes.script.*Java*",
  ...
  "operationInfo": {
    "minExecutors": 3,
    "maxExecutors": 3,
    "dockerImage": "string",
    "containerCores": 4,
    "containerMemoryLimit": 8192,
    ...
  },
  "defaultForSpaces": [
    "*space1",
    "*space2"
  ]
}

where

  • id is the executor ID which is a sequence of alphanumeric characters of the shape and length: 11111111-1111-1111-1111-111111111111

  • name is the name of the execution context

  • scope is the team the execution context is going to be available for. To obtain the team id you can send a GET request to <apiBaseUrl>/accounts/identity. You will obtain the information about all the teams you are a member of.

  • blacklistedNodes 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".

  • minExecutors and maxExecutors is the number of executors that the execution context has assigned. These two values must be setup to the same value as there isn’t automated scaling execution yet.

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

  • containerCores is the number of CPUs per executor

  • containerMemoryLimit is the amount of RAM per executor in MB

    min/maxExecutors * containerCores gives you the number of cores the execution context will reserve from your KNIME Business Hub license. E.g., having 4 executors with 4 cores each will reserve a total of 16 cores from your license. The cores are reserved right after creation of the execution context, and will remain reserved for as long as the execution context exists.

  • defaultForSpace is a list of spaces that would use this execution context as default. This field can also be left empty in case this execution context should not be the default selection in any space.

The team admin can also modify an existing execution context via REST API with a PUT request to the following endpoint:

<apiBaseUrl>/execution-contexts/{uuid}

where {uuid} is the ID of the execution context you want to update. You can obtain the ID with a GET request to the <apiBaseUrl>/execution-contexts/ endpoint.

Ad hoc execution

When a team owned space is provided with an execution context it is possible to execute workflow 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 20. 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 21. Ad hoc execution configuration panel

Then click Run and the workflow will be executed. Select Ad hoc executions from the menu on the right in the workflow page to see a list of the ad hoc execution jobs that have been performed for a specific workflow.

Data Apps, schedules and API services

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 go to the workflow page and click Deploy.

img create deployment
Figure 22. 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 execution context you want to use, and check Enable workflow actions if you want to enable sending an e-mail upon success of failure of the execution of the deployment you will create.

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

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, select the execution context you want to use, define when the workflow should be executed, and check Enable workflow actions if you want to enable sending an e-mail upon success of failure of the execution of the deployment you will create.

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

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 execution context you want to use, and check Enable workflow actions if you want to enable sending an e-mail upon success of failure of the execution of the deployment you will create.

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

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 26. A list of all the deployments created for a specific workflow

To delete it click the three points menu at the end of the corresponding deployment row and select Discard.

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 27. A list of all the deployments created by a team

Execute 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 28. Execute a deployed data app

Discard a deployment

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

img discard deployment
Figure 29. Discard a created deployment