# Discusion about node basics... (What should a group of nodes have?)

**URL:** <https://discourse.nodered.org/t/discusion-about-node-basics-what-should-a-group-of-nodes-have/51879>\
**Category:** Developing Nodes\
**Created:** [5 October 2021 10:03 UTC](https://discourse.nodered.org/t/discusion-about-node-basics-what-should-a-group-of-nodes-have/51879 "2021-10-05T10:03:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![lizzardguki](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/lizzardguki/32/103637_2.png) [@lizzardguki](https://discourse.nodered.org/u/lizzardguki)\
**Post date:** [5 October 2021 10:03 UTC](https://discourse.nodered.org/t/discusion-about-node-basics-what-should-a-group-of-nodes-have/51879/1 "2021-10-05T10:03:57Z")

</div>

So after about one year of the last developed node, a new client stumbled upon me to create a node for a specific domain register website. They do have the API and this will be very easy to code...  
I want to deliver as a fully professional-built node, but I will update the API parts weekly.  
So the main question is: What should a group of nodes have? I need a checklist I could follow, and decided to ask here on the forum, while looking at some other 'stock' nodes...

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [5 October 2021 12:49 UTC](https://discourse.nodered.org/t/discusion-about-node-basics-what-should-a-group-of-nodes-have/51879/2 "2021-10-05T12:49:56Z")

</div>

> [@lizzardguki](#):
>
> What should a group of nodes have?

Well that is a VERY open-ended question and obviously depends very heavily on what you are delivering and how. The official docs on creating your own nodes contains all of the basics as well. But here are a couple of thoughts anyway to maybe get things going:

- The code should be in GitHub if you are making it available.
- There should be a comprehensive `package.json` file - try the uibuilder package as an example since I think I have everything important in there.
- There should be a good README that describes what the nodes do succinctly, how to install them and where further documentation on usage can be found (that can be in the README if the nodes are simple).
- If your nodes pass messages through, they should not override the content of the incoming msg unless there is a really good reason to do so and it is clearly documented.
- Nodes should generally use msg.payload for the most important data content.
- Nodes should allow the use of msg.topic. You might allow a default topic to be set in the node's Editor panel if appropriate.
- All nodes should allow the setting of a `name` field in the Editor panel.

What else?

---

<div class="post-metadata">

**Author:** ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)\
**Post date:** [5 October 2021 15:34 UTC](https://discourse.nodered.org/t/discusion-about-node-basics-what-should-a-group-of-nodes-have/51879/3 "2021-10-05T15:34:13Z")

</div>

Some extra points besides Julian's nice overview:

- Make your example flows available via the "Import" menu in the flow editor.
- The info panel should contain the most important information about your node. And add on your Info panel a link to your "Import" menu example flows, as @Steve-Mcl has described in another discussion.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [6 October 2021 08:03 UTC](https://discourse.nodered.org/t/discusion-about-node-basics-what-should-a-group-of-nodes-have/51879/4 "2021-10-06T08:03:05Z")

</div>

> [@BartButenaers](#):
>
> The info panel should contain the most important information about your node. And add on your Info panel a link to your "Import" menu example flows, as @Steve-Mcl has described in another discussion.

You mean this?

> [@Quick access to examples not available in ctrl+shift+p](https://discourse.nodered.org/t/quick-access-to-examples-not-available-in-ctrl-shift-p/26235/5):
>
> Thanks again Nick. PS, that looks nice - with the addition of linking to examples would be even sweeter slight_smile In an effort to improve discovery, I have recently started adding this in my nodes help (so it is front and centre)... [image]
