From b403772de10bc85561ca34dc0ab1e2f23ee6e0c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nathana=C3=ABl=20L=C3=A9caud=C3=A9?= Date: Mon, 15 May 2017 10:18:18 -0400 Subject: [PATCH] Created Design: external file for function and templates nodes (markdown) --- ...-external-file-for-function-and-templates-nodes.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 Design:-external-file-for-function-and-templates-nodes.md diff --git a/Design:-external-file-for-function-and-templates-nodes.md b/Design:-external-file-for-function-and-templates-nodes.md new file mode 100644 index 0000000..a4050e0 --- /dev/null +++ b/Design:-external-file-for-function-and-templates-nodes.md @@ -0,0 +1,11 @@ +# Node-RED: External file proposal +## The problem +Currently, the 3 code centric nodes (`function`, `template` and `ui-template`) load their code from a window within the node’s configuration page. While this approach works fine for small single-person projects, it gets complicated in a multi-user project hosted on GIT. + +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 user’s file system. + +## 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. + +## Exporting flows +This brings one problem, what happens when someone exports a flow ? We propose the addition of a checkbox in the flow export dialog named `Embed external files` that would embed the external file contents within the exported flow making sharing of that flow possible. \ No newline at end of file