[jbosstools-issues] [JBoss JIRA] (JBIDE-10264) Wizard-ify the project examples

Max Rydahl Andersen (JIRA) jira-events at lists.jboss.org
Tue Feb 7 06:12:49 EST 2012


    [ https://issues.jboss.org/browse/JBIDE-10264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664715#comment-12664715 ] 

Max Rydahl Andersen commented on JBIDE-10264:
---------------------------------------------

>>> 1) The mockup doesn't show the first page when calling the Project Examples wizard using Help>Project Examples. Would it be as it is now?

>> It would be fine - but now it can be "decluttered".

>> No "output location" field on top and quickfix option can be removed.

> OK. The details (requirements) panel can also be removed.

I guess - you loose the info on wether this example will easily work. Maybe just add a single line warning/info label
that additional requirements are needed?

>>> 3) Why wouldn't we set the QuickFix/Readme checkboxes to the first page and remove the last page?

>> Because the project aren't imported yet so no way for you ask/know the details for this.

>I don't think that is important.

Huh ?

Where else will you have the output directory ?

>There is also a problem when adding this as a separate wizard page.
>Let's say we start a project example that is not of the mavenArchetype type from JBoss Central (the problem exists in any other case, but this is the easiest one to explain).
>We have two pages (or three when including Quick Fix as a wizard page):

>Page 1 - Requirements
>Page 2 - a page with these two checkboxes

>On the Page 1, before downloading we don't know if the Page 2 (or 3) will appear at all.

You do - since they always will be there.

>Would we enable the Next button on this page? Would the Next/Previous buttons exist at all?
>If we enable Next, it could happen the following:

>the user clicks it
>the project example is downloaded and we see that there aren't any errors or readme/cheatcheet files

Yes, so what is left is just the instructions that the projects have finished downloading and ready to use.

>We should finish the wizard allthough the user hasn't clicked Finish.
>If we disable Next
>the user clicks Finish
>the project example has been downloaded and we see that there are errors or readme/cheatcheet files
>We need to show a new page allthough the user clicked Finish.

Thus don't enable Finish ;)

> In my opinion, it is better to move these two checkboxes to the first page.

How do you ensure that the project is fully imported, the user knows what happened and he isn't
doing something else that will trip the import or confuse the user when the "selection" of the
project is implemented to make Run As work ?

The problem now is that there is ~3 or 4 dialogs shown with different styling, layout, content
dependening on what example you are using. Trying to align that.

>>>4) If there is a Quick Fix, would it be on the new wizard page or in the dialog as it is now?

>> Depends what is technically possible. Showing it in a dialog will be ok for me.

>The Quick Fix is a wizard too. We could move its wizard page to our new wizard.
>The problem is that the wizard wouldn't finish the project build and we wouldn't be able to determine the state of the Next button on the previous page (as previously descr>ibed.

So you are saying you now in the code are waiting for the project build to finish before showing the quickfix dialog?

That's ok for me - that mechanism works for both type of project examples.

>>>5)
>>> It would mean download start on Page 3 and if you choose to go in background and the job finishes the wizard will open up again starting >from what would have been Page 4.

>>>I am not sure what page you mean when saying Page 3 or 4. Do you mean the page I mentioned or a page in the mockup?

>> In the comment I was referring to your text - did the mockup after that.

>Now, the Page 3 exists only for the project examples of the mavenArchetype type. As to all other project examples, the Page 3 doesn't exist and we can't start download on that page. 
>It would start on the Page 1 (for JBoss Central) or Page 2 (Help>Project Examples).

I'm not following you at all - I deliberatly did not show the selection of the example since that is *outside* this wizard flow.

> As to project examples that contribute a wizard page(s), the download would have to be d>elegated to the contributed wizard page.

No, the download have to happen *before* those pages since these pages depend on the content/choice of this afaics.

>>>I can try to solve this, but it would be good if you would know an example of an Eclipse wizard that works this way?
>>>I haven't succeeded to find any wizard that goes to the background and gets back at some point.

>> No, then view as two different wizards.

>>>Wizards use a modal dialog. What will we do if the user opens some other wizard or a modal dialog when our wizard should be shown again?

