`meltano start` automatically opens the application
Problem to solve
(Summarize the problem we are trying to solve in the form of we need to do [A], so that [B] can [C])
We would like users to discover the UI as soon as someone has installed the tool, i.e. upon meltano start
, just after pip install meltano
Target audience
(For whom are we doing this? Include a persona) Any user trying to run meltano
Further details
(Include use cases, benefits, and/or goals)
- We would provide an opportunity to go the UI before any of the initial set up is complete and discover current functionality.
Proposal
(How are we going to solve the problem? Try to include the user journey)
-
- I run 'pip install meltano'
-
-
I run 'meltano start'. This command should be able to automatically pop-up the window with the app
-
-
- What do we actually perform with the
meltano init [project]
: creates meltano.yml as well as everything that one currently sees in the project folder
- What do we actually perform with the
-
-
When a user runs meltano start
it should check whether there is an existing meltano.yml project file and if there is, the UI can start up and showcase all available projects
-
-
-
If there isn't one Meltano UI should start with a pop-up, where a user would be able to give a name to the project and change the location of the project, but by default it should be the location of 'pip install meltano'
-
-
-
There should be a button to create
the project and upon pressing the button, we run `meltano init [project name] under hood and the user should be directed to Home page / Set of connectors page.
-
-
- Given we don't have the ELT functionality available in the UI right now, can a user keep the Meltano UI open and have it automatically refresh when the elt steps are performed in the command line? @jschatz1: 'yes'
-
-
I am thinking that in order to provide a full demo experience, we could have a demo
button, which runs the carbon elt and allows a user then to explore the data? @dmor what do you think about that last part?
-
@jschatz1 can we discuss the feasibility and what would be the engineering tasks you need to go through in order to implement this in detail?
What does success look like, and how can we measure that?
(Define both the success metrics and acceptance criteria. Note that success metrics indicate the desired business outcomes, while acceptance criteria indicate when the solution is working correctly. If there is no way to measure success, link to an issue that will implement a way to measure this) A user is able to spin up the app in 2 commands and create a project and any additional functionality run in the CLI would be automatically reflected, so that they can continue using the UI to analyze the data brought it.
Regression test
(Ensure the feature doesn't cause any regressions)
-
Write adequate test cases and submit test results -
Test results should be reviewed by a person from the team
Pre-Release Checklist
-
@jschatz1 Update documentation with new user flow -
@dmor Dogfood new onboarding experience and make list of adjustments/tweaks to docs to make it as simple and easy to understand as possible -
@dmor work with @jschatz1 to draft blog post explaining how this works
Please note that this was taken from GitLab, to be changed accordingly