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

Snjezana Peco (JIRA) jira-events at lists.jboss.org
Thu Feb 9 13:12:48 EST 2012


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

Snjezana Peco commented on JBIDE-10264:
---------------------------------------

>>>Yes I know - but users looses the ability to see if this project is expected to "just work"; but i'm fine with the
>>>suggestion of just removing it for now since they can just press "back" to choose another example.

>>The Requirements page won't show up if all requirements are satisfied when using Help>Project Examples

> Why ?! We want users to see what requirements there are and possibly download alternative runtimes (i.e. if AS7 is present but he wants to try example with EAP).
> The intent is to make the flow consistent and same.

OK. It will be always shown.

>>If we add this page, those properties will be shown twice for project examples of the mavenArchetype type.

> huh ? why ? if its maven it uses the maven pages, if its plain it uses the plain pages.

Because we are using m2e archetype page that already includes those properties.

>>In JBIDE-10421, I suggested to add the Preferences link. Since there weren't any other suggestions, I implemented it.
>>IMO, it is rather than complicate the wizard by adding a new page.
>>The most of the users won't use those properties, and those who will want to change them, will be able to do that using the link or standard preferences pages.

> Disagree - why else does eclipse provide an output directory choice for all its project/file creation wizards ? It's so it can be changed if needed and otherwise default.

...but doesn't create a separate page for those properties. The user that doesn't use those properties doesn't need any additional click.
We can add those properties to the Requirements page after the user has chosen a project example on this page.
The properties wouldn't be shown for mavenArchetype or a project example with the skipOutputDirectory tag.
OK?

>>The Project Example dialog shows up when clicking some tutorial/project examples in the Project Examples section of JBoss Central.
>>The mavenArchetype wizards in the Create Projects section have been implemented so that they start a project example without showing the Project Example dialog (JBIDE-9776).

> So project example dialog is the dialog for choosing to install requirements!? That one makes sense for maven too.

OK

>>> I would assume the extension would have a downloadContent() method or similar which could be use to align the download experience.

>>Yes, we have to define APi for contributed page(s) no matter if they are contributed by mavenArchetype, git, svn ...

> yes?

The contributed page(s) will have to implement some interface that contains the downloadContent() method (or something similar it).

> I suggested having the put in background.

> And the intent is to have a clear flow. If you want to skip the last page - then fine, but then I do not see how we can fix the "select projects" since it would be happening async while user is waiting 
> and doing something else.

OK. The last page prevents us from implementing download correctly and requires an additional user action (click Finish).
As to the "select projects", we can select it without the page. We select it when a project example is downloaded and built. Can be controlled by a property.

>>When starting a project example from JBoss Central, it would skip Page 1 and start with the Requirements page (Page 2).
>>If the project example has the wizard tag, it would skip the Requirements page and go directly to the contributed page (as mavenArchetype when starting from the Create Proj>ects section).

> Why would mvn stuff not show the requirements page ?! they also should be able to say you need XYZ runtime + these plugins to work with this the best.

OK.

>>This way, we would solve several issues:

>>the project examples that have a contributed page(s) would be wizardified (mavenArchetype) which is requested by this jira

> The request for this jira is to have the same behavior/flow wether you are starting examples from central or project examples.
> Wizard approach is that suggestion.

The only difference would be the existence of Page 1 when using Help>Project Examples (project example choice). When starting from JBoss Central, we go to the Page 2 (Requirements) directly.

>>is it necessary to add output directory/workinkset properties page (already exists in the maven archetypes pages)
>>If you want we to add it to other types of project examples, we would have to add a tag (skipOutputDirectory for example) saying that showing this page is unnecessary (for >all the mavenArchetype project examples, for instance)

> I do not understand this logic - for me it is "if mvn showmvn pages, if not mvn showoutput pages"

Currently, the mavenArchetype project examples show the outputdirectory/workingset properties. 
We somehow have to skip showing those properties in the standard wizard pages when handling a mavenArchetype project example.

>>whether to implement the last page with checkboxes or not
>>I will implement it if you insists, but we will loose the "download in background" advantage

> okey - so I dont think we have time to argue more on this so if you could
> at least make the requirements page and provide page with option for which directory the projects will be stored in for "plain" and for mvn use the wizard pages then
> i'm fine to skip the "last page" allowing you to do "background" download.

> ok ?

Agree.

I suggest the following:

- Page 1 - project example choice (this page is skiped when starting from JBoss Central)
- Page 2 - Requirements - includes output directory/workingset properties (these properties are hidden for some project examples - mavenArchetype, for instance)
- contributed page ...

If a project example doesn't include any contributed page, the wizard will always finish on the Page 2. If there are contributed pages, they will do the download.

When the wizard finishes, we open the Quick Fix dialog, readme/cheatsheet and select a project(s) if the user required that.

OK?
                
> 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