Updated Design: dynamic palette (markdown)

Nick O'Leary 2014-08-24 01:20:24 -07:00
parent a60dbffb3c
commit 2c18c0a838
1 changed files with 2 additions and 13 deletions

@ -16,20 +16,9 @@ Some points that need to be considered:
- what to do if the node is being used in the current flow? Safest option is to reject the removal.
- removing a node, without also removing the files, will mean it returns to the palette on the next restart. That would be unexpected.
---
## On the packaging of nodes
### node ###
A **node** is defined in an html file and a js file. The js file will include a call to the runtime's version of `RED.nodes.registerType`. The html file will contain the template and help script blocks, along with a call to the editor's version of `RED.nodes.registerType`.
### node set ###
A js/html file pair may contain multiple **nodes**. This is called a **node set**. Any error loading the js/html files will cause all **nodes** in a **node set** to be unavailable.
### node module ###
An npm **node module** may contain multiple js/html file pairs - each identified in the `package.json` file. Hence, an npm module may contain multiple **node sets**, each containing 1 or more **nodes**.
### node pack ###
A `node pack` is a collection of similarly-themed nodes that a user might want to install together. It is structurally the same as a node module, but acts as a meta-package that pulls in multiple specific **node modules** using the standard package dependency mechanism.
See [[Definitions]] for a description of node/node set/nide module/node pack.
### Add/Remove vs Enable/Disable
The Add/Remove api is for getting new nodes installed into the runtime as well as removing them. It operates at either the js/html level, or the node module level.