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
feat: initial onboarding implementation - podman installation #3308
Conversation
47edc14
to
dd4091a
Compare
I haven't tested yet, but the screencasts look awesome!! 😍 |
Converting to draft as i'm simplifying the json after some suggestions received by Florent |
@benoitf i guess i've finished simplifying the json + refactor the code. I still need to add tests for the svelte components but you can give it a look/try when you have time |
I've tested and it works well I've just a remark (but anyway it's not blocking this PR), just for open discussions. I'm wondering if the button should not be Another remark is where 'onboarding' button is present so I'm wondering if it could not be part of the Resource screen Also if I click on 'skip' item I have saying it's configurable from 'resources' screen (it's not blocking to merge the PR) Another remark will be about how it scale (like multiple steps, labels too long) (here current step is not centered) Another remark about the chevron icon What does it mean ? And last remark, this one as well more for @mairin I'm not convinced 100% about the current step being a purple circle I like when they're connecting lines as well, here is an example |
68f47d7
to
d3670ee
Compare
You mean 'failed' in the install podman step? The problem is that we only check if the |
yes I would expect that either flow is in 'interrupted' state or that I have a cross/X icon and not saying that 'install podman' has a checked icon Also from there I can't retry the install as I'm already at the next step. Probably I should not be able to move from the step to the next one if this step is not successful. I am thinking that for example if I have clicked on exit on the installer by mistake I would want to retry the failed step and or having abort (of course it can be followed up PRs, just discussing the current flow) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approving as first iteration
then we'll probably to have sub-issues to discuss feedback/improve current flow
nice work @lstocchi 🚀 🦭 |
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
Signed-off-by: lstocchi <lstocchi@redhat.com>
@mairin we decided to merge this as it is today bc it has a good core (json structure, ...) and it's a hidden feature, nobody will see it until everything is fixed. |
…ners#3308) * feat: initial onboarding implementation - podman installation Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: check configuration value before returning onboarding Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: save status when completing onboarding + fix broken behavior Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: lint and format Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: clean code + some tests Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: simplify json Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: clean Signed-off-by: lstocchi <lstocchi@redhat.com> * feat: refactor how to save/retrieve onboarding context values Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: fix tests Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: use extensionInfo api to retrieve id Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: add onboardingContext prefix for onboarding context values Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: refactor to validate eslint rules Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: add catch to executeCommand Signed-off-by: lstocchi <lstocchi@redhat.com> * fix: add check when converting/assigning image Signed-off-by: lstocchi <lstocchi@redhat.com> * chore: add tests Signed-off-by: lstocchi <lstocchi@redhat.com> --------- Signed-off-by: lstocchi <lstocchi@redhat.com>
What does this PR do?
This is the initial implementation for the onboarding feature.
It only covers a simple onboarding for podman. Check system requirements -> install podman -> yay! done.
The onboarding can only be started in the podman extension page so far. I'll refactor it in next PR. Starting it from the
create new..
button in the resources page or when PD gets started was a bit more complex and i'd like to keep this PR simple and focus on the workflow.BTW, the
onboarding button
will only be visible if the experimental onboarding setting (hidden by default) is set to true.So a user who wants to try it should edit the settings file manually.
A normal user will never see this or access to the onboarding.
In the video below i show what happens when you follow the workflow and it fails somehow, what happens if it succeed, the messages that popup to ask the user to restart the onboarding, the cancel and skip buttons
https://drive.google.com/file/d/1dxcuzc8gzUyoe_wh_DAVrvgIIsi4Z5Jx/view?usp=sharing
In this second video i show how the errors are displayed if the system requirements step fails somehow (i had to fake it by updating the code).
https://drive.google.com/file/d/1TQnpdW_0o6wSf_vSzlfjbV64k3AqrraG/view?usp=sharing
Everything is created by reading the package.json file
Screenshot/screencast of this PR
https://drive.google.com/file/d/1dxcuzc8gzUyoe_wh_DAVrvgIIsi4Z5Jx/view?usp=sharing
https://drive.google.com/file/d/1TQnpdW_0o6wSf_vSzlfjbV64k3AqrraG/view?usp=sharing
What issues does this PR fix or reference?
#3172
How to test this PR?
.local\share\containers\podman-desktop\configuration\settings.json
and add"experimental.onboarding":true
)I still have to write some test for the onboarding.svelte file but you can play with it, suggest changes, etc..