Blueprint Library
Description
The Template Library is a concept analogous to the FlowFuse Team Library. It allows a FlowFuse Admin to share flow.json files with all teams. This would be a unidirectional channel, as users of teams do not have the ability to upload any flows (for that purpose, they can use the Team Library). As a result, the FlowFuse Admin can share a set of standard flows and examples with all FlowFuse teams.
### MVP - shipped in 1.12.4
- [ ] https://github.com/FlowFuse/flowfuse/issues/2871
- [ ] https://github.com/FlowFuse/flowfuse/issues/2873
- [ ] https://github.com/FlowFuse/flowfuse/issues/2874
- [ ] https://github.com/FlowFuse/flowfuse/issues/2872
### UX Improvements
- [ ] https://github.com/FlowFuse/flowfuse/issues/2948
- [ ] https://github.com/FlowFuse/flowfuse/issues/2945
- [ ] https://github.com/FlowFuse/flowfuse/issues/3266
- [ ] https://github.com/FlowFuse/flowfuse/issues/3265
- [ ] https://github.com/FlowFuse/flowfuse/issues/3598
### Future: Enable Shared Library in Node-RED
- [ ] Create Node-RED Shared Library endpoint for FlowTemplates
- [ ] Add NR Shared Library config to NR Launcher
- [ ] Add NR Shared Library config to Device Agent
Epic
https://github.com/flowforge/flowforge/issues/2814
Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate
Usage of existing templates instead of "Team Library" concept
Complexity of templates living at the Library level is that some of the them will have third-party nodes, loading those flows via the Library, would mean Users then have to know (and search/install) the third-party dependencies
When first hearing this idea, my thought was this would be a step in the "New Instance" workflow, you choose from a set of Flow Templates (which would be broken into sections, e.g. "Blank", "Getting Started with Node-RED", "Manufacturing"
Extra extension of this work could utilise https://github.com/flowforge/flowforge/issues/2829 to allow users to "Preview" flows before committing to choosing one. Improves on-ramping of new NR users, and enables exploration of NR concepts, without hte need to spin up a whole instance first.
Concern I have if we're targeting new Node-RED users is how overwhelming and lost users may get/feel when first opening NR if it's already full of flows.
They won't know where to click, or what to do.
Ideally, we would also have some tutorial/guidance/click-through for the flows too. I think I recall @Steve-Mcl saying these can be configurable.
Quick dump of some variations, some with "preview" buttons, explicit "select" in the tile, category lists on the ight, images, not fixed on any of these, just wanted to share ideas.
Variant 1:
Variant 2:
Variant 3:
I like variation 3 best, as it has larger icons for each template.
@knolleary just thinking out loud so that I've logged this:
- Name
- Description
- Flow (
json) - Category
- Image (for tile)
Not MVP:
- Tutorial/Guides
- Not sure how these are generated/formatted?
- Access to Team Tiers
Other complexity for building this UI is the categories themselves, they have iconography, where does that get defined?
My other thinking would be that (similar to Audit Logs) we could have a set of pre-defined category icons, where if a category name matches, it uses that icon (we can pre-fill this with FF categories to start with)
I have added two task lists the issue description that outlines the technical steps needed - splitting out MVP from future work. I'll convert the initial ones to issues where I'll put more technical design work.
@joepavitt I think having a pre-canned set of categories would be a sensible quick win for the short term.
With the API in place, I've added a couple curl examples for driving it here
We have shipped MVP phase in 1.12.4.
I have updated the next phase task list to address the UX limitations of the MVP - with corresponding issues already raised.
Checking the last stage of this @MarianRaphael - the idea here is to have the Blueprints available in the Node-RED Editor "Team Library", correct?
This Epic can now be closed off, the majority of issues are resolved. Future ideas are already being tracked by independent issues.