flowfuse icon indicating copy to clipboard operation
flowfuse copied to clipboard

Blueprint Library

Open MarianRaphael opened this issue 2 years ago • 15 comments

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

MarianRaphael avatar Sep 26 '23 07:09 MarianRaphael

Usage of existing templates instead of "Team Library" concept

MarianRaphael avatar Sep 26 '23 08:09 MarianRaphael

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

joepavitt avatar Sep 26 '23 08:09 joepavitt

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"

joepavitt avatar Sep 26 '23 08:09 joepavitt

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.

joepavitt avatar Sep 26 '23 08:09 joepavitt

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.

joepavitt avatar Sep 26 '23 08:09 joepavitt

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: Screenshot 2023-09-26 at 12 19 27

Variant 2: Screenshot 2023-09-26 at 12 18 28

Variant 3: Screenshot 2023-09-26 at 12 17 24

joepavitt avatar Sep 26 '23 11:09 joepavitt

I like variation 3 best, as it has larger icons for each template.

ZJvandeWeg avatar Sep 26 '23 11:09 ZJvandeWeg

@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

joepavitt avatar Oct 03 '23 14:10 joepavitt

Other complexity for building this UI is the categories themselves, they have iconography, where does that get defined?

joepavitt avatar Oct 03 '23 14:10 joepavitt

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)

joepavitt avatar Oct 03 '23 14:10 joepavitt

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.

knolleary avatar Oct 03 '23 15:10 knolleary

@joepavitt I think having a pre-canned set of categories would be a sensible quick win for the short term.

knolleary avatar Oct 03 '23 15:10 knolleary

With the API in place, I've added a couple curl examples for driving it here

knolleary avatar Oct 10 '23 16:10 knolleary

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.

knolleary avatar Oct 13 '23 13:10 knolleary

Checking the last stage of this @MarianRaphael - the idea here is to have the Blueprints available in the Node-RED Editor "Team Library", correct?

joepavitt avatar Apr 30 '24 12:04 joepavitt

This Epic can now be closed off, the majority of issues are resolved. Future ideas are already being tracked by independent issues.

joepavitt avatar May 22 '24 10:05 joepavitt