RAP is well known as an “RCP for the web browser”, including workbench, extension points, and all that stuff. Indeed, one of the greatest features of RAP is its ability to reuse RCP code in web applications. But did you know that you can also use RAP’s widget toolkit (RWT) to create simple web UIs for your applications, without the heavy weight Eclipse UI stack?
With RAP 1.5, you can now simply include RWT in any OSGi application. You only need two bundles: org.eclipse.rap.rwt (the RAP widget toolkit itself) and org.eclipse.rap.rwt.osgi which integrates RWT with the OSGi HTTP service. There are no tie-ins with Equinox anymore, thus RAP also works with other OSGi containers.
To create a UI with RWT, you have to implement the interface IEntryPoint, here’s a simple example:
public int createUI() {
// Create a maximized top-level shell without trimmings that represents the main "page"
Display display = new Display();
Shell page = new Shell( display, SWT.NO_TRIM );
page.setMaximized( true );
page.setLayout( new GridLayout() );
// Create contents of main shell
Label label = new Label( page, SWT.NONE );
label.setText( "Hello" );
Button button = new Button( page, SWT.PUSH );
button.setText( "World" );
// Open the top-level shell and run the main loop to process events
page.layout();
page.open();
while( !page.isDisposed() ) {
if( !display.readAndDispatch() ) {
display.sleep();
}
}
display.dispose();
return 0;
}
Now what’s new is that, instead of registering this entry point with an extension point, you can now implement the new Configurator interface like this:
public void configure( Context context ) {
context.addEntryPoint( "default", SimpleEntryPoint.class );
context.addBranding( new AbstractBranding() {
@Override
public String getServletName() {
return "simple";
}
@Override
public String getTitle() {
return "Simple RWT Example";
}
} );
}
When this implementation is registered as an OSGi service, you can access the UI with a web browser:

You can check out the example project example.rwt.simple from my rap-helpers repository on github. Please note that for this example to run you need declarative services in your target platform, which are not included in the RAP 1.5M1 target but in the latest nightly build. Also be aware that the new API is still provisional and may change again until the final release.
Kudos to Frank Appel, who contributed the new OSGi integration. He has a more detailed introduction to the new OSGi integration and examples for configuration in his blog. BTW, Frank and me plan to demo the possibilities of this approach in our talk Dynamic web applications with OSGi and RAP at the EclipseCon Europe – vote for it if you’re interested!
Tags: eclipse, milestone, new and noteworthy, OSGi, rap
We proudly present Riena 2.0 M5 – the first release in the 2.0 stream. As you can see by the long New & Noteworthy, we have been very active in last six weeks. Read on for my five favorite new things:
1. Pluggable Marker Decorations
The new BorderMarkerSupport draws red-borders around a widget and replaces the standard ControlDecoration. You can select either error decoration style via the Look-and-Feel settings.

2. Enhanced Master/Details Widget
The Master/Details Widget automatically links a table with the details area on the bottom (or top). It is used heavily by some of Riena’s consumers. As a result we have been receiving good feedback and have added several requested features on this milestone:
- nicer border (includes button area, separates table from buttons with a single line)
- API to participate in the life-cycle (before / after selection, apply, remove, new)
- API to ‘suggest’ a new entry – it will show in the details area and Apply will enable
- API to tweak the margin and spacing of the Master/Details widget

3. Image Button Widget
The SWT Buttons have a system-defined look that is hard to customize (for example the background color cannot be changed). Riena’s ImageButton Widget emulates a button using three images (standard, hover, pushed state).

4. Multiple Default Buttons per Controller
Riena’s Controllers have a new API that supports several default buttons per controller. The default button has a blue glow when enabled. In that state it will automatically be pushed when the user hits ENTER (anywhere).

5. Controller Testing
Controller testing is now very straightforward and has been decoupled from the UI (widgets). Just subclass AbstractSubModuleControllerTest to get started. In addition your controller has to use the new API getRidget(Class, String) instead of getRidget(String). The package org.eclipse.riena.client.controller.test in the org.eclipse.riena.tests bundle has several examples.
Read the New & Noteworthy for additional details on these items.
Tags: helios, milestone, riena
We Riena committers smoothly shipped a fresh Riena Milestone last Friday, this time 1.2.0.M3 (download). Here’s the New & Noteworthy and the list of resolved items.

For the curious, here is the schedule leading towards the December release:
- 12/04 – 1.2.0 RC1
- 12/11 – 1.2.0 RC2
- 12/15 – 1.2.0
After that the work will start concentrating on the summer release, which is part of the Helios release train.
Tags: helios, milestone, riena
After another 6 weeks of working hard towards the Helios Release, we’re a step closer. RAP M3 for Eclipse 3.6 is out and can be obtained from the RAP project page. Besides another 130 bugfixes and many New and Noteworthy features, here are my personal favorites of this milestone:
Non-shared SWT resources
Finally, we decided to provide constructors and a dispose mechanism for SWT resources like fonts, images, colors and cursors. While we still recommend to use the factory-based approach, this features helps a lot when single-sourcing applications that use the resource constructors in a verbose manner.

