Introduction
KNIME WebPortal is an extension to KNIME Server. It provides a web interface that lists all accessible workflows, enables their execution and investigation of results. The workflows' input and output can be parameterized and their visualizations customized, using Configuration and Widget nodes, Interactive Widget and View nodes. Using components containing these nodes it is then possible to create WebPortal pages.
In addition, report templates created with KNIME Report Designer that are uploaded together with their associated workflow to KNIME Server can be filled dynamically with data and downloaded in various formats.
The successful execution of the workflows can be alerted by email, and reports, if present, can be sent attached in various formats.
Creating workflows for KNIME WebPortal
A workflow execution on KNIME WebPortal consists of one or more pages or wizard steps, where a user gets guided through the process. Each page or step corresponds to the composite view of a component in the workflow. For a more comprehensive explanation about components, please refer to the KNIME Components Guide.
Composite views
You can create composite views in components, assembling different Widget nodes, Interactive Widget nodes and View nodes.
Once you have created them you can also style their layouts arranging them within the composite view and also adding some other elements to the layout. In this way you can decide how they will be visualized on the page once you run them in KNIME WebPortal.
Widget nodes
The nodes in the node repository categories Workflow Abstraction → Widgets can be used to create composite views, where the user is able to adjust parameters which then can be used by the workflow to control the execution of nodes.
Widget nodes are especially useful when used in workflows designed for deployment to KNIME Server via KNIME WebPortal. When KNIME WebPortal encounters a Widget node in a workflow, it prompts the user to enter new values for its variables before proceeding with the workflow execution. The new values are injected into the workflow, and used to parameterize its execution.
You can create a component which encapsulates one or more Widget nodes. In this way you can create a composite view which will be a page on KNIME WebPortal.
Please refer to the Widget nodes section of the KNIME Components Guide, for a more comprehensive overview of the Widget nodes.
View and Interactive Widget nodes
The nodes in the node repository categories Views → JavaScript can also be used to create composite views, which will then be visualized as a page on KNIME WebPortal.
Interactive Widget nodes can be encapsulated in components together with View nodes to build a page on KNIME WebPortal where views and interactive widgets are combined.
For an overview on how to build composite views please refer to the Components composite views section of the KNIME Components Guide.
Layouting composite views
You can customize the layout of composite views, deciding how the View and Widget nodes are visualized on the page.
Please note that with KNIME Server version 4.11 we introduced the legacy mode for execution of Widget nodes. Refer to the section Legacy Widget nodes to have more information about the legacy mode. |
For an overview on how to layout composite views please refer to the Layout of composite views section of the KNIME Components Guide.
Stepping through pages
Each composite view of a component at the root level of the workflow represents one page in KNIME WebPortal.
Please notice that components that are not in the root level of the workflow, i.e. components wrapped inside a component, will not correspond to a page when the workflow is run in KNIME WebPortal. |
For example, a series of three pages can be modeled with a sequence of three components, as the one shown in Figure 1.
The composite view of each component will be a page in KNIME WebPortal, as shown in Figure 2.
To dynamically show and hide pages during execution it is possible to disable a composite view of one component, activating of disactivating branches in the workflow, e.g. by means of IF or CASE blocks.
It is also possible to insert components inside a loop to iterate over an item set or recursively refine a model, as shown in Figure 4.
Create temporary directories
If you want to write some data on KNIME WebPortal, which is later downloaded by means of, e.g. a web link, you can use Create Temp Dir node.
This node will create temporary files in unique temporary folders and expose the path to the temporary file as a flow variable. A Writer node can write a file to the temporary folder and a File Download node can make the written file available for download.
This is the configuration dialog of the Create Temp Dir node:
Create Temp Dir node settings:
|
Publishing workflows
Workflows and, if present, any associated report templates are published on KNIME WebPortal by simply uploading the workflow from the local workspace to the corresponding KNIME Server mountpoint.
To do this you can:
-
Copy/paste or drag and drop a workflow from a local workflow repository to a server repository
-
Right-click the workflow and choose Deploy to Server… from the context menu.
In the window that opens, shown in Figure 5, you can choose the server repository. You also have the possibility to change the default option of the server in resetting the workflow before uploading. To do this check or uncheck the option Reset Workflow(s) before upload.
Access permissions can be assigned to restrict the access to certain user groups.
Please refer to the KNIME Server User Guide for more information.
Accessing KNIME WebPortal
You can use a standard web browser to connect to KNIME WebPortal. The address (URL) to get to the login page is:
https://<server-address>/knime/webportal/
The last part of the address may have been changed by your server administrator.
After providing the user’s login name and password, a listing of all available workflows is displayed. Only workflows the user can read and execute are shown.
KNIME WebPortal of the KNIME Server version < 4.11 is still available
and the login page is at the address (URL):
https://<server-address>/knime/ .
|
Navigating KNIME WebPortal
Workflows that are uploaded to KNIME Server are available through KNIME WebPortal for execution.
Access to WebPortal using a standard web browser, as explained in the Accessing KNIME WebPortal section.
Main page
After signing in, KNIME WebPortal main page is displayed, showing the available spaces or workflows, as shown in Figure 6.
You can sign out from KNIME WebPortal clicking Sign out in the upper-right corner of KNIME WebPortal.
From this page you can either access all your workflows from the WebPortal page or access to your Monitoring portal.
Monitoring portal
Click Monitoring on the upper part of KNIME WebPortal will lead you to the monitoring portal.
Here, you have two sections:
-
Jobs: An overview of all the jobs that you own and that are kept in memory upon execution, both from the KNIME WebPortal or from the KNIME Analytics Platform on KNIME Server.
Figure 7. The Jobs section in the monitoring portalHere you can:
-
Refine the table: You can show only jobs ran in a specific time range, you can select the columns you want to show in the table, regroup the jobs in the table by different criteria, e.g. by State or Workflow, or search through the list of jobs by keyword
-
Filter the table: Click the filter icon on the right side of the table to filter the jobs listed in the table by keyword per column
-
Delete job(s): You can select jobs via the checkbox on the left, and delete them. You can discard jobs one by one clicking the three dots at the end of a job’s row and choose Discard.
-
Show node messages: Click the message cell corresponding to the job you want to see the messages of to show them.
-
-
Schedules: An overview of all your scheduled jobs on KNIME Server.
Figure 8. The Schedules section in the monitoring portalHere you can use the filtering options described above. It is also possible to activate or deactivate a specific schedule by the toggle button on the corresponding schedule row or a group of schedules by selecting them with the checkbox on the left.
WebPortal page
Clicking the folder of interest redirects you to a new page, as shown in Figure 9 where all the workflows available inside the space are shown in tiles, which display the name of the workflow and a preview of its description, if present. You can click the yellow "play" button in the upper-right corner of the corresponding tile to start executing a new job directly.
If previously executed jobs were kept in memory, dots and a number are also shown in the tile. A green dot indicates a successfully run job, a red dot a failed one, and an orange dot interrupted jobs requiring an action.
Workflow page
Clicking any other part of a workflow tile in the main page opens the workflow page, as shown in Figure 10.
Here the title of the workflow is shown, and if meta information has been entered before the workflow was uploaded, a description is displayed beneath the workflow name.
You can choose to get notified by email after workflow has run. In this case you will be asked to insert the email and, if a report is part of the workflow, the format in which you want to receive the report.
Then click the "Run" button to execute the workflow. A series of web pages will open allowing you to interact with the workflow or to visualize results, according to the workflow components, as explained in the Stepping through pages section.
All the different actions are shown in Figure 11.
(1) Click "Cancel" button in the bottom-right corner to interrupt the execution at any time.
(2) Click "Next" button in the bottom-right corner to navigate to the next page.
(3) Click "←Back" button in the bottom-left corner to go to the previous page.
Click "Close" at the end of the execution and decide if you want to keep or
delete the current result.
When the workflow is executed entirely the message Finished successfully appears on
the upper part of the page. This message will appear also in case nodes are executed
after the last component.
Please notice that the page showing the composite view of the last component of the
workflow can not be re-executed.
In case a report is available you can also download it in the last page, choosing
between different formats. Please refer to KNIME WebPortal and reports section
for more details about it.
In case you choose to not delete the executed job, the result will be made available in the workflow page, with different information like the workflow’s owner name, the start date and the final state, as shown in Figure 12. Also other jobs that are running and need interaction or jobs that failed are listed here.
You can discard and delete any of the jobs from the workflow page at a later time by clicking the three dots on the line corresponding to the job execution and choosing Discard from the context menu that opens. Here you can also copy a direct link to the final results page of a specific job.
On the workflow page you can also click Copy link to… to obtain the address of either the link to the main page of the current workflow or to its execution page.
The link to the execution page of a workflow is considered the basic URL of the workflow, the starting point for the parametrization and Direct linking to workflows in KNIME WebPortal. |
KNIME WebPortal page (version < 4.11)
As explained in the Accessing KNIME WebPortal section, the old WebPortal is still accessible and fully usable.
The functionality is slightly different from the new WebPortal available as of version 4.11 of KNIME Server.
For a complete guide for KNIME WebPortal on KNIME Server version < 4.11 please check the corresponding version of KNIME WebPortal User Guide.
KNIME WebPortal and reports
If a workflow with a report template is uploaded to KNIME Server and accessed through KNIME WebPortal, the report is generated and displayed after successful execution of the workflow, as shown in Figure 13:
A preview of the report is shown in the result page and the html preview can be opened in a new window. Download links are offered for pdf, xls, ppt and docx format.
For more information on how to build reports with the KNIME Report Designer, please refer to the KNIME Report Designer User Guide.
An example of a workflow with report is available on the KNIME Hub. |
Direct linking to workflows in KNIME WebPortal
It is possible to link directly to specific workflows in KNIME WebPortal. Basic workflows URLs are generally set up like:
http://<server-address>/knime/webportal/<ItemPath>?exec&<WorkflowParameters>
-
<ItemPath>
is the path to a workflow, workflow group, or workflow job. A workflow job is referenced with its ID like:<ItemPath>?exec=job_id
-
?exec
redirects to the automatic execution of the workflow. -
<WorkflowParameters>
can appear in any order, but have to be after<ItemPath>?exec
Additionally, you have the possibility to set up some parameters, listed in the
next section.
Parameters are always appended with a leading &
to the basic URL (following the <ItemPath>?exec
).
You can also obtain the workflow’s basic URL in KNIME WebPortal, as shown in Figure 14.
Go to the chosen workflow page and, in the upper-right corner of the page, click
Copy link to… → Run workflow.
Available URL parameters
&pm:<name>=<value>
— Set configuration
parameters: Sets the named configuration parameter to the specified value. Multiple
configuration parameter pairs should be added as separate parameters
(e.g. &pm:input-1=value1&pm:input-2=value2
). Ensure that the value for each
pair is correctly URL/URI encoded. Please see more specific explanation about this
feature on the following page.
&fullscreen
— Full-screen mode: hide the WebPortal header, logo and breadcrumb to provide
a full-screen experience.
&emails=sample@mail.com
— Enable email notification:
enables email notification and sets the specified comma separated list of email
addresses.
&formats=<formats>
— Set report formats: sets the
report formats included as attachments in the notification email specified by a
comma separated list. Available formats are: pdf (enabled by default), html,
doc, docx, xls, xlsx, ppt, pptx, ps, odt, ods and odp. This list might have been
changed by your server administrator to reduce the number of options available.
A complete URL might look like:
http://localhost:8080/knime/webportal/space/demo/file%20to%20csv?exec&emails=sample@mail.com&formats=.pdf,doc
Please note that some characters cannot be part of a URL (e.g the space). To encode the URL you can use any available online URL encoder tool. |
Setting configuration parameters
With the &pm
-parameter it is possible to override the default
values of Configuration nodes.
They are addressable by using the same name as the one set in the "Parameter name"
field in the configuration dialog of the corresponding node.
It is best practice to keep those names unique, however it is possible to
address nodes, when there are multiple of the same parameter names in the
workflow by appending the node id (e.g. param-name-32:34
).
There are a few nodes, which require a special format, which are listed in the
following.
Remember to URI/URL encode the values after they have been correctly formatted. |
Configuration Node | Format Remarks |
---|---|
Date Input |
Use |
File Chooser |
Use absolute |
Boolean Input |
Use |
Double Input |
Use American number notation |
To be configurable the Configuration nodes have to be:
-
root nodes, i.e. not wrapped in a component
-
source nodes, i.e. no input is passed to the node.
Configuration nodes that are not configurable over URL parameters are:
-
Multiple Selections
-
Value Selection
-
Column Selection
-
Value Filter
-
Column Filter
-
Nominal Row Filter
-
Credentials Input
The &pm -parameter is also available for KNIME WebPortal version < 4.11.
Here, however, the &pm -parameter only overrides the default values of
Quickform nodes, as specified in the relative
documentation.
|
Embedded WebApps
It is possible to generate authentication tokens that allow users to run KNIME WebPortal Applications (WebApps) without the need to log in explicitly. Authentication then happens via the token, which is used as query parameter in the WebPortal URL. This allows you to embed KNIME WebPortal Applications in other websites, reaching a wide audience of consumers without the need to create individual users for all of them. Since this feature assumes that consumers are not counted individually, it is only available for KNIME Server Large licenses, where consumers are unlimited.
Unlike a job started directly through the WebPortal, an embedded WebApp will only show the page’s main content. I.e., the usual WebPortal top bar navigation elements are not shown.
Overview
Each token has to be created by a named user. The token is issued under that user’s name, and jobs that are started using that token are associated with that user.
Tokens can be revoked at any time, and it is possible to create multiple tokens for the same workflow (e.g. to enable you to share links with different groups, and revoke them at different times).
Users who should be allowed to create authentication tokens have to be explicitly added to
com.knime.server.workflow_authentication_users in knime-server.config .
Note that this is also true for admin users. I.e., even admin users will not
be able to create authentication tokens unless they are added to that list. By
default, this list is empty, i.e., no one can create tokens.
|
At the time of writing, authentication tokens need to be created via the KNIME Server REST API. A frontend implementation that allows creation of shareable links that include the token is being worked on.
To get an embeddable link, there are currently two steps required:
-
Create authentication token for a workflow
-
Attach this token to the WebPortal URL of the workflow
Example: Create authentication token
Here, we show in an example how an embeddable link can be created. First, we create a token for a specific workflow.
This is done by sending a POST request as in:
POST https://<knime-server>/knime/rest/v4/auth/workflow?workflowPath=<path>&tokenName=<name>
where <path>
represents the
path to the workflow in the KNIME Server repository, and <name>
designates a name for the token (to later allow you
to identify the token for management / revoking). Note that <path>
always needs to start with a forward slash, e.g.
/path/to/workflow
.
This call returns a JWT token, which can then be used to build the embeddable URL.
The URL is structured as follows:
https://<knime-server>/knime/webportal/space/<path>?exec&knime:access_token=<token>
where <path>
again designates
the path to the workflow in the KNIME Server repository, and <token>
is the JWT token returned by the above call.
The resulting URL allows execution of this particular workflow without the need to provide additional login credentials. It can therefore be embedded in an iframe on another website, and anyone who can access this link can execute this workflow, under the name of the user who created the authentication token. The token cannot be used to execute any other workflows on KNIME Server, neither can it be used to list the jobs associated with that workflow via API calls or perform any other operations on KNIME Server.
Example: List authentication tokens
To get a list off all authentication tokens associated with a particular workflow, send a GET request as in:
GET https://<knime-server>/knime/rest/v4/auth/workflow?workflowPath=<path>
This will return all tokens for a workflow created by the user who issued the request. Administrators in addition have
the option to add &listAll=true
as query parameter, which will then return a list of all tokens associated with this
workflow, no matter which user created them. E.g.
GET https://<knime-server>/knime/rest/v4/auth/workflow?workflowPath=<path>&listAll=true
Example: Revoke authentication token
Authentication tokens can be revoked at any time. This is done by sending a DELETE request to the same URL which was used to create the token, i.e.
DELETE https://<knime-server>/knime/rest/v4/auth/workflow?tokenName=<name>
This invalidates the authentication token, and the workflow becomes inaccessible through the embeddable URL.
Admin users are also able to revoke authentication tokens created by other users. To do so, you need to add
&userName=<user>
as query parameter. E.g.
DELETE https://<knime-server>/knime/rest/v4/auth/workflow?tokenName=<name>&userName=<user>
Create Embedded Webapp in an iframe
In order to create an embedded webapp in an iframe, the server’s cookie policy must be changed, in order to work with
the latest browsers. The server cookie’s SameSite
attribute must be set to none
and the server must be accessed
using https.
To set the server cookie’s SameSite attribute to none, the CookieProcessor has to be defined in
<apache-tomcat>/conf/Catalina/localhost/knime.xml
by adding the following to the defined context:
<Context> ... <CookieProcessor className="com.knime.enterprise.tomcat.cookie.KnimeCookieProcessor" sameSiteCookies="none" /> ... </Context>
This ensures that the session cookie is sent along when the WebPortal is accessed through an iframe.
Accessibility support
KNIME WebPortal provides full support of screen reader software as well as complete keyboard-only access.
Any screen reader that follows ARIA guidelines can be used for the work in KNIME WebPortal. The recommended screen reader software includes JAWS (v.16), NVDA (v.2016.3) and ChromeVox (v.53.0.2784.1).
KNIME WebPortal can be completely controlled by using the keyboard only, implementing the ARIA best practices on keyboard navigation:
-
Tab (Shift + Tab) key moves the focus to the next (previous) element
-
Enter key performs the default action on focused element
To operate with UI components of KNIME WebPortal standard shortcuts can be used. For more details see the ARIA specification page.
Legacy mode for components
Legacy Widget nodes
From KNIME Server version 4.11 we changed the Widget nodes to an updated version. The backwards compatibility is in any case assured for the Widget nodes, so that you can continue to use the Widget nodes in KNIME WebPortal version 4.11+ with the same behavior and user interface they had in KNIME WebPortal version < 4.11.
You can find information about using CSS styling in the respective Migration FAQ section of this guide. |
KNIME WebPortal of the KNIME Server version < 4.11 is available
and the login page is at the address (URL):
https://<server-address>/knime/ .
|
In fact, the Widget nodes contained in workflows created with KNIME Analytics Platform version 4.1 will be displayed by default in the legacy mode. However, it is possible to change this option re-opening the workflows in KNIME Analytics Platform version 4.2 and deselecting the Use legacy mode in the Visual Layout tab of the Node Usage and Layout window.
Also when creating the workflows with KNIME Analytics Platform version 4.2 allows to use legacy mode for the whole component encapsulating the Widget nodes or for each node individually.
Please see the Components Guide for documentation about how to activate/deactivate the legacy flag when building workflows for KNIME WebPortal.
Quickform nodes
If a workflow contains Quickform nodes it will still be executed in the same manner, as in previous versions of KNIME Server.
However, we discourage the use of Quickform nodes in favor of Widget nodes.
Note that legacy Quickform nodes will have to be separately installed on the server executor and any client designing or executing legacy workflows. The plugin is found under KNIME & Extensions → KNIME Quick Forms (legacy) in the "Install KNIME Extensions" dialog.
Migration FAQ
In this section we want to highlight what has been changed starting from KNIME WebPortal version 4.11.
Differences to KNIME WebPortal version < 4.11
New URL
-
The URL to access KNIME WebPortal version 4.11+ is changed so the path to specific workflows will change accordingly.
-
Additionally, the use of URL parameters has changed.
-
The parameter
&run
is now substituted by the parameter?exec
.?exec
always needs to be the first URL parameter to be followed by the other available ones. -
For security reasons, it is not possible to provide username and password anymore together with the workflow URL.
-
Theming
The theming of the login page to KNIME WebPortal works the same way as for previous versions of KNIME WebPortal. For more information on how to apply your own style to KNIME WebPortal, please refer to the Theming section of the KNIME WebPortal Administration Guide.
Generic JavaScript Views
With KNIME WebPortal version 4.11 it is not possible to escape the IFrame of Generic JavaScript Views to change the CSS of the WebPortal itself. The Generic JavaScript Views which were configured to escape the IFrame will not work anymore. We also do not encourage escaping IFrames in KNIME WebPortal as CSS classes of the WebPortal may change in future versions of KNIME WebPortal.
CSS styling
-
Styling widgets from KNIME Analytics Platform version <4.2 with the former css-classes is not supported anymore. However, the CSS styling of Widgets is still possible, but not documented. We recommend the use of theming to style your KNIME WebPortal and Widget elements. Widget styling that was created with KNIME Server version < 4.11 and KNIME Analytics Platform version <4.2 can still be used and we assure backwards compatibility with the use of legacy mode.
-
Some CSS layout options of the page builder, i.e. the use of Bootstrap library elements, are not supported anymore. Please refer to the Layouting of composite views section of the KNIME Components Guide for the available elements.
Other migration changes
-
Indication about the version of a workflow in a job with respect to the version of the workflow actually present on KNIME WebPortal is not given anymore. Additionally, jobs that are not started through WebPortal are not displayed in the KNIME WebPortal. Please notice that, however, jobs that are started in KNIME WebPortal version 4.11 are displayed in KNIME WebPortal version 4.11 and vice versa.