Interactive view cannot be openend | Component

Hello,
today, after installing some updates of KNIME Extensions, I received the following error message when starting a component with a dashboard:

2023-10-23 11_33_48-KNIME Analytics Platform

KNIME Version

I suspect the cause is one of the updates.

Thanks in advance for your help

1 Like

Hi @USCHUKN1ME ,
thanks for posting.
Do I understand correctly, that before this update you could open an interactive view of the component, and there were no changes to the WF in between?
Best,
Daria

1 Like

Hello @darspir ,

that is correct!

Greetings

Hello @USCHUKN1ME

Can you also share the logs associated with the error, you can see the logs from View → KNIME log.
Also, from the preferences can you verify that the browser being used to open the views has been set to “Chromium Embedded Framework (CEF)” (as shown below)?

Thanks

Best,
Ali

2 Likes

Hello @aliasghar_marvi ,

the following are the messages from the knime.log:

2023-10-30 09:10:34,641 : ERROR : main : : OpenSubnodeWebViewAction : : : The interactive view for node ‘Component für Dashboard 3:175’ has thrown a ‘NoSuchMethodError’. That is most likely an implementation error.
java.lang.NoSuchMethodError: ‘void org.knime.core.wizard.SubnodeViewableModel.createPageAndValue(java.util.function.Function)’
at org.knime.ext.seleniumdrivers.multios.ChromeWizardNodeView.callOpenView(ChromeWizardNodeView.java:244)
at org.knime.core.node.AbstractNodeView.openView(AbstractNodeView.java:197)
at org.knime.core.node.Node.invokeOpenView(Node.java:2699)
at org.knime.workbench.editor2.actions.OpenSubnodeWebViewAction.openView(OpenSubnodeWebViewAction.java:214)
at org.knime.workbench.editor2.actions.OpenSubnodeWebViewAction.lambda$2(OpenSubnodeWebViewAction.java:141)
at org.knime.workbench.editor2.actions.OpenSubnodeWebViewAction.mapSNC(OpenSubnodeWebViewAction.java:113)
at org.knime.workbench.editor2.actions.OpenSubnodeWebViewAction.run(OpenSubnodeWebViewAction.java:140)
at org.knime.workbench.editor2.actions.ExecuteAndOpenViewAction$1$1.run(ExecuteAndOpenViewAction.java:200)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4029)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3645)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
at org.knime.product.rcp.KNIMEApplication.start(KNIMEApplication.java:193)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

My JavaScriptView settings with which it has always worked so far:

When I switch to Chromium Embedded Framework, the dashboard is displayed again, but I can no longer save it as an HTML file with a right click.

Greetings

Does anyone have an idea how to solve the problem?

what is inside of the component? Which of components nodes is causing the error?

The main problem is that the dashboard is no longer generated with my settings. Since I want to save the dashboard as an HTMl file, I have to keep it that way.

All nodes in the component without errors!

ERROR OpenSubnodeWebViewAction The interactive view for node ‘Component für Dashboard 4:175’ has thrown a ‘NoSuchMethodError’. That is most likely an implementation error.
Execute and open view

greetings

@wsturmzfknime Did my information help you?

@USCHUKN1ME : your issue is tricky and difficult to investigate without being able to reproduce. So for me more questions than answers:
What happens if you delete all the subnodes in the component and lets say, just leave a single node and try to execute the component node?
I still assume that the issue is caused by something inside of the component.
What happens if you copy the sub nodes of the component into a new component node?
Have you tried to export the whole workflow and reimport?
Have you tried to run the workflow in a new installation of KNIME

HI @wsturmzfknime ,

I think the workflow is fine so far. After all, everything worked before the update.
Some or possibly especially the KNIME extension “KNIME Bundled Chromium Browser (legacy)” seems to be faulty.

I suspect that it is due to the JAVA Script Views:

( ) Chromium Embedded Framework (CEF) Browser
(x) Bundled Chromium Browser (version 113)

