[{"data":1,"prerenderedAt":315},["ShallowReactive",2],{"blog-\u002Fblog\u002F2022\u002F12\u002Fnode-red-flow-best-practice":3},{"id":4,"title":5,"body":6,"description":12,"extension":304,"meta":305,"navigation":310,"path":311,"seo":312,"stem":313,"__hash__":314},"blog\u002Fblog\u002F2022\u002F12\u002Fnode-red-flow-best-practice.md","Format your Node-RED flows for better team collaboration",{"type":7,"value":8,"toc":289},"minimark",[9,13,16,21,32,37,45,49,56,60,63,67,74,78,85,89,92,96,103,107,114,118,121,125,132,136,143,147,150,154,161,165,172,181,184,188,195,199,206,210,213,217,224,228,235,239,251,271,282,286],[10,11,12],"p",{},"When it comes to working on Node-RED flows as part of a team, there are a few best practices that can make things go more smoothly.",[10,14,15],{},"From formatting your flows for readability to providing clear comments on nodes and groups, a little bit of effort upfront can save your team a lot of headaches down the road. In this post, we'll cover some of the main things to keep in mind when working on Node-RED flows as part of a team.",[17,18,20],"h3",{"id":19},"give-your-groups-descriptive-names","Give your groups descriptive names",[10,22,23,24,31],{},"Let’s start with ",[25,26,30],"a",{"href":27,"rel":28},"https:\u002F\u002Fnodered.org\u002Fdocs\u002Fuser-guide\u002Feditor\u002Fworkspace\u002Fgroups",[29],"nofollow","grouping your flows"," and giving each group a clear explanation of what it does. Compare the first to the second example below and consider how much more quickly you can understand what the flow is doing.",[33,34,36],"h4",{"id":35},"this-is-not-helpful-time-doesnt-tell-you-enough-to-understand-the-flows-purpose","This is not helpful, 'Time' doesn't tell you enough to understand the flow's purpose.",[10,38,39],{},[40,41],"img",{"alt":42,"src":43,"title":44},"\"Screenshot showing the example of flow having the bad group name\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fname-bad.png","Screenshot showing the example of flow having the bad group name",[33,46,48],{"id":47},"this-is-much-better-we-know-what-the-flow-is-doing-without-inspecting-the-nodes","This is much better, we know what the flow is doing without inspecting the nodes.",[10,50,51],{},[40,52],{"alt":53,"src":54,"title":55},"\"Screenshot showing the example of flow having the good group name\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fname-good.png","Screenshot showing the example of flow having the good group name",[17,57,59],{"id":58},"explain-what-your-switches-do","Explain what your switches do",[10,61,62],{},"Try to make it obvious what each switch does without having to open the node editor. Ask a question in the switch's name and make a positive answer the top connection out.",[33,64,66],{"id":65},"this-is-not-easy-to-understand-what-does-the-switch-do","This is not easy to understand, what does the switch do?",[10,68,69],{},[40,70],{"alt":71,"src":72,"title":73},"\"Screenshot showing the example of flow having the switch with bad name\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fswitch-bad.png","Screenshot showing the example of flow having the switch with bad name",[33,75,77],{"id":76},"this-is-a-lot-better-we-can-see-that-the-top-debug-should-be-triggered","This is a lot better, we can see that the top debug should be triggered.",[10,79,80],{},[40,81],{"alt":82,"src":83,"title":84},"\"Screenshot showing the example of flow having the switch with good name\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fswitch-good.png","Screenshot showing the example of flow having the switch with good name",[17,86,88],{"id":87},"where-possible-your-flows-should-work-down-the-canvas","Where possible your flows should work down the canvas",[10,90,91],{},"It makes it so much easier to understand what happens and in which order if your flows start at the top of the canvas and work down to the bottom.",[33,93,95],{"id":94},"this-is-almost-unreadable-its-very-hard-to-work-out-the-order-of-the-groups","This is almost unreadable, it's very hard to work out the order of the groups.",[10,97,98],{},[40,99],{"alt":100,"src":101,"title":102},"\"Screenshot showing an example of flow that doesn't work down the canvas\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fflowdown-bad.png","Screenshot showing an example of flow that doesn't work down the canvas",[33,104,106],{"id":105},"where-as-this-is-so-much-easier-to-understand","Where as this is so much easier to understand.",[10,108,109],{},[40,110],{"alt":111,"src":112,"title":113},"\"Screenshot showing an example of flow that works down the canvas\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fflowdown-good.png","Screenshot showing an example of flow that works down the canvas",[17,115,117],{"id":116},"use-link-nodes-rather-than-wires-to-join-groups","Use link nodes rather than wires to join groups",[10,119,120],{},"Groups should not be joined using wires, it just looks untidy and quickly reduces readability of your flows.",[33,122,124],{"id":123},"the-wire-is-blocking-the-title-it-only-gets-worse-as-you-add-more-wires","The wire is blocking the title, it only gets worse as you add more wires.",[10,126,127],{},[40,128],{"alt":129,"src":130,"title":131},"\"Screenshot showing an example of flow with wires blocking group titles\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Flink-bad.png","Screenshot showing an example of flow with wires blocking group titles",[33,133,135],{"id":134},"you-can-see-the-group-titles-easily-now","You can see the group titles easily now.",[10,137,138],{},[40,139],{"alt":140,"src":141,"title":142},"\"Screenshot showing an example of flow with link nodes improving readability\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Flink-good.png","Screenshot showing an example of flow with link nodes improving readability",[17,144,146],{"id":145},"keep-your-groups-compact","Keep your groups compact",[10,148,149],{},"Keeping your groups compact will save time when reading the flow. This is especially helpful if when viewed on a smaller screen.",[33,151,153],{"id":152},"consider-how-hard-a-flow-made-of-groups-spaced-out-like-this-would-be-to-read-on-a-smaller-laptop-screen","Consider how hard a flow made of groups spaced out like this would be to read on a smaller laptop screen.",[10,155,156],{},[40,157],{"alt":158,"src":159,"title":160},"\"Screenshot showing an example of flow with widely spaced groups\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fcompact-bad.png","Screenshot showing an example of flow with widely spaced groups",[33,162,164],{"id":163},"this-now-takes-up-less-space-and-is-arguably-easier-to-read-on-any-screen-size","This now takes up less space and is arguably easier to read on any screen size.",[10,166,167],{},[40,168],{"alt":169,"src":170,"title":171},"\"Screenshot showing an example of flow with compact groups\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fcompact-good.png","Screenshot showing an example of flow with compact groups",[17,173,175,176,180],{"id":174},"dont-cross-beams-wires","Don’t cross ",[177,178,179],"del",{},"beams"," wires",[10,182,183],{},"Crossed wires are not only hard to read, they can lead to misinterpretation of what a flow actually does. Where possible don’t cross your wires, where you can’t avoid it try to make sure it’s easy for the reader to understand where wires cross as rather than join.",[33,185,187],{"id":186},"this-is-confusing-which-change-node-does-the-top-switch-output-link-to","This is confusing, which change node does the top switch output link to?",[10,189,190],{},[40,191],{"alt":192,"src":193,"title":194},"\"Screenshot showing an example of the flow with nodes having crossed beams\u002Fwires\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fwires-bad.png","Screenshot showing an example of the flow with nodes having crossed beams\u002Fwires",[33,196,198],{"id":197},"this-is-better-much-less-chance-of-confusing-the-change-nodes","This is better, much less chance of confusing the change nodes.",[10,200,201],{},[40,202],{"alt":203,"src":204,"title":205},"\"Screenshot showing an example of the flow with nodes having correctly linked beams\u002Fwires\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fwires-good.png","Screenshot showing an example of the flow with nodes having correctly linked beams\u002Fwires",[17,207,209],{"id":208},"dont-use-link-nodes-in-groups-where-avoidable","Don’t use link nodes in groups where avoidable",[10,211,212],{},"Excessive link nodes within groups can make a flow much harder to understand, where possible use wires to join nodes within a group.",[33,214,216],{"id":215},"this-is-hard-to-read-and-you-will-end-up-checking-the-link-nodes-again-and-again","This is hard to read and you will end up checking the link nodes again and again.",[10,218,219],{},[40,220],{"alt":221,"src":222,"title":223},"\"Screenshot showing the example of flow having the uneccessary link nodes\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fgroupwires-bad.png","Screenshot showing the example of flow having the uneccessary link nodes",[33,225,227],{"id":226},"functionally-identical-to-the-example-above-it-should-only-take-a-few-seconds-to-understand-this-flow-now","Functionally identical to the example above, it should only take a few seconds to understand this flow now.",[10,229,230],{},[40,231],{"alt":232,"src":233,"title":234},"\"Screenshot showing an example of the flow with the avoided link nodes\"","\u002Fblog\u002F2022\u002F12\u002Fimages\u002Fgroupwires-good.png","Screenshot showing an example of the flow with the avoided link nodes",[17,236,238],{"id":237},"boost-collaboration-with-flowfuse","Boost Collaboration with FlowFuse",[10,240,241,245,246,250],{},[25,242,244],{"href":243},"\u002F","FlowFuse"," is a cloud-based platform that makes working together on Node-RED projects easier and more efficient. It’s trusted by industries like manufacturing and smart building management, as well as textiles, to improve their systems. For more information, refer to our ",[25,247,249],{"href":248},"\u002Fcustomer-stories\u002F","customer stories",".",[10,252,253,254,258,259,264,265,270],{},"With FlowFuse, you can quickly ",[25,255,257],{"href":256},"\u002Fdocs\u002Fuser\u002Fteam\u002F","set up and manage teams",", giving each member the right level of access. It keeps all your ",[25,260,263],{"href":261,"rel":262},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=KOnQnR7yfT0&list=PLpcyqc7kNgp3nRacWBJ9JUVUJqtTjXdvh&index=2",[29],"Node-RED instances organized in one place",", so your team can collaborate seamlessly. Plus, it features ",[25,266,269],{"href":267,"rel":268},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=m2Onip4Lf4w",[29],"snapshots",", which let you restore previous versions of your flows if something goes wrong. FlowFuse simplifies team collaboration, making it easier to manage and work on Node-RED projects.",[10,272,273],{},[274,275,276,281],"strong",{},[25,277,280],{"href":278,"rel":279},"https:\u002F\u002Fapp.flowfuse.com\u002Faccount\u002Fcreate",[29],"Sign up"," now for a free trial and experience FlowFuse's powerful collaboration tools!",[17,283,285],{"id":284},"conclusion","Conclusion",[10,287,288],{},"Working on Node-RED flows as part of a team doesn't have to be a headache. By following some simple best practices you can make collaboration smooth sailing for everyone involved. So next time you're starting work on a new Node-RED flow, remember these tips and make life easier for yourself and your teammates.",{"title":290,"searchDepth":291,"depth":291,"links":292},"",2,[293,295,296,297,298,299,301,302,303],{"id":19,"depth":294,"text":20},3,{"id":58,"depth":294,"text":59},{"id":87,"depth":294,"text":88},{"id":116,"depth":294,"text":117},{"id":145,"depth":294,"text":146},{"id":174,"depth":294,"text":300},"Don’t cross beams wires",{"id":208,"depth":294,"text":209},{"id":237,"depth":294,"text":238},{"id":284,"depth":294,"text":285},"md",{"navTitle":5,"excerpt":306},{"type":7,"value":307},[308],[10,309,12],{},true,"\u002Fblog\u002F2022\u002F12\u002Fnode-red-flow-best-practice",{"title":5,"description":12},"blog\u002F2022\u002F12\u002Fnode-red-flow-best-practice","xcK-vhgAIvHp6WCc1ab25dG5SiRmDrI3rTPciu5c7BM",1780070550086]