-
Notifications
You must be signed in to change notification settings - Fork 157
Flow Dev Guideline
Yu Nakata edited this page Dec 13, 2018
·
51 revisions
This page is for discussing about how to make Flow Dev Guideline.
You can check the original contents at HERE.
- Designing a flow
- Designing messages
- Parameter that stores data shared between nodes
- Parameters that control the functionality of a unique node
- In a node to which multiple messages with different types are input, add tag information for identification to each message.
- Store a large amount of data in persistent storage outside Node-RED and reference the data.
- Processing depending on the order of arrival of messages
- Design pattern
- Pattern regarding the structure between flows
- Facade pattern
Messages can cause dependencies between multiple nodes. For other developers to reuse flows, it is important to design messages so that dependencies get to be relaxed. Therefore, this chapter proposes a guide about designing message.
- Do not make multiple nodes use same property
- Importance of dividing data processed by node(msg.payload property) and controlling feature of node(msg.).
- How to prevent
- Recommended pattern of parameter setting
In a node to which multiple messages with different types are input, add tag information for identification to each message.
- Necessity of tag due to the fact that there is only one input port of node
- Points to note when handling large amounts of data
- The order of arrival of messages when processing multiple messages
// Accumulation of messages
var msgs = context.get('messages') || [];
msgs.push(msg);
if(msgs.length === ...) {
... // Process messages
}
context.set('messages', msgs);
Well designed sample flows help development of flow, especially for Node-RED beginers. This chapter introduces general design patterns.