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

Max Rydahl Andersen (JIRA) jira-events at lists.jboss.org
Thu Feb 9 10:13:50 EST 2012


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

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

>>> >We will have a separate page related to requirements.

>>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.

>>>I am talking about the page that only contains the QuickFix/Readme checkboxes. That is the page on the up-right corner of your mockup.
>>>If you are talking about JBIDE-10421, it is fixed.

>> No, it was not fixed - just hiding the problem.

>> You seem to miss the page in my wizard flow that includes output directory/workingset choice which is what I suggest being shown
>> for non-maven ones.

>I thought that page was a simplified page contributed by Maven archetype.

No - it has an arrow, one for "maven" other for "plain"/

>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.

>We don't know what a contributed page will show and can't decide if we will show the output directory/workingset page or not. 
>Or, you mean that we need to add yet another tag? Or we need to create maven archetype page from scratch and remove those properties?

no need for another tag - if no tag there then its a "plain" example.

>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.

>>>Yes, they are there, but shouldn't show up if there aren't either errors (Quick Fix) or readme/cheatsheet.
>>>We have previously agreed that the page doesn't need to show up in this case.

>> I don't recall that sorry - I've always tried to say I would rather have a consistent flow no matter
>> if I start these from jboss central or project examples and a last page that outlines what will happen.
>> And it is only on this page users actually will have the context to say if they want to see quickfixes/show quickstart/selection etc.

>So this page needs to be shown no matter if a project example has been imported correctly or not?
>When everything is imported correctly and there aren't readme/cheatsheets, the user will only be able to click Finish. 
>The Back button has to be disabled? Right?

When its all imported and things have completed - then yes, Back button would not make sense yes.

>>>We can remove the Project Example dialog for those project examples that have the wizard tag (mavenArchetype) so that the mavenArchetype wizard can be independent.
>>>Archetype wizards work this way when calling from the Create Projects section (JBIDE-9776).

>> I don't understand what you mean here - for me "project example dialog" is where you get to choose from the full list of examples available and then start/continue the wizard with that choice - in 
>> Central case there is a limited curated list which triggers the start of the wizard.

>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.

>>>> I deliberatly did not show the selection of the example since that is outside this wizard flow.

>>Yes, the mockup describes special cases of the project examples - the project examples of the mavenArchetype type that are started from JBoss Central.

>> I don't get why you say that - this mockup is for both cases. There are two flows in it.

>I have expected that we define this wizard no matter of the project examples type, contributed page(s) that would be used from JBoss Central and using Help>Project Examples
>Anyway, we have to define a contributed page(s) API. The mavenArchetype project examples is just one special case. 
>If we implement the git project examples (JBIDE-8452), they will also have a contributed page(s). 
>We don't know how they will look and what they will do; we only need to define API for them.

wether things comes from git or somewhere else shouldn't effect what kind of project they are.

>>>>> 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.

>>>The mavenArchetype wizard (or the contributed page in our new wizard) will download the project example content. Project examples don't depend on m2e so they can't know wha>t this wizard (or the wizard page) will do. They, maybe, don't need anything to download (if the archetype has already been downloaded), but to create a project according t>o it.

>> 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 only optional page is the wizard archetype - the rest is there no matter which flow you suggest.

>> No, there is the page for the "plain" flow too (lower bound) where you get to choose where the project is stored (it can also just have defaults)

>If you mean output directory/workingsets, I have given my opinion above.

>> then dont allow changing the name, but where it is stored.

>Already not allowed for the standard project examples.

Annoyingly yes - but controlling the output directory instead of having to click preferences, open new dialog, set a preference and then come back and not see where things go next time is a very weird flow and thus why I suggest to align this.

>>Could you please explain me what is "ugly and non-intuitive" using the kitchensink quickstart as an example and I will correct that?

> From previous comment:

>> 1) project example choice
>> 2) details about "missing requirements"

>Ok. Agree that we add the Requirements page.

>> 3) wait for download (can be put in background)

>This is, IMO, better that it will be when we create this wizard.
>As to the previous discussion, when implementing the wizard, the user will have to wait (or cancel the wizard) for project examples to be downloaded and built.

unless we implement a "go to background" feature which closes the wizard and reopens one that continues from the next one.

> Thus project examples even without maven have several steps.
> And all of these steps have different layout/dialog within the flow and is different from how central presents the exact same flow.

>I don't understand. We can't change the steps. 
>The Project Example dialog that we get when starting project Examples from JBoss Central has been created using the Forms API as well as the JBoss Central editor. 
>I agree that we replace it with the Requirements page since no any dialog related to the project examples uses the Forms API.

I'm not asking to change steps - i'm asking that project examples no matter where they are started from behaves the same and becomes more fluid.

>Currently, the user imports the kitchensink project example from JBoss Central with two clicks:

>the kitchensink entry in the Project Examples section
>the Start button in the Project Example dialog
>The user can send "downloading and building a project example" to the background and work something else until the project example finishes its work.
>If we add all the pages you suggested, the user will have to do the following:

>click the kitchensink entry in the Project Examples section
>click Next in the Requirements page
>click Next in the Ouput Directory/WorkspaceSet properties page
>wait for the project example to be downloaded and built (which could take a long time and the user wouldn't be able to do anything else)
>click Finish on the page with quickfix/readme/cheatsheet checkboxes
>Could you please tell me what the improvement is when using this solution?

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.

> Why would we want to have different/duplicated functionality for this ? I don't understand that.

>No, you didn't understand me. 
>I propose the following:
>When starting a project example using Help>Project Examples, we would start a wizard that would have two pages:

>Page 1 - improved current page
>Page 2 - Requirements page
>... - contributed page

>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.

>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 project examples that have a big archive would be able to be executed in the background
>What else would have to be determinated is the following:

>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"

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