-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Project: suggest a simple config file on project import wizard #10356
Conversation
As part of the "Import Wizard" steps, we add an extra step now that shows a simple suggestion for a config file v2 (the same we currently have in our documentation) that uses `build.os: ubuntu-22.04` and `build.tools.python: "3.11"`. This is an initial work to show the value we can add to this wizard with something pretty simple. There is more work required on the copy for this intermediate step and the UX (I added a checkbox for now to force the user to read the message, not ideal, but works for now). Also, it would be good to find a way to highlight the YAML syntaxis using nice colors and add more useful copy to that intermediate page. Related #10352
Just looking at the video really quick, a couple notes:
|
I don't think the checkbox is the best UX, either. However, I think it's better if the user miss the checkbox, clicks on next and the form validation shows an error before continuing and the user hopefully will check for/read about this file before proceeding. Otherwise, they will end up importing projects without a configuration file which is what we are trying to avoid here. So, I'm fine keeping it for now. I think we can remove this checkbox once we implement the dynamic check for the |
I would say that I would still miss this checkbox. It's quite easy to miss being at the end after lots of text and it doesn't have any special formatting to make the user notice it. The main thing missing from this page is that it's not entirely clear that we're pausing the project creation process and waiting for the user to take steps to prepare their repository. Instead, it feels more like we're just requiring the user reads this page right now. We can build this up later, but some of this UI would feel much better and cleaner with dynamic elements and some JS. This is not a now thing, it's a next revision thing. For now though, I don't see us wanting a checkbox in the future and would instead be aiming for something like CircleCI's UI:
|
I removed the checkbox. |
This was one of the goal of that checkbox. It clearly said "I've already added a .readthedocs.yaml to my project" and the user has to click on that. |
Yeah, I understand the direction, but there is more UI required here for the user to understand that we're asking them to do something immediately. The checkbox and text alone was not enough to communicate this to the user. The copy was passive, so could have been more active/explicit ("Select this checkbox when you have added a configuration file to your repository"), but this feels like a UI hack. |
I had to disable strict SSL on Bower due to an error with jQuery: bower/bower#2608 I'm not sure if this is strictly required, but I'm creating a PR in case we need to this in production as well. Related #10356
I think we are ready to move forward with this PR after the latest changes. @agjohnson let me know! This is how it looks now, |
I'm merging this so it goes out today. |
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.
I was wondering what happens if the user clicks "Edit Advanced Options"...
Maybe this checkbox-option should be moved to the config step.
Or removed entirely: My point would be that after this step, the most important thing for all users is to see that a build is running and get a failure/warning when a .readthedocs.yaml
wasn't found. Also, the previous use case of visiting "Advanced Options" largely does the same as what the config file offers!
req.user = get(User, profile=None) | ||
resp = ImportWizardView.as_view()(req) | ||
self.assertEqual(resp.status_code, 302) | ||
self.assertEqual(resp['location'], '/projects/foobar/') |
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.
This was removed because it got tested in other test cases?
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html | ||
# python: | ||
# install: | ||
# - requirements: docs/requirements.txt</code> |
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.
Later, we should start maintaining the code for these examples in the same docs folders. We could for instance symlink such a file into a Django template folder and then include it. And build it so we know it works :)
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.
Yeah, we need a better way to track these config file suggestions. Ideally, we should use the same everywhere when possible (docs, import step, dashboard, etc)
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.
Now that this is merged, it's possible to unify the example file over in #10301 - I'm going to try and see how it works.
After the config step, the "Advanced options" step will be shown. |
I'll open a follow-up issue. I'm leaning towards removing "Edit Advanced Options" completely. |
I had to disable strict SSL on Bower due to an error with jQuery: bower/bower#2608 I'm not sure if this is strictly required, but I'm creating a PR in case we need to this in production as well. Related #10356
As part of the "Import Wizard" steps, we add an extra step now that shows a simple suggestion for a config file v2 (the same we currently have in our documentation) that uses
build.os: ubuntu-22.04
andbuild.tools.python: "3.11"
.This is an initial work to show the value we can add to this wizard with something pretty simple. There is more work required on the copy for this intermediate step and the UX (I added a checkbox for now to force the user to read the message, not ideal, but works for now).
Also, it would be good to find a way to highlight the YAML syntaxis using nice colors and add more useful copy to that intermediate page.
Example
Related #10352