Yay, it compiles!
Browser History support
You now have the possibility to interact with the client-side browser history. This allows you to set “bookmarks” (eg. when switching tabs or processing a particular workflow) and the user can jump back and forward. Thanks again to Ralf Zahn from ARS who contributed this feature.

Dispose events on session timeout
We also introduced new Listener support on the Display so you’re now able to listen for Dispose events of the Display which is triggered when the session terminates. This way you don’t need to rely on servlet-specific API but rather use the same mechanism as in SWT to clean up your session. In addition you can queue runnables via Display#disposeExec that are executed once the session dies.
I hope you all enjoy the new milestone and give as feedback as fast as possible, API and feature freeze is approaching
Tags: eclipseRT, helios, milestone, new & noteworthy, rap
Milestone #3 for Eclipse 3.6 is now available for download.
Here are the noteworthy changes up this milestone:
My favorite change is the new support for software installation while running & debugging. This should be a huge time-saver for all developers who are adding p2 support to their RCP apps. It permits to do install operations in a launched application. Previously this was only possible after regularly deploying the RCP application via the export wizard.

Tags: helios, milestone
The Riena committers have just done it again: Riena 1.2.0.M2 is now out the door (download). Here’s the New & Noteworthy and the issues fixed in this milestone. Read on for my personal favorites:
Kind regards,
Elias.
Tags: eclipse ui, helios, milestone, riena
Today, the Eclipse e4 project had its first 1.0 milestone release.
This is the beginning towards sprinting for the 1.0 final release.
The big new and noteworthy in this milestone is support for remote debugging of JavaScript and in particular e4 JavaScript bundles. The support is currently restricted to Mozilla Rhino, however in true Eclipse fashion, the JavaScript debug model and extension models are in place to allow supporting other JavaScript runtimes.

If you’re interested in Eclipse e4, here’s some resources:
Enjoy and please consider contributing to the e4 effort!
Tags: e4, helios, javascript, milestone
The RAP team is proud to announce the second milestone for the Helios release.
As Holger already mentioned in his blog post, part of the milestone is a new design option for RAP applications. You can either use it as is or customize it depending on your needs.

Together with the new fancy design, there is also a new Configuration dialog to enable and disable the view actions per stack. Additionally we added an effect called Lightbox which occurs when the dialog is open.

Another thing I’m pretty excited about – the help system. The RAP runtime doesn’t provide everything you need for the whole help system, we just provide the infrastructure to plug in any help system implementation you want. Depending on your needs you can either use a pretty simple implementation or single-source the real help system implementation (org.eclipse.help.ui) yourself (great chance to get involved by the way).

For those of you who are working a lot with tabular data, we now provide cell tooltips on the TableViewer if you use a CellLabelProvider. This enables you to provide tooltips on the fly for all of your table cells.

Looking at this milestone in numbers, we fixed 100 bugs and resolved 36 enhancements – this includes another 23 new APIs that are now available for you. We’re pretty excited about the Helios release and looking forward to the next milestone.
Be sure to check out the whole New & Noteworthy as there are much more details we added in M2!
Tags: fancy, helios, milestone, new and noteworthy, rap, Single Sourcing
The second milestone (M2) of next years’ Eclipse Simultaneous Release called Helios is now available!
I am proud that I am able to announce the availability of the corresponding Helios EPP M2 packages. You can download them from the usual EPP nightly build page www.eclipse.org/epp/download.php.
It’s the first time ever that the EPP packages are available so soon in the yearly release cycle and I think it is a good opportunity to get a lot of early feedback. The Eclipse Platform team did this all the time, but hopefully this will help other projects to get more testing by the community.
Thanks to all that helped to make this happen!
Tags: epp, helios, milestone
Milestone 2 for Eclipse 3.6 is now available. Now that summer is over, and most people have returned from vacation, Eclipse development is starting to ramp up again. Interested in getting involved, now is a GREAT time.
M2 is available from:
http://download.eclipse.org/eclipse/downloads/drops/S-3.6M2-200909170100/index.php
Inside Eclipse, you can use p2 to update with this URL:
http://download.eclipse.org/eclipse/updates/3.6milestones
Finally the new and noteworthy can be read at:
http://download.eclipse.org/eclipse/downloads/drops/S-3.6M2-200909170100/eclipse-news-M2.html
Checkout the great new features like the API usage scans.
Tags: helios, milestone