Bug 238144 - Provide Java Project templates
Summary: Provide Java Project templates
Status: ASSIGNED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P5 enhancement (vote)
Target Milestone: ---   Edit
Assignee: JDT-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2008-06-23 11:38 EDT by Benno Baumgartner CLA
Modified: 2016-05-02 00:34 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benno Baumgartner CLA 2008-06-23 11:38:04 EDT
I20080617-2000

Like the new plugin/RCP project wizard, the new Java project wizard (or a separate wizard) could provide Java project templates. Templates could be added i.e. for
- SWT Game
- SWING Game
- Some useful JFace MVC example
- ...

This should help new users/Java beginners to have a "not trivial" project up and running with just a few clicks. Building an RCP is certainly overkill for this users.
Comment 1 Benjamin Muskalla CLA 2008-06-23 12:10:13 EDT
I wonder if JDT should really care about this.
Initially it was not the goal of the Examples project (http://www.eclipse.org/examples/) to provide Eclipse integration but looking at other IDEs we should really think about having a new project wizard for "Examples". There we could have pure Java examples in addition to "Eclipse-related" examples.
The only concern I see is that the examples should be in good shape for each release. But this does not apply to JDT/Java examples as long as it's plain java.

Adding Wayne for some feedback.
Comment 2 Benno Baumgartner CLA 2008-06-24 03:52:28 EDT
(In reply to comment #1)
> I wonder if JDT should really care about this.

Of course JDT should care about simplifying the out of the box experience, JDT is not good in this area compared to other IDEs and we need to improve in 3.5

> Initially it was not the goal of the Examples project
> (http://www.eclipse.org/examples/) to provide Eclipse integration but looking
> at other IDEs we should really think about having a new project wizard for
> "Examples". There we could have pure Java examples in addition to
> "Eclipse-related" examples.

Even better if another project is able to contribute and maintain this examples. But they need to be simple plain Java examples, not eclipse related, we have the Plug-in wizard for those.

> The only concern I see is that the examples should be in good shape for each
> release. But this does not apply to JDT/Java examples as long as it's plain
> java.

This is also true for the help, shouldn't be too much of a problem as long as the examples are simple. The Java language doesn't change that often.
Comment 3 Benjamin Muskalla CLA 2008-06-24 04:39:43 EDT
(In reply to comment #2)
> Of course JDT should care about simplifying the out of the box experience, JDT
> is not good in this area compared to other IDEs and we need to improve in 3.5

Sure we should care. But in the past there were already so many cases where JDT stepped up with really good ideas/implementations which could be used by everyone. But only the JDT team had the time/passion to implement those ideas. My comment was just to prevent this to happend again. I'm sure JDT would do a great job here :)


> Even better if another project is able to contribute and maintain this
> examples. But they need to be simple plain Java examples, not eclipse related,
> we have the Plug-in wizard for those.
Sure.

I wonder if the Examples project could reuse the template code of the PDE project wizard to provide an easy way to contribute examples. I would like to see an Eclipse which has a common place for creating/seeing examples like other IDEs do.

There are two issues which come to my mind at the moment
Does it make much sense to have an own "Examples" project wizard? Integrating it into the existing wizards for projects (like PDE does it) would provide a much better usability for the user. Or not?

CCing Chris from PDE. Maybe he can lighten up this a little bit.
Comment 4 Chris Aniszczyk CLA 2008-06-24 13:09:06 EDT
You know, this is on my list of top 3 issues really killing Eclipse. We have all this wonderful technology but are bad at capturing easy examples for people to use. The problem is that it isn't really easy to build examples, so we don't see many yet.

What I would love to see is a generic templating framework in the SDK so different projects can reuse it. There's an old bug open from many years ago that has this request for a framework (bug 36960). The PDE templating framework is limiting in what it can provide.

Let me know what I can do to help.
Comment 5 Benno Baumgartner CLA 2008-06-27 08:49:02 EDT
(In reply to comment #3)
> Sure we should care. But in the past there were already so many cases where JDT
> stepped up with really good ideas/implementations which could be used by
> everyone. But only the JDT team had the time/passion to implement those ideas.
> My comment was just to prevent this to happend again. I'm sure JDT would do a
> great job here :)

Ok, got it, you're right, I didn't thought about the other projects. 

I see 3 options:
1. Provide no framework for this at all in the platform (better LTK) and let each language provider do what the want/can.
2. Provide a common place where language providers can plug-in examples to make it easier for the users to find all the available examples. 
3. Provide a full blown code generation engine which works for any possible language/resource kind as it seems to be proposed in bug 36960.

First: I see no way 3 is going to happen resource-wise from our side. 1. is the status quo plus JDT/project examples. I can imagine 2 to happen. I'm thinking about one new 'New Example Project' wizard containing example projects to choose from. Pretty much the same as the last page of the new plugin wizard: Available projects on the left shown in a tree, description on the right side.

Example project providers can then provide wizard pages and generate there example project whichever way they like to. We could provide one generic way to generate a project, which is: Extract the project from an archive into the workspace. We have a working implementation of that already. But with no parameterization whatsoever.

> Let me know what I can do to help.

Well, this would require PDE to change its new wizard.

But first, we should collect some ideas about what kind of example projects we want to provide and decide if it is worth spending time on this bug.