A Glossary of Node-RED terms

Published: | Updated: | by Julian Knight Reading time ~2 min.
📖 Kb | 📎 Development | 🔖 node-red

For those not used to it, the terminology used in Node-RED can occasionally be confusing. Due in part to the overloading of some terms. So I’ve come up with this glossary to help keep myself from getting confused.

A draft set of terminology for Node-RED, the flow-based visual programming tool.

Glossary 🔗︎

  • Editor: The Node-RED admin UI. Where you edit and deploy flows.
  • Flows: The collection of node instances and wires defined by the Flows file loaded by Node-RED at run time.
  • Flow: A tab in the Node-RED admin UI used to break Flows into more manageable chunks.
  • flow: A set of node instances and wires with in a Flow tab.
  • Package: An npm package used, amongst other things, to install Node-RED Nodes.
  • Node: The source definition for nodes that can be used in Node-RED Flows. Defined normally by an npm Package (though actually defined by 3 files: package.json, an html file for the admin UI and a JavaScript file for the server process).
  • Node Instance: An instance of a Node added to a flow. A Node (definition) may have many instances in Flows.
  • node(s): same as Node Instance(s).
  • wire(s): The logical connectors between nodes. Conceptually, messages “travel” between nodes. In reality, they don’t, data is simply passed by reference (except for the edge cases where a message copy is forced).
  • message(s): Often referred to by the short name msg which is the variable name generally used to reference the message. This is the data object used to communicate between nodes. Typically, it has the minimal definition: {{_msgid: uid, topic: undefined|string, payload: Object|Array|string|number}} but other than requiring _msgid (which is added by Node-RED), it may contain any valid, serialisable JavaScript.
  • userDir: The server folder that contains the Flows file, settings.js and other Node-RED configuration information. Typically residing at ~/.node-red.
  • Project: a Flows file and other configuration files that allow rapid switching between Flows. Note that a project shares the same set of Packages (and therefore Nodes) and global Node-RED settings as all other projects. Only the Flows file, matching credentials, a README and a minimalist package.json are part of a project. Projects are designed to enable teams to work together and can use GIT to manage the data collaboration.

comments powered by Disqus