Node Generator, JDK and KNIME ...

Dear Krimers, please help me. Namely, I would like to use the NodePit product in my work: “Node Generator for Web APIs”, which says that for the installation of the mentioned product it is necessary to use, among other things: "…Make sure that you have a Java JDK 17 or higher … installed … " but, when I tried to do this on my machine (Windows 11), KNIME would no longer start, until the specified platform was uninstalled - then KNIME would “work” again. So any advice please? How do I have to configure my system if I want to succesfully install Node Generator on my machine? Do I have to setup line in Windows 11 Environment variable?
Thanks
Stjepan

Maybe I forgot to mention that I’m using:
Windows 11
KNIME 5.3.2.

Hi Stjepan,

I built the NodePit Node Generator and I’m happy to support to get it working, but to be frank I cannot make much sense of the issue you mention.

Especially I’m having trouble to understand why KNIME would no longer work when installing a JDK - such a thing should not interfere with KNIME at all as KNIME brings its own bundled Java runtime (may a KNIME official correct me if I’m wrong).

So - please describe in more detail what you did and what happens (command line input, installations of which packages exactly, which KNIME version exactly do you use, which error messages do you see, any log messages, etc.)

Thank you!

-Philipp

3 Likes

Thanks qqilihq for your kindly answer, for some reason - I was try it again following the same instrunctions - everything go well at these time and finally I have, thanks to You and NodePit Generator, API’s function I was looking for right on my table - in Node’s kind of fashion. Thanks again, sorry for disrupption
Best Stjepan

1 Like

Hey Stjepan,

That’s great to hear :+1: - in case your API might be of general interest and you’d be willing to share, feel free to get in touch with us at NodePit :slight_smile:

Best regards,
Philipp

Hi Philipp, I will, of course … but right now I’m facing with following issue: I succesfully test your greit product on this swagger API (and everything was going fine): https://developer.clarivate.com/apis/woslite/swagger but when I try to make it work with next one: https://developer.clarivate.com/apis/wos-starter/swagger
something goes wrong and I get error’s, which part od this error’s note I put down (mainly says it is something about character “-”)

[ERROR] package com.clarivate.api.apis.wos-starter.v1.port;
[ERROR] ^
[ERROR] Syntax error on token “-”, . expected

Any advice?
Thanks again
Stjepan

This is an issue on our end: We do not properly transform the package name for the substring wos-starter as Java will not allow - in package names.

We’ll address this (or I somehow think we already have, and just need to release a new public version :thinking: @danielesser )

Anyhow: For now you could globally search for the string com.clarivate.api.apis.wos-starter in the generated code and replace it with com.clarivate.api.apis.wos_starter (replace hyphen with lodash) and it should build.

Let me know :slight_smile:

2 Likes

@ssimara … or you can just redownload the generator in v1.2.1 (see here) and it should work right away!

2 Likes

Brilliant! You are faster than a shadow! in finding solution … and now everything works fine, seems to me! You saved a lot of work for me thanks to this product! Great work. Thanks again
Stjepan

1 Like

Hi Philipp againe, maybe if I can suggest that all generated API’s can be group together under the same category, for example, NodePit API generator? In same cases API creators use sometimes generic names to, for set of APIs, like OpenAPI and so on, so you just can not easilly distigvish them … Best, Stjepan

Hi @ssimara,

please have a look at the parameter --root-categories:

Use the given category/ies as root. Use the following syntax: ‘root-id=Root Category|parent-id=Sub Category’

For example, --root-categories "nodegen=NodePit API Generator" will put your generated nodes under a root category named “NodePit API Generator”. So you will end up with a category structure as follows:

NodePit API Generator
  -> WOS Starter Nodes
    -> *All nodes live here*

In addition, you can customise the category of your nodes (not the root category) with --category-icon and --category-name.

Best regards,
Daniel

1 Like

Thanks danielesser, it sounds great but, sorry for my ignorance, I do not know where to look at for to find such a parameter line … maybe you could point me out?
Thanks anyway
Stjepan

No worries, @ssimara.

Just add the parameter when (re)generating the nodes (see #3), here for example for the PetStore Nodes:

java -jar nodegenerator.jar https://petstore.swagger.io/v2/swagger.json --root-categories "nodegen=NodePit API Generator"

Hint 1: There are plenty more options available. You can list them running the following command:

java -jar nodegenerator.jar

Hint 2: Once generated, you can run the generated script generate.sh in your node directory to re-generate the nodes. All previous parameters are stored in the args file and will be used on regeneration, so you can also add parameters to this file before running generate.sh.

Best regards,
Daniel

1 Like

Greit. Works. Thanks danielesser.
Best,
Stjepan

1 Like

Hi danielesser, I have a question, KNIME is version 5.4
When I generate new API with script below:
java -jar nodegenerator.jar https://developer.clarivate.com/apis/wos-starter/swagger --root-categories “nodegen=NodePit API Generator” --category-name=“WoSStarter API”
it does not create category “WoSStarter API” in new tree view of node repository under the root category: “NodePit API Generator”.
But everything looks fine when I switch to old UI, like in picture below:


In new UI (KNIME 5.4) there is no desire category name (new generated nodes are placed under the tree view category named: UNCATEGORIZED, see picture:

Thanks in advance
Stjepan

Hi @ssimara,

Parameters look fine. Seems to a modern ui problem… any hints or warnings from the log when starting KNIME?

You might need to switch to the classic ui to see the console log (no idea if KNIME has already had the courtesy to port it to the modern ui) and enable the log level debug in your KNIME settings.

Best regards,
Daniel

Tell me about it!

I was initially excited to see that KNIME has re-added the tree view functionality for the nodes in version 5.4 - only to realize that it’s broken.

See the following picture comparing the traditional view (with the expected structure, following the established conventions of the existing extension points which has been working for years) with the “improved” one. The message suggests that KNIME doesn’t like to combine different plugins under a common category any longer (let alone the fact, that the actual implementation of the new segregation functionality seems broken and inconsistent).

Ah well - be it. Chance missed, I’ve switched back to “Classic” again.

Besides that rant, what do we know and what does this mean for you using the Node Generator or end users using our nodes (i.e. the ones traditionally showing up in the category “NodePit”)?

  1. The nodes themselves and workflows using these nodes will work just fine,
  2. The nodes can be easily found by using the search field,
  3. If you’re using the new interface, some nodes will show up as “uncategorized”,
  4. If you’re using the traditional interface, the nodes will show up at the expected place,
  5. KNIME might reconsider if it’s necessary to break an existing, established structure.
  6. We’ll see if there’s a viable workaround. Thank you and kudos to @danielesser for the initial investigations.

-Philipp

1 Like

Thanks Philipp for answer, I agree with you at all. KNIME new UI team designers are “not aware”, it seams, how new categorized tree view really looks like - we need, funny to said that, second treeview for category named: UNCATEGORIZED.
In meanwile, thanks to danielesser, I findout the way how to grouped new generated nodes and to get then separated in new tree view UI.
But something deeply get wrong in try to see KNIME extensions in right way categorized under new Tree View.
Best
Stjepan

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.