flowfuse icon indicating copy to clipboard operation
flowfuse copied to clipboard

Allow Blueprints to be added to existing instances

Open gstout52 opened this issue 9 months ago • 5 comments

Description

Currently, a Blueprint can be used only to create a new instance. However, it would be helpful if Blueprints could be imported and added to existing instances.

This could be achieved by adding Blueprints as an import option, the way that we already allow for importing example flows. A helpful UI change could be to have a Blueprints pane added to the right side of the screen, where users can search, select, and choose Blueprints to drag and drop into existing instances.

Epic/Story

No response

Have you provided an initial effort estimate for this issue?

I can not provide an initial effort estimate

gstout52 avatar Mar 14 '25 14:03 gstout52

Potentially some crossover with https://github.com/FlowFuse/node-red/issues/26 and may also crossover with https://github.com/FlowFuse/flowfuse/issues/3666 where we are looking at adding a dedicated "FlowFuse" sidebar into the NR Editor

joepavitt avatar Mar 14 '25 14:03 joepavitt

A reason we didn't do this initially is that a blueprint includes a list of modules that need to be installed - and Node-RED doesn't currently provide a way to import a flow and automatically add modules to its dependencies. That is something I started working on in NR but it isn't there yet - https://github.com/node-red/node-red/pull/4599 - although I don't think it'd take much to get that over the line.

In the mean time (and for older versions of NR that won't have that new feature), the UX would be to include a good docs (eg a prominent comment node) that tells the user what they have to install after importing the blueprint.

knolleary avatar Mar 14 '25 14:03 knolleary

Especially since there has already been discussion around this, I think we should prioritize this one, and with it https://github.com/node-red/node-red/pull/4599. This issue supports the goal of making FlowFuse a more helpful out-of-the-box solution.

gstout52 avatar Mar 17 '25 14:03 gstout52

More and more I think about it, the idea of ingredients/flows within the NR Editor to drag in is just an obvious play for quicker building...

joepavitt avatar Mar 24 '25 09:03 joepavitt

In principle, the idea is: control over the smallest pieces of an instance is necessary for NR to be useful, but the more big pieces we can offer already completed, the faster the user can achieve value with NR.

gstout52 avatar Mar 24 '25 21:03 gstout52

Blueprints to be exposed in the existing "Import" dialog of Node-RED. The challenge here is that it doesn't track dependencies of those Blueprints, so users are expected to know which packages to install.

joepavitt avatar Jun 04 '25 14:06 joepavitt

Have split out child tasks and pushed sizings down into them. Should have most of it working tomorrow. Some edges to figure out, such as dependency management, but I have a cunning plan...

knolleary avatar Jun 24 '25 14:06 knolleary

PRs raised for each sub-issue linked above.

knolleary avatar Jun 25 '25 09:06 knolleary

All associated PRs have been merged, but will require a new Device Agent release and nr-launcher/stack release. That will all happen naturally as part of the 2.19 release next week.

knolleary avatar Jun 25 '25 14:06 knolleary