1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

Updated Design: external file for function and templates nodes (markdown)

Nathanaël Lécaudé 2017-05-15 10:21:48 -04:00
parent b403772de1
commit 54b9c2d9df

@ -4,6 +4,8 @@ Currently, the 3 code centric nodes (`function`, `template` and `ui-template`) l
Doing diffs and merging flow files with a large number of functions or templates is a manual process now. This could be improved greatly if there was an option, in addition to the current mechanism, to load the code content of these nodes from a file on the users file system. Doing diffs and merging flow files with a large number of functions or templates is a manual process now. This could be improved greatly if there was an option, in addition to the current mechanism, to load the code content of these nodes from a file on the users file system.
We know some third party nodes do this but we think this should be integrated in the code. The main downside of using third party nodes is they need to be kept up to date with the core to reflect changes in the function or template nodes which is not always the case. Having this in the core would ensure that everything it up to date.
## Proposition ## Proposition
We propose the addition of a checkbox named `Load from external file` just above the code field. Checking this checkbox would make a field appear where the user can type the path to a file, similar to the `file-in` node. Given the fact some cloud environment are not compatible with a traditional file system, a setting named `allowExternalFiles` could be added in `settings.js` to disable this feature entirely. We propose the addition of a checkbox named `Load from external file` just above the code field. Checking this checkbox would make a field appear where the user can type the path to a file, similar to the `file-in` node. Given the fact some cloud environment are not compatible with a traditional file system, a setting named `allowExternalFiles` could be added in `settings.js` to disable this feature entirely.