: Bad practice?


I am on a massive refactoring project with my Node (ZWave)
ZWave has a very colourful and involved management system, and for this I (currently) use blocking modals to display everything I need to + using the sidebar (there is that much to it).

The modals are opened via the Side Bar

The management is Network Management, and isn't affecting the flow or interacting with it
(just in case those types of comments come flooding in)

This refactor is removing the sidebar content (most of it at least).
and I am now opening up a new window (non blocking)

Whilst doing this, I am passing the browsers RED object, and loading the jQuery runtime via a script link - this is so I can use what is already being provided, and so can still use all the auth headers I need to (various admin endpoints are in use)

My question is,
Is this bad practice, frowned upon?

I can't see why it would be a bad thing?, but still would like some opinion from the core team.

Here is a preview, of what I am doing.

Thank you please

Found a flaw in my design, nothing to see here, move on..

Sounds like you might need some help from UIBUILDER to help integrate your ZWave page integrated with Node-RED.


1 Like

I started this refactor last year - but have since been pulled in other directions (Professional Career) - I now have some time

I spent a large amount of time perfecting its integrated approach into Node RED (Side Bar).
but this is at a cost of complexity - and with this refactor, I aim to make it easier for myself.

by detaching the modal you see into a new window entirely.
but a few problems occurred with this approach.

ZWave is a beast with its management, so I can't just use the side bar alone.

Can UIB be used a dependancy?

It can indeed. Not a common approach but all you need to do is use the uibuilder.start() function with some parameters if your web page is served from a non-Node-RED web server. The parameters tell the library where Node-RED resides and how to connect to it. Details in the client docs.

1 Like


I have come up with a new UI workflow for my V10 release.
My aim for V10 is to give it a complete polish! (let alone the Typescript refractor), as well as allowing to fit perfectly in the Node RED UI standards, if there was one

But the new UI I think works really well! (and uses all standard Node RED APIs)

For those interested.

  • RED.sidebar (RED.sidebar : Node-RED)
  • RED.tray (No documentation yet)
    I used the dashboard as reference material


Jun-04-2024 14-28-56

1 Like

Hi Marcus,
Big fan of your Zwave work how do i get a look at this and try it ? :slight_smile:

1 Like

Hi @magicman

Thanks for the kind words.
V10 is a big big release (a lot has changed in this domain), and is still being worked on.
I started it last year (but work got in the way).

Just some things to look forward to

  • Long Range Support (for supported sticks / devices)
  • Controller Firmware Update Support
  • Better Map Render
  • Unlimited Networks
  • Custom Packet Routing (overrides the controllers routing matrix - sometimes they are not great)
  • Better / slicker management UI (as above)

Once I get close, I'll push a BETA - but its not ready just yet

Ok thanks look forward to it