Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose generated Async API schema docs via FlowFuse UI #5013

Open
Tracked by #4788
joepavitt opened this issue Jan 15, 2025 · 4 comments
Open
Tracked by #4788

Expose generated Async API schema docs via FlowFuse UI #5013

joepavitt opened this issue Jan 15, 2025 · 4 comments
Assignees
Labels
area:api Work on the platform API headline Something to highlight in the release size:L - 5 Sizing estimation point
Milestone

Comments

@joepavitt
Copy link
Contributor

joepavitt commented Jan 15, 2025

Extend #4919 to generate and expose the generated Async API yml in an easier to consume format, e.g. the static docs via generator

@joepavitt joepavitt added this to the 2.14 milestone Jan 15, 2025
@joepavitt joepavitt added headline Something to highlight in the release area:api Work on the platform API size:M - 3 Sizing estimation point labels Jan 17, 2025
@joepavitt
Copy link
Contributor Author

Initial investigations suggest we may need roll out our own generator here as the static generator is a time consuming script

@joepavitt joepavitt moved this to Todo in 🛠 Development Jan 17, 2025
@knolleary
Copy link
Member

knolleary commented Jan 17, 2025

I'm going to look at what other options may exist rather than rolling our own - which could get quite involved.

The piece I haven't quite got straight in my head is how these docs integrate with the existing topic hierarchy view, and some of the proposed design enhancements that let you click around the topic tree and see additional information we have from those topics. Feels like two ways of doing the same thing.

This item is still firmly in the research/design/scoping phase, so it's hard to put an expected delivery date on it yet.

@joepavitt
Copy link
Contributor Author

joepavitt commented Jan 17, 2025

The piece I haven't quite got straight in my head is how these docs integrate with the existing topic hierarchy view, and some of the proposed design enhancements that let you click around the topic tree and see additional information we have from those topics. Feels like two ways of doing the same thing.

The key piece I had in mind is that the FlowFuse topic view will eventually become more interactive, allow you to add/remove manual topics and payload definitions/schemas.

The "Share" view would be a static asset that is used/shared when building out flows in Node-RED or interactive with the UNS.

In the same way that we have a "Dashboard Viewer", I would envision RBAC to the "View" of the schema to be different o the edit mode of the schema (FlowFuse UI)

@knolleary
Copy link
Member

One of the issues with using an existing AsyncAPI based generator is that we don't currently have quite enough content in the automatically generated spec to be fully useful.

Our existing spec lists the topics - as 'channels'. Within AsyncAPI, you then list 'operations' against the channels - ie, what does it mean to publish to a given channel/topic, or what does a subscription to this channel get you. We don't currently include operations against the channels as that's a level of meta information we can't infer.

The AsyncAPI generator lists operations in its output, not channels.

I'm doing some more digging to see if we need can enhance our spec further with some sort of default placeholders, so that we can then make use of an existing generator in some form.

Increasing the sizing estimate on this task.

@knolleary knolleary added size:L - 5 Sizing estimation point and removed size:M - 3 Sizing estimation point labels Jan 17, 2025
@knolleary knolleary moved this from Todo to In Design in 🛠 Development Jan 20, 2025
@joepavitt joepavitt moved this from In Design to In Progress in 🛠 Development Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:api Work on the platform API headline Something to highlight in the release size:L - 5 Sizing estimation point
Projects
Status: In Progress
Development

No branches or pull requests

2 participants