As expressed in the post Marketing IDE / was: Ctr-1 driven development: these are some proposed Eclipse IDE howto videos:

  • Create an E4 Application with PDE and E4Tools
  • Build an E4 Application with Tycho
  • Test E4 Application with SWTBot
  • Build JEE Application with WTP
  • Build Maven based JEE Application with WTP

Below there is an outline of the scripts. For the scripts I would prefer to get suggestions from the community, therefore any suggestion or comment is helpful

Create an E4 Application with PDE, Window builder and E4Tools

get Eclipse ide, install PDE, check window builder, install e4 tools. Create E4application, test run the application

Open the E4 Model Editor, Add menu, link command to handler

add datamodel; use e4 model editor to declare Part Class.

add user interface. edit UI with Windowbuilder.

show databinding to link datamodel with UI.

Build an E4 Application with Tycho

Get the existing e4 application, create the 4 additional projects: parent, repository, feature, and test .

Setup parent pom with needed repositories, trigger mvn clean verify

It is possible to make a second video on how to create a modular project set, where we have a platform application and more client projects

Remember to move the .product file into the repository

Test E4 Application with SWTBot

Get the existing application with Tycho test, edit the test project by adding a JUnit Test. Create a Test helper class to access the E4Context and provide some basic method to interact with E4 App Model. As example, below there is an example to switch perspective


Create a JUnit test class that use the E4SwtBot to access the E4 Context  USe the recorder to record a test. run the test via run > JUnit plug-in tests, run the test via Tycho build

Build JEE Application with WTP

Install AS, Install WTP connectors for AS, launch application server from inside eclipse, verify the AS is running. Create an EJB Project , Write a basic HelloEJB Session bean.

Implementation of the HelloBeam


Create Dynamic Web Project, create a Servlet, reference the Hello EJB from project properties,

modify the Servlet code to respond using content stored in session bean

Build Maven-based Java EE applications in Eclipse

use m2e-wtp project to provide tight integration between WTP and Maven.

A good source is the fbrickon video at EclipseCon 2014


This page holds some references to WTP (Web Tools Platform) developer resources.

Main WTP references

Main references

WTP Contribution

Resources on how to contribute to WTP project:

There are also more easy-to-find resources on contributing

Other interesting info:



This post follows up the mailing list discussion on [ide-dev] about Ctr-1driven development in Eclipse.

Default XML Editor

As first thing, I suggest to put the current WTP XML editor as default editor in Eclipse SDK. It might be that someone wants a lighter, streamlined XML editor, but I’m pretty sure the Eclipse community can deal with something like this.

Source View as Default

Secondly, suppose I am using Eclipse Eclipse Jee (or equivalent SDK + JBoss Tools). In these cases, when start editing an xml file, you’ll see the default editor is a strange tabular editor which would be confusing for basic users, and also for “more expert” users, like me.

So, i propose to put the “Source” view as default view.

Minor Editor adjustments

Let’s go to the source perspective and start editing the code. The editor has autocompletion, and it is quite good, in the sense you have auto/closing tags and namespace-sensitive context-help. In this way, this is really a good editor!

I would improve the following:

  • When writing an opening a tag, the IDE could auto-complete “on-the-fly” by adding a closing tag (and removing that if the user put the “/” for a “self-closing-tag”
  • Automatically change the start tag or the end tag when you edit the other one, (see Lars’ description in thread)

Other notes:

The interesting discussion is highlighting other things we can improve, more in general, like Lars pointed to bug 318681 and bug 35000 . These ideas are not covered in this post.


I added the following items: