Help with creating a custom Data Application in KNIME

Hello everyone,

I’m creating this topic to ask for help with tools for building a data application in KNIME. To avoid creating a new thread every time I encounter a challenge, I’d like to use this thread to ask for your help on an ongoing basis, if that’s okay with you.

Currently, I’m facing an issue with customizing a text input field. My goal is to personalize a search bar by adding several styles, such as rounded borders, specific dimensions, fonts, and a search icon.

Unfortunately, I’ve read that customizing the Input String widget doesn’t allow such modifications in the newer versions of KNIME.

I found a workaround using the old node that supports CSS styling. While this works for some styles, adding an icon is more challenging since there’s no HTML or JavaScript support for this widget.

Another solution I tried was creating my own input field using the JavaScript View node. This approach works well for customizing the input field. However, I’m struggling to make it interact with the workflow. Specifically, I want to retrieve the user’s input and use it to filter the data, but it seems like the JavaScript node and the Row Filter node are working independently.

As I’m still new to building data apps, it’s possible that I’ve structured the component incorrectly. I also tried adding a Wait node, thinking that the Row Filter might be applied before the JavaScript input field appears (since the input takes some time to load), but there’s still no interaction between the two nodes.

Here’s a screenshot of my component:

The filter is not apply

Additionally, I’m facing an issue with the page layout. When I open the Layout Editor, I cannot see the components on the page, making it impossible to adjust their layout. I’ve checked and double-checked, but the components are not showing up for layout editing.

Here’s a screenshot of the Layout Editor:

Thank you in advance for your help! Any guidance or suggestions would be greatly appreciated.

Best regards,

Hello @Foxyellow,

Are you able to share the workflow that you are having issues with?

As a side note, have you tried using the ‘Nominal Row Filter Widget’ ? It looks like something that may be of use for filtering rows (for word keys for instance) although I am not sure how your input data looks, so it may not be helpful here.

TL

2 Likes

Hello everyone,

I’m following up on a previous support request. First, I want to thank @thor_landstrom for your earlier response and for suggesting the Nominal Row Filter Widget. My initial issue was resolved by restarting KNIME. Filters are now applied correctly, and I can modify the layout without issues. It seems the problem was related to my computer’s memory.

However, I’m now facing a new challenge regarding the creation of a Data Application.

Context and Issue

I’m developing a real estate rental application that allows users to:

  1. Filter listings based on keywords or location.
  2. Display listings in a web-like interface, showing basic information with a “View More Details” button.
  3. When clicking “View More Details,” additional information is displayed, with two options:
  • Contact the advertiser, or
  • Go back to the listings.

Specific Problem

So far, all of this is handled within a single Generic Javascript View, which is my favorite node because of its flexibility and customization options. If I could create all the pages in this node and manage navigation and data refreshing within it, I would. Unfortunately, that doesn’t seem possible, so I have to rely on other widgets like the Refresh Button or File Upload.

The issue becomes more complicated when the user clicks “Contact the advertiser.” Here’s what I want to implement:

  1. A process to fill out a contact form.
  2. An option to send the request directly or generate a cover letter before sending.
  3. If the user chooses to generate a letter, a local LLM (Large Language Model) would generate it based on files uploaded by the user (e.g., a work contract or payslip).

Technical Challenges

I created this section as a separate component, using a Switch Node to direct the flow based on the user’s choice. However, I’ve encountered an issue:

  • When I execute the component, the entire process runs all at once, without waiting for the user’s choice or interaction with the buttons.
  • This forces the workflow into a single path, whereas I want the execution to be dynamic and step-by-step, depending on user actions.

What I’m Looking For

I’d like to know how to manage navigation between components smoothly and dynamically. Specifically, how to:

  • Ensure that each component runs only after a user interaction (e.g., clicking a button).
  • Trigger the appropriate component or path based on the user’s choices.

I’m working on a local workflow and would like to avoid deploying it to the Business Hub, which seems better suited for managing component pagination and interactions.

Resources Provided

Attached, you’ll find:

  • The workflow,
  • The dataset,
  • A PDF file of a fictitious payslip (to test the cover letter generation process).

Thanks

Thank you in advance for your help and suggestions! I know this community is amazing, and I hope you can shed some light on this issue. Apologies for the long message, but I wanted to be as clear as possible.

Best regards,
Data App_LocAdvisor.knwf (419.9 KB)
sample_payslip_january_2025.pdf (1.4 KB)
redfin_usa_properties_dataset_sample.csv (118.7 KB)