FlowFuse / FlowFuse/flowfuse

End onboarding with working instructions for calling what was built

Open
#8,379 0 comments 0 reactions 1 assignee Claimed by @cstns View on GitHub
area:ff-expert task type:enhancement
Dominant language
JavaScript
Stars
400
Forks
89
Avg merge
1d 20h
Merged PRs (30d)
149

Description

The last thing that happens in onboarding is the Expert explaining how to use what it just built. Not describing it, but handing over the actual details needed to call it.

The Expert authored the flows, so it knows exactly what's in there. Combined with the instance's public URL, that's everything needed to produce something the user can paste.

Depending on what got built:

* **An HTTP endpoint.** A real curl with the instance URL, the actual path, the right method, and a sensible body if it takes one.
* **A dashboard.** The URL to open in a browser.
* **MQTT.** The broker address, the topic, and how to subscribe to it.
* **Anything else.** Whatever the equivalent is for the protocol involved. The rule is that the user should be able to act on it without going to look anything up.

### Done when

* A curl pasted from the Expert's message hits a deployed http-in and returns 200.
* A dashboard URL opens the page that was built.
* The user isn't told to go and find a value themselves.

### Worth knowing

Work lands in the flows on `expert-api-dev`, not this repo.

`platform_get_hosted_instance` returns the instance's `url`, which is the piece the Expert doesn't already have from having written the flows. That's a `platform` group tool so it runs server-side and works regardless of where the user is.

This only makes sense after deploying, since an undeployed http-in doesn't answer. So it follows the deploy ask rather than running alongside it. Worth thinking about whether the Expert waits for some confirmation that deploying happened, or just asks and then explains, and accepts that a user who ignored the ask gets instructions that don't work yet.

This is the payoff for the whole epic. Everything upstream exists so that this message is useful. Worth spending disproportionate care on it relative to its size.

Dashboards have a wrinkle: the dashboard path is currently hardcoded as `/dashboard` in a couple of places in the platform rather than read from anywhere, so composing a dashboard URL means knowing that. Worth checking whether that's still true rather than trusting it.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.