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

Improve devfile editing UX #21606

Closed
l0rd opened this issue Aug 3, 2022 · 15 comments
Closed

Improve devfile editing UX #21606

l0rd opened this issue Aug 3, 2022 · 15 comments
Assignees
Labels
kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/3-months Epics that are planned to complete in the short term (within 3 months) sprint/current

Comments

@l0rd
Copy link
Contributor

l0rd commented Aug 3, 2022

Is your enhancement related to a problem? Please describe

To simplify the day 1 activities (start a sample workspace, start a workspace from a git repository) we have removed the Devfile editor from the Dashboard as editing a YAML file to create a workspace was a daunting activity for new users.

As a consequence we have sacrificed a day 2 activity, something that more experienced users loved: the devfile editor. From devfile editor in the dashboard allowed to create and edit a devfile (re)start a workspace from it.

Describe the solution you'd like

There will be multiple alternatives:

The progressive editing flow is the following one:

  1. start a workspace without Devfile: empty or from a git repository (passed as a URL parameter)
  2. in the IDE it will be possible to use a GUI tool to generate or to edit the devfile (no YAML)
  3. from the IDE it will be possible to restart a workspace from the created / modified devfile
  4. for advanced configuration it will be possible to edit a Devfile YAML with code completion and API documentation in the IDE itself

Subtasks:

Describe alternatives you've considered

We want to avoid the re-introduction of the user dashboard devfile editor because we want that to happen in the IDE. That's where a developer has the best development experience and that's where they expect to edit their workspace. Having to go back to the dashboard to edit the workspace is awkward. This is a feedback we got recurrently from users.

Additional context

https://issues.redhat.com/browse/CRW-3152

@l0rd l0rd added kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/3-months Epics that are planned to complete in the short term (within 3 months) labels Aug 3, 2022
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Aug 3, 2022
@l0rd l0rd removed the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Aug 3, 2022
@RickJWagner
Copy link
Contributor

RickJWagner commented Aug 3, 2022

Thank you for considering these important usability issues.
There is a 'catch-22' to consider. If we want to use the IDE to edit the devfile, we need to consider the case of the user that has an invalid devfile (which will prevent starting of the workspace.)

Example: A user wants to develop a new piece of software. They may start with some minimal set of source code, maybe copied from a blog, previous project or generated by something like spring initializer. Any way they do it, they start with some source code, which they probably commit to git.
At this point, we are in the 'problem zone'. The user cannot start a workspace-- they have no devfile. They could take an existing one and add it to the git repo, but the devfile must be perfect (without benefit of some UI to validate it!) or the dev workspace will not start. The cycle to resolve the issue is:

  1. Edit the devfile (without a validating IDE)
  2. Commit the change
  3. Try again to start the dev space, hoping this time it will succeed and provide the IDE that will allow editing the devfile. (Repeat as needed).

One possibility: Provide a known minimal devfile that is very robust and should almost always be able to start a dev space. In the above scenario, the user would add this 'bulletproof devfile' to the project along with the initial source. The user could then start the dev space and use the available IDE to edit the 'bulletproof' devfile, transforming it into whatever is needed.

There are probably other good paths forward also. Just please keep in mind that we cannot use the IDE to validate/edit the devfile if the workspace cannot start because of an invalid devfile.

@l0rd
Copy link
Contributor Author

l0rd commented Aug 4, 2022

@RickJWagner do you think that #20738 and the following warning message would help?

warning-invalid-devfile

@RickJWagner
Copy link
Contributor

Yes, thanks for that @l0rd . I hadn't seen #20738, that will help nicely.

@l0rd l0rd mentioned this issue Aug 30, 2022
82 tasks
@l0rd l0rd mentioned this issue Oct 28, 2022
73 tasks
@nickboldt
Copy link
Contributor

any further progress on this? we were at 5 of 7 tasks complete in December... should the other two be raised as priority for the next sprint?

@l0rd
Copy link
Contributor Author

l0rd commented Jan 27, 2023

Both remaining issues are in Team B sprint backlog

@ibuziuk
Copy link
Member

ibuziuk commented Jan 26, 2024

Exluding JetBrains from the epic - #22487 and adding to https://issues.redhat.com/browse/CRW-3398
We can resolve the issue once we publish the walkthrough extension and add it by default to Dev Spaces

@ibuziuk
Copy link
Member

ibuziuk commented Jan 31, 2024

@vitaliy-guliy I believe we can close the epic once vscode walkthrough extension is added by default to che-code

@vitaliy-guliy
Copy link
Contributor

A pull request that includes the extension into built-ins che-incubator/che-code#326
I would like to have the latest tag for the extension at open-vsix. It will allow us to update and publish a new version of the extension without updating the reference in che-code.

@l0rd
Copy link
Contributor Author

l0rd commented Feb 1, 2024

latest should work. Does it fail for you?

image

Anyway @vitaliy-guliy if you have an open-vsx.org user I would like to add you as a member of the Devfile namespace. @ibuziuk that's for you as well.

@vitaliy-guliy
Copy link
Contributor

latest should work. Does it fail for you?

It's strange I missed it.

But it seems vs code builder wants to have a precise version

2283.6 [14:14:39] Error: Request https://open-vsx.org/vscode/gallery/publishers/devfile/vsextensions/vscode-devfile/latest/vspackage failed with status code: 404

With 0.0.2 the following request is succeeded

https://open-vsx.org/vscode/gallery/publishers/devfile/vsextensions/vscode-devfile/0.0.2/vspackage

@vitaliy-guliy
Copy link
Contributor

There is a regression in VS Code that made not possible to add a container endpoint, environment variable and a command
microsoft/vscode#204522

From the good news, the issue was added to February milestone and should be fixed soon.

@ibuziuk
Copy link
Member

ibuziuk commented Feb 8, 2024

@vitaliy-guliy I believe we can close the epic once the regression is fixed on VS Code end

@ibuziuk
Copy link
Member

ibuziuk commented Mar 1, 2024

@vitaliy-guliy the issue you opened has been autoclosed. is it fixed now in 7.82.0 - microsoft/vscode#204522

@vitaliy-guliy
Copy link
Contributor

vitaliy-guliy commented Mar 4, 2024

@vitaliy-guliy the issue you opened has been autoclosed. is it fixed now in 7.82.0 - microsoft/vscode#204522

Have just checked it on Dev Spaces 3.12 with Che Code 7.82.1 (VS Code 1.87.0) and can confirm the bug is still there.

@vitaliy-guliy
Copy link
Contributor

The extension is working fine in che-code 7.84.0, bug with popups was fixed in the upstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/3-months Epics that are planned to complete in the short term (within 3 months) sprint/current
Projects
None yet
Development

No branches or pull requests

6 participants