Improving the Node Ecosystem #59
Replies: 7 comments 20 replies
-
Beta Was this translation helpful? Give feedback.
-
NamingThe current convention is for community nodes to use a package name with a prefix of |
Beta Was this translation helpful? Give feedback.
-
ExamplesToday very few packages include example flows, and for those that do very few users think or know where to look to load the examples. We need to raise the awareness of examples:
Where examples are included in the README we should start making PR’s against the nodes to move those into an examples folder, This could be something to promote for Hacktoberfest? |
Beta Was this translation helpful? Give feedback.
-
LifecycleOnce a package has been added to the catalog there is currently no easy way for a developer to manage its lifecycle, it is proposed to add 2 new actions for a logged in owner of a package: DeprecateThis will mark a package as deprecated showing that the developer no longer intends to maintain it with updates or support. The developer will be asked to add an optional message that will be shown on the catalog page, perhaps recommending an alternative or even just to ask for a new owner to take over. RemoveThis will remove a node from the catalog, It does not remove the node from NPM (as this generally isn’t possible) so existing users with the node installed will still be able to update or rebuild their instances, however it will not show up in the palette manager or on the flows.nodered.org pages. Should we auto remove nodes after a fixed time of deprecation, eg 1 year?? ReportThe report button is on the site today but only availble to logged in users and generally it is intended for flagging objectionable content. We could look to expand this use to have users flag nodes which appear to be abandoned and then consider marking them as deprecated. |
Beta Was this translation helpful? Give feedback.
-
SupportAn issue that was raised by both users and developers is around support for nodes. While github issues work well for some people many users don’t have github accounts and it`s not always an obvious path to get from a node in the editor to the appropriate github repo. The following changes should help to address this:
In addition having posts in the forum tagged with the relevant nodes would open up the possibility for developers to signup to be emailed when a post with their node-tag is created, this could form part of a certification/rated nodes programme in the future. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
I don't think you need the process to think about that. Yes, lets put something in the docs but the responsibility belongs with the author.
This already exists doesn't it. I've always used the following in
Agree. Even node.js itself backed off from this. A warning is sufficient. |
Beta Was this translation helpful? Give feedback.
-
The node-red ecosystem is now 7 years old and in that time over 3000 node packages have been published to the catalog. Over time this has led to a certain amount of ‘cruft’ within the catalog as packages have become abandoned by their authors, API’s have changed and the platform has evolved.
This in turn has led to frustration for both developers who have wanted to contribute fixes to nodes but because the developer has not responded, generally this results in a forked package with a similar name and more cruft in the ecosystem.
Users then find it difficult to to identify which is the ‘best’ package to meet their needs further causing frustration both for the user and the developer of the newer maintained packaged that they can’t stand out from the older outdated package.
Node-RED relies on the npm platform to underpin our package management therefore to some extent we are limited by the constraints of that and the existing legacy packages, however the following proposals are intended to to work within those confines to address some of the issues and over time improve the general health of the ecosystem.
We also recognise that there are a large number of developers that create and publish nodes primarily for their own use and enjoyment, we do not want to put additional barriers in place that discourage these contributions, therefore we are committed to maintaining the ability to publish to NPM and get listed in the catalog as it stands today, All proposed changes to the ecosystem are intended to be optional additions rather than any additional burden.
This does mean that potentially some developers may find that their nodes are less discoverable than others, but we commit to keeping the ability to enter a package name into the palette manager and then install from there as it is today.
The recent survey highlighted a issues in a several areas: Duplication, Compatibility, Naming, & Forking.
The following proposed changes are designed to address some of these issues and overtime to improve the overall quality of nodes in the catalog resulting in a better experience for developers and users. Some of this will take time to show an impact as we won’t require existing nodes to update just to make the changes but hopefully as new nodes are published and updates are released we will see a gradual improvement.
Beta Was this translation helpful? Give feedback.
All reactions