I’m facing an odd problem whenever a try to create a BIRT report of my workflow.
I have all the data ready, I add a Data to Report node, I click on the icon for the BIRT report and then, after saving the workflow, while KNIME is loading, it crashes immediately and I have to terminate it with the task manager.
The followings are the main errors that I got:
Could not load native RDKit library: no GraphMolWrap in java.library.path
An error occurred while automatically activating bundle com.vernalis.knime.chem.mmp
org.osgi.framework.BundleException: Exception in com.vernalis.knime.mmp.MatchedPairsMultipleCutsNodePlugin.start() of bundle com.vernalis.knime.chem.mmp.
Additional information: my workflow is inside a Recursive loop node.
when you say your workflow is inside a Recursive Loop, is the Data To Report node also inside the loop? (This is possible, it should not work at all but could be the reason from the error)
From your error, could you try deinstalling RDKit nodes?
If you are attempting to loop through and create multiple BIRT reports in the same workflow, then this link gives an example. The approach works well and I use it regularly.
Yes, the Data To Report node is inside the Recursive Loop (like in the picture below).
The Inner loop is running inside an outer loop before that.
My goal would be that in the component in the middle (that is a page in the WebApp with some tables and plots), I can show a button with the possibility to download the report for that specific page (with every loop the page is different because I can choose between different parameters and obtain different tables and plots).
I’ve tried to uninstall the RDKit nodes, but nothing changes, whenever I run the Data To Report node and then I try to open the report for editing it, then KNIME freeze and I have to shut it down via the task manager.
I had a long battle when I initially attempted to create multiple reports in one workflow via looping.
If you want to generate separate reports for each loop, then only way to do it is with a parent workflow that calls a child workflow like the one in the link.
If a single larger report is an option, then you could send all of the data to BIRT after the loop end. Then you can group on the iteration count to split the report into your separate loop sections. However, it sounds like in this case you will need to generate separate reports so that each can be given different link address.
Thank you very much @iCFO for your suggestion, I’ll definitely try also this way.
Seems tricky with what I have right now, but if I succeed I’ll be back to share my solution!