[
https://issues.jboss.org/browse/JBIDE-10264?page=com.atlassian.jira.plugi...
]
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