Feature Request: File Creation Configuration

What I’m always struggling with is when I have a workflow/component that generates a file as output and the user should be able to select the location and name of the generated file. All the file chooser type nodes only work with existing files. This leads to having to use string inputs which is extremely inconvenient.

What is needed is a “File Creation Configuration” node or however you want to name it. Anyway it should give the user a file system browser in “Save as…” mode so he can browse to the desired location and select a non-existent file via file choser.

This is especially for components offering some functionality closed in itself.

EDIT: An easy win could be the Local File Browser Config node having an option to work even if the file doesn’t exist.

3 Likes

Hi @beginner

Since you’re referring to components, I’m assuming you’re running this on the WebPortal. If so, then the File Download widget node will do what you’re asking.

Here’s a setup that I’ve gotten to work.

fiel download widget

You’d :

  1. use the Create Temp Dirrectory node to create variables for a temporary directory and file name
  2. pass those variables to the relevant file creation node which will save the output file to that directory
  3. pass that file name and path to the File Download Widget
  4. wrap all 3 nodes in a component.

Hi elsamuel,

actually no. The issue is mainly when using the client and sharing workflows or components via client or simply for resuability for myself.

In the web portal it in fact is easy as you get a link to a file and then automatically the save as dialog (or auto save to downloads folder depending on users browser config).

Hi there @beginner,

think (at least I hope) I understand your idea/request but how should user select an non-existing file? All user can do is type name for new file and that is exactly what String Configuration node can be used for.

Here is topic with same request from a week ago:

Also you can add Value Selection Configuration node into this component where user can choose file extension.

Br,
Ivan

By browsing to the desired directory and then typing in the file name like in any “Save As…” Dialog. This way the user only has to type in the file name and not a full path which he most likely doesn’t know anyway like “c:\Users\ipazin\documents\knime”.

The convenience is mostly about the folder path as obviously the file must be given a name. File Extension can be limited by the Save As dialog. I think this should be easy as it’s just a Save as dialog vs a selection dialog which most likely means changing a single option. This could actually be an easy win.

EDIT:
Using 2 nodes just adds to the configuration mess and 2 input fields for the user is also not very intuitive.

Alternatively the existing Local File Browser node could have an option to not fail on a non existing file if adding a new node is too heavy.

I mean why does Word, Excel have a Save As… dialog? KNIME itself has it when exporting workflows for example.

Hi @beginner,

well I do understand better now. Tnx for additional explanation. Still I don’t understand why additional configuration node creates mess and why this is not intuitive? You choose directory and type file name…

DirAndFileName

Anyways I can see use case for node which creates flow variable(s) with path to non-existing files (in existing directories) so will check and get back to you.

Br,
Ivan

1 Like

Hi @beginner,

checked it and there is actually node which creates flow variable with path to non-existing file - Create File Name but is not a configuration node so probably doesn’t help in your case…

Anyways if something starts happening regarding your feature request I will write to this topic.

Br,
Ivan

OK, I do see your point and it’s certainly not a top priority. But I’m still going to nitpick:

  1. It’s non-standard

Show me an app on windows (or linux) that doesn’t have a save as… dialog.

  1. The Mess

The Mess happens inside the node when you have 10+ configuration nodes which you can’t further “group”. In fact a good thing would be the ability / option to let configurations bubble-up to top level component. Currently it’s not really possible to make small reusable components because they can’t be reused inside another component (well they can but the configurations can’t be easily set).
Actually that would be far cooler and fore higher priority now that I thought of this.

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