This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 181345 - Put Maven-NetBeans project templates under the NetBeans Modules category?
Summary: Put Maven-NetBeans project templates under the NetBeans Modules category?
Status: RESOLVED WONTFIX
Alias: None
Product: projects
Classification: Unclassified
Component: Maven (show other bugs)
Version: 6.x
Hardware: All All
: P3 normal (vote)
Assignee: David Simonek
URL:
Keywords: UI
Depends on:
Blocks:
 
Reported: 2010-03-01 01:52 UTC by Petr Jiricka
Modified: 2010-08-06 17:23 UTC (History)
5 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Petr Jiricka 2010-03-01 01:52:46 UTC
Currently, the Maven category in the New Project wizard contains the following items:
- Maven NetBeans Module
- Maven NetBeans Module using OSGi
- Maven NetBeans Application

Wouldn't these be better suited for the NetBeans Modules category? (The existing project templates in the NetBeans Modules category would have to be renamed to avoid confusion.)

Besides better consistency with the Ant-based NetBeans Modules projects, one other reason is that the number of templates in the Maven category is already quite high (9). By moving the three templates above, there would be 6 items in the Maven category and 7 items in the NetBeans Modules category, which is less overwhelming.
Comment 1 Milos Kleint 2010-03-01 03:03:30 UTC
well, with the same logic we should move the j2ee items to the relevant template category. The current solution was discussed with jrojcek at that time.

we could get rid of the "nb module with osgi" template once we create a customizer panel that would do the job of switching that parameter.
we can also get rid of the "open existing maven project" item, it should be already obsolete.
Comment 2 Petr Jiricka 2010-03-01 03:20:18 UTC
> well, with the same logic we should move the j2ee items to the relevant
> template category.

That is of course a question. And similarly, the question is whether we should have a Maven category at all (since we don't have an Ant category), or whether all the Maven templates should be dissolved in the existing categories, such as Java, Java Web, Java EE. I am not sure.

But I think the situation with NetBeans modules is specific in that:
- 6.9 is the first release that contains this functionality. For the other templates, users are already used to the current location inside the Maven category.
- NetBeans module developers are quite a specific group, so they would be more likely to look for the templates in the NetBeans Modules category. For more mainstream usages such as Java Web, I can imagine users would look in the Maven category. 

This is all very thin ice, and arguments can be made one way or the other way.

> we can also get rid of the "open existing maven project" item, it should be
> already obsolete.

I am not sure about this - especially for users coming from other IDEs where Maven import is not as straightforward as in NetBeans, this item can be quite useful eye-opening.
Comment 3 Milos Kleint 2010-03-01 03:40:05 UTC
I agree the argument for moving apisupport stuff is a bit stronger, but still I would personally vote for consistency. Either all or nothing.

The original argument for having a separate category was that we still have a primary kind of project types (ant) and that's what we want the clueless people to choose. We don't want to have the clueless people to decide up front on something they don't understand at all - ant vs maven. The sort of people who know what maven is and want to use it, will find it in the separate category.
Comment 4 David Konecny 2010-03-01 16:58:52 UTC
re. "clueless people" - this make lots of sense. Having Maven in Java or Java Web category might just confuse people and lead them to accidentally use something they do not want to use. In that sense Maven category is special and should stay separately.

Similarly though NetBeans Modules is special category which should contain everything related to building NetBeans modules. And because users of this category should be more experienced I would not worry to place Maven templates directly there. I would even argue that if you are looking for NetBeans module related templates you will not expect them anywhere else then in this category. So I agree with Petr to move Maven-NetBeans-module related templates there.

re. "consistency. Either all or nothing" - my subjective opinion is: in 90% of cases I follow the consistency rule. This is the case where I would be very comfortable/confident breaking it. :-)
Comment 5 Jesse Glick 2010-08-02 19:04:14 UTC
I don't think this is a DEFECT; matter of opinion where things should go.
Comment 6 Petr Jiricka 2010-08-04 07:23:13 UTC
So what is your opinion? 

BTW, I think in the future we will need another template under the Maven category: Maven OSGi Web Application.
Comment 7 Jesse Glick 2010-08-04 12:14:09 UTC
I am generally in favor of having templates organized primarily by technology domain (SE, EE, NBM, ...) and only secondarily by project system, especially if we commit to feature parity for Maven. Whether the distinction between project systems should be in labels ("NetBeans Modules" > "Ant Module", "Maven Module") or subcategories ("NetBeans Modules" > "Ant", "Maven" > "Module") I am not sure. We already mix freeform project templates into technology categories ("Java" > "Java Free-Form Project").

Usage of OSGi is another complicating factor since that does not imply either a technology (can be used in SE or EE etc.) nor necessarily a project system (Maven support is best, but could be Ant-based, or some new project type based on bnd.bnd files).

Assuming "Maven Quickstart Archetype 1.x" is used as "Java" > "Maven Project", we will in any case still need a category for special Maven project templates:

1. Arbitrary archetype found in some repository or another.

2. POM project (see bug #139532).
Comment 8 David Konecny 2010-08-04 20:43:17 UTC
(In reply to comment #7)
> I am generally in favor of having templates organized primarily by technology
> domain (SE, EE, NBM, ...) and only secondarily by project system, especially if
> we commit to feature parity for Maven. 

I agree.

> Whether the distinction between project
> systems should be in labels ("NetBeans Modules" > "Ant Module", "Maven Module")
> or subcategories ("NetBeans Modules" > "Ant", "Maven" > "Module") I am not
> sure. We already mix freeform project templates into technology categories
> ("Java" > "Java Free-Form Project").

I prefer two level hierarchy until secondary lists become too long (>10 items)

> Assuming "Maven Quickstart Archetype 1.x" is used as "Java" > "Maven Project",
> we will in any case still need a category for special Maven project templates:

What about placing these into "Other" category at the bottom of the list similarly like we do for New File wizards?
Comment 9 Ondrej Langr 2010-08-05 12:32:32 UTC
Another point of view: I've quickly scanned through videos from the usability study last week and noticed that all 7 participants who were given the task of creating a "Enterprise application using Maven" found the correct item without any issues and in a short time-frame.

So I don't think dissolving all Maven wizards into other categories is a good idea (I'm not saying users wouldn't find it there, but why to change something which works). 

As for NetBeans Maven wizards, I'd keep them in the Maven category as well for two reasons: consistency mentioned above plus the fact that users tend to scan semi-sequentially - so this means Maven category is somewhat more likely to draw attention first. But to me this seems really a minor thing as we're talking about items used mostly by experienced users.
Comment 10 John Jullion-ceccarelli 2010-08-06 07:18:28 UTC
I tend to agree with Ondra. When I was going through the tasks in Eclipse, I felt like I knew that I was looking specifically for a Maven project and so expected to find them in a Maven category. The fact that our "standard" projects use Ant is more or less an implementation detail, most users don't choose them because they use Ant or care. But I'm guessing most users who want a Maven project will know specifically that they want Maven. And Maven has enough quirks that we probably don't want people who know nothing about Maven accidentally choosing a Maven project.
Comment 11 Jesse Glick 2010-08-06 17:23:36 UTC
OK, let's defer unless and until a more compelling argument arises for changing the existing structure.