The setting with “Bundled Ch…” worked before the updates, now there is the error message and with “Chromium Embedded …” the dashboard is created, but can no longer be saved as an HTML file as written.

A similar problem is described here
https://forum.knime.com/t/cannot-find-save-as-html/46020

I have reinstalled KNIME and the extension in question.

But it didn’t help.

ERROR Bar Chart (JavaScript) 3:175:0:130 Initializing view failed: Executing script failed with timeout. The script is: ‘return (document.readyState == ‘complete’);’
ERROR Bar Chart (JavaScript) 3:175:0:130 Retrieving image from view failed: Executing script failed with timeout. The script is: ‘return document.getElementById(‘node-SINGLE’).contentWindow.dynamicJSNode.getSVG();’
ERROR OpenSubnodeWebViewAction The interactive view for node ‘Component für Dashboard 3:175’ has thrown a ‘NullPointerException’. That is most likely an implementation error.

push :upside_down_face: push
Does anyone have any ideas?

2023-12-07 09_25_43-KNIME Analytics Platform

I have installed the new version of KNIME 5.2. and the KNIME Bundled Chromium Extension. Unfortunately, the dashboard still cannot be saved as an HTML file on the PC.

Hey @USCHUKN1ME,

thanks for reporting the issue. We have investigated and this is a problem on our end. I created a ticket for the problem and we will fix it as soon as possible. (internal reference UIEXT-1493).

On another note, what is the use case for you to get an HTML file out? Have you already tried out the new reporting? This give you the possibility to write out an HTML representation of a component.

Greetings,
Daniel

1 Like

Hello Daniel,

Thank you for the information.

Which new reporting are you talking about? I haven’t heard of it yet.

It’s actually quite simple for us to use. A dashboard with various graphics and key figures is generated twice a day, which is then saved as an HTML file on one of our Windows servers and accessed by the production department via a link in the browser.

I hope this information helps.

Best regards and many thanks for the support.

Hey @USCHUKN1ME,

the reporting is a new feature we introduced in KNIME 5.1 as labs extension and is now out of labs since 5.2. It enables you make use of components to generate html/pdf files out of your dashboard.
If you are only interested in the static dashboard this might be exactly what you are looking for and is definitely a better and more stable way.

Let me know if you have questions and if this is helpful at all for your use case.

Greetings,
Daniel

1 Like

Hi Daniel,
many thanks for that - I didn’t know that.
How do I install the Report HTML Writer node in a workflow?
I have a component that already generates a dashboard.
Can I pass this dashboard on to the node?

Thx in advance

Hey @USCHUKN1ME,

from version 5.2.0 the extension is installed by default and the node should be around. If you are using 5.1.x you have to install the reporting (labs) extension. As soon as you have done that you can go into the component, open the layout editor and you will find a checkbox at the bottom to enable the reporting.
As soon as you have enabled it, the component will get an additional input and output port. The input port you have to feed with a connection from the “Report Template Creator” node or an existing report connection. The output of this node will be the HTML of the dashboard and you can connect it to an HTML writer node to save it.

Let me know if this was clear and solves your use case.
There is also a webinar that shows this feature on Wednesday (What’s New in KNIME Analytics Platform 5.2: New AI Coding Assistant, Improved K-AI, Reporting, and More)

Greetings,
Daniel

1 Like

Hi @DanielBog,

2023-12-11 14_38_20-KNIME Analytics Platform

2023-12-11-Report Template

I found everything - thank you very much.

But unfortunately the dashboard is not displayed as desired:
20231211-Ansicht wird nicht unterstützt

This is how it should be displayed!

Greetings

Hey @USCHUKN1ME,

Sorry I forgot to mention, that the reporting is only working for the new views out of the box. For the JavaScript views you need to enable image generation on the node and use the new Image View node to display them in the report.

Is there a particular reason your are still using the JavaScript views?

Greetings,
Daniel