In case anyone is not aware - the Node-RED Dashboard is built upon Angular v1. This is going End Of Life (EOL) at the end of this year (December 2021) - and from then on will receive no updates. This means that any security holes or other issues from then on will not be fixed and so could possibly affect Node-RED-Dashboard. I say possibly because not all vulnerabilities may be exploitable due to the way we wrap up the angular libraries, but it is up to individual users to satisfy themseleves as to this.
We (I) fully intend to maintain Node-RED Dashboard beyond this date with small updates, fixes, suggestions, etc - but users have to be aware that it may get exposed at any time, and it may not be possible to fix. Users must do their own due diligence to assess their level of risk for any continued use, for example usage within a closed network may well be fine, but we cannot provide individual advice and guidance.
This means that we should also look to what other paths there are for a future Node-RED Dashboard. So I would invite everyone to contribute to the discsussion.
As usual there are several aspects to the discussion, some philosophical, some technical, and some practical.
Should there even be a single Node-RED project owned Dashboard ?
- or should we just support 3rd party dashboards ?
- Julian's Ui-builder has always deliberately been much lower level than Dashboard precisly to allow people to bring their own tooling to the party and give them full flexibility - BUT it does mean a much steeper learning ramp and (currently) there is no easy "set of widgets" on-ramp.
- Thorstens Flexdash (Demo | FlexDash web dashboard) - is another approach showing much promise - but again it is not multiple different widgets in the flow (maybe this is a good thing ? or not ?)
or work with other dashboard projects ?
- such as https://www.appsmith.com/ - as they have many more developers than we do.
- any others that could be considered ? Any Node-RED "friendly" ones ?
underlying concern - long term commitment to project.
- core team can't commit to a ground up new dashboard due to all existing commitments.
Is the current (lots of UI widgets) / some minimal layout tooling the right way to do it ?
- should the Dashboard be a more separate tool - with better layout controls, eg allow sub-groups of widgets to be reused - etc - but a single pipe back to core. If so then it would need to be able to support adding extra widgets.
- should it be more integrated ? (the editor IS a dashboard
Current deficiencies (just a few
- single user only
- chart easily overwhealmed with too much data (out of memory crash)
- chart widget not enough options
- fixing layout can be confusing / too complicated
- can't use ui widgets in subflows (to make re-useable ui elements)
- are there any great dashboarding type libraries out there that anyone is aware of (we may have missed)
- should we tie ourselves to another library (like Vue or ???)
- or "go back" to raw html/css - see First september give-away (let's create one gauge)
What are your thoughts ? All ideas and opinions welcome.