When node scripts are executed (via vm.runInNewContext), an context object is passed to a node. Here is what it contains:
Contains current record. Properties of the record can be accessed normally.
For example, the title of the record:
var title = context.doc.title;
For API nodes (API source and API lookup) context.data holds the request response.
Contains node object itself (params and settings).
Contains total record count.
Contains loop counter (i.e. how many records have been processed).
Nodes communicate with outer world via "out" object.
Some nodes (like API lookup) must provide URL.
This is what is stored to database. It can be an object
This allows node to communicate directly to the user via websocket. Following styles are available:
out.say("progress", "processed 200 of 234");
params view is displayed to the user when s/he creates a node. Values user inserts are then strored to the node in a form params.input_name.
So, if you have an input named "prefix" in params view, the value is then later accessible in node scripts via context object like this:
var pre = context.node.params.prefix;
settings view is displayed to user when the node is selected in a project view.
If node has input named "separator" in settings view, the value is then later accessible in node scripts via context object like this:
var sep = context.node.settings.separator;
data_static allows node to set a static data view. This is useful when the structure of the data is known. For example, data queried from API has certain kind of structure.