>>This is exactly why I prefer to keep the flow in a wizard - since today stuff just pops up with an editor/quickfix/cheatsheet view.

>A cheatsheat/readme is opened in a view/editor. It can't pop-up. 
>The Quick Fix is a wizard that can pop-up, but the user can disable it.

>>>The mockup seems to be created to solve project examples of the mavenArchetype type when they are called from JBoss Central.

>> No - its the same flow for both cases.

>There are, at least, 4 cases:

A project examples that don't contribute some page and start from JBoss Central

B project examples that don't contribute some page and start using Help>Project Examples

C project examples that contribute some page (mavenArchetype) and start from JBoss Central

D project examples that contribute some page (mavenArchetype) and start using Help>Project Examples

Why do you see *any* need for a different workflow when starting from project examples or central ?!

The only difference is the starting point (which I claim should have no impact on the flow) and then
wether it is a maven archetype or not - and the suggestion here just relate to having one more page shown or not.

>>Each of these cases would have to have different pages. There would also exist wizard pages depending on whether requirements/readme/cheatsheets/quickfixes exist.
>>That is OK if we treat this mockup as a simplified mockup for special case.

The *only* optional page is the wizard archetype - the rest is there no matter which flow you suggest.

>>>As to the project examples of the mavenArchetype type, the problem has been solved by JBIDE-9776. It would be enough to make JBoss >Central not to open the Project Exampl>e dialog for those >project examples that have the "wizard" tag, but to call their implementation >method directly.

>> I don't understand what that changes/how it affects this jira ?

>IMO, creating this wizard would have some advantage for project examples of the mavenArchetype type, but that is already solved by adding the wizard tag to the project examples file (JBIDE-9776).

The suggestion here is actually to make the "old" project examples behave more sane.
The maven archetype is way less confusing than the old project examples (i.e. it provides options to how the project is named and where it is stored, project examples shows it up front on top of all the content - ugly and non-intuitive).
The "old" project examples shows just as many dialogs as i'm suggesting pages (see previous discussion).

If you don't like this suggestion please suggest how to fix the current weird old example workflow ?

And I understand my suggestion has problems too with the download part - but i'm then fine to just remove the "move to background" download, then the flow has no "gaps". What would be good then is to actually cache these examples...maybe we should simply just release them as bits to mvn repo and use aether to get them for built-in caching ? Then there would be no delays the second time you use the wizard.

                
> Wizard-ify the project examples
> -------------------------------
>
>                 Key: JBIDE-10264
>                 URL: https://issues.jboss.org/browse/JBIDE-10264
>             Project: Tools (JBoss Tools)
>          Issue Type: Feature Request
>          Components: project-examples
>    Affects Versions: 3.3.0.M4
>            Reporter: Fred Bricon
>            Assignee: Snjezana Peco
>            Priority: Blocker
>             Fix For: 3.3.0.Beta1
>
>         Attachments: wizardsuggestion.bmml, wizardsuggestion.bmml, wizardsuggestion.png
>
>
> In the wake of JBIDE-9776 and JBIDE-10140, it turns out that, in order for us to contribute 5 new wizards to the "New " menu under the Jboss perspective and in the "New project" section of JBoss central, "project examples" based projects should be created via a Wizard implementation from the get go. 
> Current project examples workflow involves :
> - displaying a form dialog : to display missing runtimes and let the user install/download the required runtimes
> - launching a workspace job, which in turn : 
>   * downloads the example
>   * does the actual project import (launches a wizard for maven archetypes)
>   * resolve quickfixes
> Ideally, all these steps would be part of a single wizard, spanning one to N pages (depending on the complexity/requirements of the examples). Everything contributed by the form dialog would be replaced by a wizard page, which would bring consistency to the UI.
> In other words, that means the project example dialog needs to be refactored into a Wizard, providing an API so that client plugins can contribute wizard pages. 
> I'm aware this is not a simple task to refactor the existing workflow to such an infrastructure but ultimately, that would allow us to easily contribute new project wizards to the IDE in a standard way.
> Current target is 3.3.0.Beta1. Snjeza, WDYT?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list