Community
Participate
Working Groups
In the New Hudson Repository wizard I think a few things can be made better: * The wizard should be separated into two pages. The first for entering the information that the second page depends on: URL, User and Password. * The validation should happen automatically when moving to the second page instead of having the user to press the "Validate" button or even "Refresh". The "Validate" button should go away. * The second page should list build plans and force the user to select at least one. Adding a new repository without a build plan does not make sense.
Can you provide more background why you would like to change the current UI? Having all configuration controls on a single page makes it easy to find all settings. That way users can also instantly see the result of validating. In case not all expected plans are displayed or the network connection fails users can easily adjust settings or change credentials. Also, the current approach is consistent with the configuration page for task repositories making it easy for users already familiar with Mylyn. Splitting the setup wizard into multiple pages would also make it inconsistent with the settings dialog for existing repositories. On an implementation level we get to reuse the code which is also good in terms of maintenance overhead. That said, Eclipse generally uses wizards for setup and property pages for configuration which is different from the Mylyn which always uses wizards. I'll add this to today's call to gather input on this more general topic.
(In reply to comment #1) > Can you provide more background why you would like to change the current UI? > > Having all configuration controls on a single page makes it easy to find all > settings. That way users can also instantly see the result of validating. In > case not all expected plans are displayed or the network connection fails users > can easily adjust settings or change credentials. The validation should take place upon pressing "Next". If credentials are wrong or network connection fails the wizard should not continue to the next page but flag an error. > > Also, the current approach is consistent with the configuration page for task > repositories making it easy for users already familiar with Mylyn. Splitting the > setup wizard into multiple pages would also make it inconsistent with the > settings dialog for existing repositories. On an implementation level we get to Yes I can see your point. > reuse the code which is also good in terms of maintenance overhead. True. Except I don't think it makes much difference in this case. There are not a lot of properties. Some code could still be reused. > > That said, Eclipse generally uses wizards for setup and property pages for > configuration which is different from the Mylyn which always uses wizards. I'll > add this to today's call to gather input on this more general topic. The whole idea of a wizard is to help the user set up an instance. So the workflow is in many circumstances different from changing an existing instance. And as you state the current implementation is different from the rest of Eclipse. Maybe it is a good thing though. It can be more efficient usability-wise. However, we can improve on the wizard workflow even if we decide to keep the single page.
(In reply to comment #2) > (In reply to comment #1) > > Can you provide more background why you would like to change the current UI? > > > > Having all configuration controls on a single page makes it easy to find all > > settings. That way users can also instantly see the result of validating. In > > case not all expected plans are displayed or the network connection fails > users > > can easily adjust settings or change credentials. > The validation should take place upon pressing "Next". If credentials are wrong > or network connection fails the wizard should not continue to the next page but > flag an error. That would means proxy settings and HTTP authentication would need to be on the first page as well? Otherwise validation may still fail. > > Also, the current approach is consistent with the configuration page for task > > repositories making it easy for users already familiar with Mylyn. Splitting > the > > setup wizard into multiple pages would also make it inconsistent with the > > settings dialog for existing repositories. On an implementation level we get > to > Yes I can see your point. > > reuse the code which is also good in terms of maintenance overhead. > True. Except I don't think it makes much difference in this case. There are not > a lot of properties. Some code could still be reused. It would make the implementation more complicated as implementors would need to extend a wizard and pages instead of just a single abstract class. [..] > And as you state the current implementation is different from the rest of > Eclipse. Maybe it is a good thing though. It can be more efficient > usability-wise. However, we can improve on the wizard workflow even if we decide > to keep the single page. I would like to understand better what you perceive as problematic with the current UI? I might be missing something obvious here as I have been using it for several years and am likely to overlook usability issues. One thing that was suggested on the call is to add a check box that is selected by default for automatic validation on finish. That should be fairly easy to add and prevent users from closing the dialog with invalid settings in most cases. My sense is that even if we are able to make an incremental improvement, the effort would hardly justify the investment and the additional complexity in the API. I would be a big supporter of a radically simplified approach though. I would like to have an additional setup path that asks for a URL only, automatically identifies the repository type, installs the appropriate connector if necessary and then prompts the user for required input only (e.g. credentials or build plans to select). I would leave the existing configuration UI in place for advanced users but offer this as an alternative path. On the implementation level this would require new API and would certainly be a significant effort but yield a lot of bang for the buck.
(In reply to comment #3) [snip] > That would means proxy settings and HTTP authentication would need to be on the > first page as well? Otherwise validation may still fail. Yes. [snip] > > I would like to understand better what you perceive as problematic with the > current UI? I might be missing something obvious here as I have been using it > for several years and am likely to overlook usability issues. One thing that was > suggested on the call is to add a check box that is selected by default for > automatic validation on finish. That should be fairly easy to add and prevent > users from closing the dialog with invalid settings in most cases. That would help. However I think that a wizard should do these validations anyway. I don't see any reason why it should be possible to finish any wizard with invalid values. In my mind that defies the purpose of a wizard. At least the user should be warned that the values used are wrong. * It is possible to close the wizard with an invalid address. The URL have to be correctly formatted but it does not have to point to an actual Hudson server. * It is possible to close the wizard without selecting any build plans to follow. * Wizards typically allow you to enter a set of data required for the following step(s) on each page. See my initial description. > > My sense is that even if we are able to make an incremental improvement, the > effort would hardly justify the investment and the additional complexity in the > API. I think there are a few things we can do without changing the API much. See below. > > I would be a big supporter of a radically simplified approach though. I wouldu > like to have an additional setup path that asks for a URL only, automatically > identifies the repository type, installs the appropriate connector if necessary > and then prompts the user for required input only (e.g. credentials or build > plans to select). Now this is what I would like a wizard to do :-) > > I would leave the existing configuration UI in place for advanced users but > offer this as an alternative path. On the implementation level this would > require new API and would certainly be a significant effort but yield a lot of > bang for the buck. I suggest we do the following: * Validation should take place when "Finish" is pressed. If validation fails the dialog will not close and the user will be prompted to fix the problem. The "Validate" button should be removed. * The user must select at least one build plan, we could ask to select all automatically if none are selected when pressing "Finish". * If there is an URL in the copy buffer when the wizard is opened it should be used in the URL field. * Add a new enhancement description for what you suggest in the last two paragraphs. I'd like to give it a go. I have some time on my hands so I could also do the changes to the current wizard if we decide to implement them.
> * It is possible to close the wizard with an invalid address. The URL have to be > correctly formatted but it does not have to point to an actual Hudson server. Agreed. > * It is possible to close the wizard without selecting any build plans to > follow. I think this is an uncommon but valid usecase, e.g. if build plans move to a different server. A user may want to keep the old server configuration around for a while. Another use case could be offline creation of a server or if an account isn't working, yet. A user may still want to configure the server but not be able to refresh and select plans, yet. > * Wizards typically allow you to enter a set of data required for the following > step(s) on each page. See my initial description. True, we have been stretching the wizard paradigm to a certain degree for implementation simplicity. > * Validation should take place when "Finish" is pressed. If validation fails the > dialog will not close and the user will be prompted to fix the problem. The > "Validate" button should be removed. Agreed but I would leave the validation button. It's an obvious way to verify credentials. > * The user must select at least one build plan, we could ask to select all > automatically if none are selected when pressing "Finish". How about we add a warning message when no plans are selected? I wouldn't want to force selection of plans. > * If there is an URL in the copy buffer when the wizard is opened it should be > used in the URL field. +1 > * Add a new enhancement description for what you suggest in the last two > paragraphs. I'd like to give it a go. +1 We should create a new bug to track that. > I have some time on my hands so I could also do the changes to the current > wizard if we decide to implement them. Awesome :).
Mylyn has been restructured, and our issue tracking has moved to GitHub [1]. We are closing ~14K Bugzilla issues to give the new team a fresh start. If you feel that this issue is still relevant, please create a new one on GitHub. [1] https://github.com/orgs/eclipse-mylyn