ddev / vscode-ddev-manager

DDEV Manager offers a centralized and user-friendly interface to control every aspect of your DDEV projects.
https://marketplace.visualstudio.com/items?itemName=biati.ddev-manager
Apache License 2.0
13 stars 3 forks source link

[Feature-request] improve the project creation process #12

Closed rpkoller closed 12 months ago

rpkoller commented 1 year ago

Is your feature request related to a problem? Please describe. The steps for setting up a ddev project in vscode-ddev-manager have a few potential stepping stones: Step 1: The description for "enter project name" is "sort of" confusing. After you tried it one time it is ok but still, to start instructions with "normally the name of your directory" raises a few question marks in my head. i asked myself what are the other cases that are not normal? and it is also not clear that in step three you set or create and set the project directory. Step 2: In my case i have set Drupal 10 as the project type. Step 3: i then created and set my project directory.

=> the problem in the end Screenshot 2023-09-23 at 14 10 08

the docroot is still set to the default root value instead of web necessary for drupal 10. there was no option to set the docroot in the available step

Describe the solution you'd like

biati-digital commented 1 year ago

Hi @rpkoller Yes, this part it's still in progress as I needed to focus first on other functionalities but I want to improve this process.

1.- I see how that description can be confusing, I took that text directly from the docs when I was doing some testing and never changed it. Definitely will be updated to make it more clear.

2.- I'm not sure about adding another step, what I wanted to do is to set some defaults, for example, if the project is Drupal set the docroot and maybe other specific settings for Drupal, the same for Typo3, WordPress, etc. (Following the the DDEV docs)

At the end I want the creation process to be quick and simple.

biati-digital commented 1 year ago

There's a new update 1.3.2 that includes the change in the description and also some default configuration depending on the project type. Please try it and let me know what you think.

rpkoller commented 1 year ago

sorry for the delayed answer. I've tested that latest version now. one observation and one comment.

about the first step. with the updated description it is way more clear from my perspective thanks for that. but i'Ve noticed one detail. if you leave the project name empty and just press enter you are able to proceed to the next step selecting the project type. and if you select one and then create and select a folder that folder wont contain the ddev project settings folder. i think the extension should intervene if the project name is left empty in the first step.

about the docroot i understand your point and i can confirm that at least for drupal where i have tested, the docroot is properly set to web for a drupal10 project type. but i am still not sure if due to that convenience step at least for new users the docroot setting is left unnoticed in the config.yaml and then lead into some troubles down the road? in particular for php projects you are unable to predict what the docroot will be. one idea for ddev AND the vscode-ddev-manager might be to have all three steps for both. but i would switch the order:

  1. project name (the default in ddev is the name of the folder the ddev config command is run in. for the vscode extension that doesnt apply since it is not possible)
  2. project type
  3. docroot (based on the project type provide a potential default value so in most cases the user has just to press return to confirm the default value. but that way you make sure the user is aware that the docroot has to be set and or could be set, as well as provide the convenience of having the correct docroot value for most project types as the default value.)
biati-digital commented 1 year ago

Hi, no problem, and thank's for your comments.

1.- Yes, that's a bug, it should not allow the user to continue with an empty project name, it will be fixed in the next update

2.- I definitely understand what you're saying, the thing is that we will be introducing a new step that the vast majority of times will remain the same. Adding that step could also lead to confusion, I’m sure a lot of users will not even know what doc root means or if they have to change it. The idea is to make the process really simple, only show the options that are 100% required, that's name, type and path. The extension already includes the default doc root for most of the project types.

I'm not a fan of the current way to create projects, i like that it's quick but in my opinion the command palette it's really limited for this process and each option requires an extra step.

A few months ago i had the idea of implementing a UI for this process, created this really quick on Figma.

Screen Shot 2023-10-03 at 6 18 27

The idea was that the fields would be pre-filled depending on the project type, and the user would only need to enter the project name and select the path. It could configure advanced settings (like docroot) or modify directly the config.yml

The UI was a really quick idea i had, not sure it's required, the only thing i know is that using the command palette it's limited and if we keep the current method we need to be very careful about what options we add.

Would love your opinion about this.

rpkoller commented 1 year ago
  1. thank you!
  2. oh wow i really like the idea in general! instead of having a wizardy stepwise process having a single screen for all the available settings prefilled with the default values for the chosen project type, that would definitely provide some additional value in comparison to the command line approach in ddev. the only tricky detail i see for example for project type that have more than one instance like drupal which has currently 5 (drupal 6-10) soon 6 (drupal 11) different ones . should each be listed in the sidebar or have a select list on top of the drupal project type where the user is able to select the specific version? cuz based on the project type the default values differ significantly within drupal for example. but again the idea of having a single view for setting up a project instead of the stepwise process i like a lot!
biati-digital commented 1 year ago

In those cases the sidebar would only display Drupal, the form on the right would display an option (select field) so the user can select the version (drupal 6-10) changing that would basically do the same as the sidebar, get the defaults and pre-fill the form.

I'm really glad you like the idea.

biati-digital commented 12 months ago

The name bug was fixed in the latest version, I'll close this issue now. I'll investigate more about the UI and I'll be sharing the progress.

rpkoller commented 12 months ago

just tested with the latest version and i can confirm the issue with the empty project name is properly fixed. thanks a lot!