Category Archive for: ‘General’

e4 RCP and Styling @ EclipseCon


There are only a few days left until EclipseCon! If you are interested in Eclipse 4.x RCP development and CSS styling (4.x and 3.x), don’t miss our tutorials

The screen shot below shows our beloved RCP Mail demo with a bit of CSS styling.

Have Fun!


Follow me on Twitter

MP3 Manager 3.6.2 released


Yesterday I released version 3.6.2 of my Eclipse RCP demo “MP3 Manager”. You find all information at the project page.

What’s new in version 3.6.2?

  • Now based on target platform Eclipse 3.6.2
  • New target definition project
    • See project
  • Fixed PDE build, based on 3.6.2 (Bug 327706 is fixed!)
  • New Tycho based build
    • See project com.siemens.ct.mp3m.tycho (the tycho product build)
    • See project com.siemens.ct.mp3m.tycho.parent (the parent pom)
  • Minor code cleanup

You can download the latest sources and the win32 binaries (including a demo song played by myself) here. The Tycho based build results for win32 and Linux (not including demo songs) you find here.

As soon as Tycho support rootfiles in features (planned for version 0.11.0 of Tycho) I will also include the demo songs in the Tycho build.

Since MP3 Manager is a demo, I plan to support both PDE builds and Tycho builds in the future.

Have Fun!


Follow me on Twitter

My upcoming Eclipse e4 related Sessions and Tutorials

In the next months I am going to give some Eclipse e4 related tutorials and sessions on the following conferences: EclipseCon 2011 in Santa Clara (USA) and JAX 2011 in Mainz (Germany). I am looking forward to attending both conferences, they are always inspiring and fun.

The EclipseCon tutorials are:

The JAX sessions are:

At JAX, I am also planing to give a session about “Dynamic Web Applications with Equinox and Vaadin“. If you plan to attend any the above sessions, I would be happy if you join me afterwards for a chat.

Have Fun!


Follow me on Twitter

Dynamic modular Web Applications with Vaadin and OSGi


I am a big fan of both OSGi and GWT (Google Web Toolkit). Unfortunately these two technologies don’t fit together very well. When you want to run OSGi on the server, RAP (Rich Ajax Platform) is one proven approach to go. While I like RAP a lot, you have to have quite a lot of Eclipse RCP know how for using it. Another alternative, if your want to run OSGi on the server and provide a modular, dynamic UI is Vaadin. Btw, Vaadin is the Finnish word for female reindeer. Vaadin is a server side RIA framework that uses GWT as rendering engine. In the last couple of days a played a bit around with Vaadin and I have to admit, I like it a lot. So, I wrote a little dynamic OSGi Vaadin demo (Download link and instructions are below). My goals for the demo were:

  • Provide Bundles that contribute directly to the web application’s UI
  • Just starting and stopping bundles should contribute/remove UI elements and functionality
  • I wanted to implement something similar to my dynamic Swing OSGi demo

Before I started with Vaadin, I found a few interesting reads and code sample regarding OSGi and Vaadin:

But back to the demo, here is a screen shot running the application in Firefox:

The idea is to support two kinds of UI contributions: views and actions. The views are inserted in a tab folder, the actions appear in the toolbar and the Action menu. I implemented a little OSGi agent as a view (Bundle View). This view shows a selection of bundles currently available. By checking/unchecking a bundle, it will be activated/stopped on the server side. If you press “Deselect All”, all bundles go to resolved state and all the UI contributions disappear immediately:

Of course you could start and stop bundles from the OSGi console directly, then you would have to refresh the browser to get the changes displayed. To get the demo running on your local machine, follow these steps:

  • Make sure you have an Eclipse IDE installed
  • Download the demo sources and target platform (6.8 MB)
  • Import all projects from the zip file into Eclipse
  • Open the project “”
  • Double-click (That opens the target platform definition in an editor)
  • Click on “Set as Target Platform” in the right top corner of the editor
  • Now everything should compile
  • Start the Run Configuration “OSGi Vaadin Demo”
  • Open the following URL in your favorite browser “http://localhost/
  • If everything went well, you see the demo in your browser
  • if you don’t want to run Jetty on the default port 80, add a VM argument in the launch configuration, e.g.: -Dorg.osgi.service.http.port=8080
  • Play around with it, activate/stop bundles and watch the console log

In the next weeks I plan to go a little bit more into details of the demo, how OSGi declarative services are used, how to contribute to Vaadin Themes, etc.

Stay tuned and have fun!


Follow me on Twitter

My Blog has a mobile Theme now


Since I am very interested in mobile platforms like Android, iOS, etc. I decided to add a mobile theme to my WordPress based blog. After playing around with different options I decided to give the WordPress Mobile Pack a try. As a result, you should see a different theme if you access my blog from mobile devices. It should look like this:

But after some experiments I liked the 1.9.x version of WPTouch (which is still free) even better. Now my mobile Blog looks like:

Please give me feedback how my blog looks on your mobile device. On my Android based N1 it looks and behaves quite good, but I have no idea how it does on other devices.



Follow me on Twitter

PS: I am working on a technical blog about “Modular Web Applications with OSGi and Vaadin” — stay tuned

Eclipse RCP 3.6.x: Got Headless PDE Build working

In one of my previous posts I had some issues to get the headless 3.6.x PDE build running for a few of my RCP projects. But I quickly got many very helpful comments and now I have the build up and running on Windows Vista/7. I have to admit that the tricks I describe below considered to be hacks rather than a clean solution, but on the other hand it works at least for my RCP applications.

Trick 1: Modify the target 3.6.x platform
Usually I create my target platforms just by unzipping an Eclipse SDK and the corresponding delta pack. But this did not work with 3.6.x, as described in my previous post about PDE build. I got lots of unresolved dependencies. The trick to get rid of many of them is to delete everything from the target platform except the plugins and features directory. If your RCP application is not using p2 related stuff, then there is a good chance that the build will succeed. In my RCP applications I include the feature org.eclipse.equinox.p2.user.ui in my product configurations, that leads to an unresolved dependency to If you see the same in your build, then trick 2 might help.

Trick 2: Manually remove dependency to (if not needed)
If your RCP application just uses p2 for self-updating, then you probably don’t need a dependency to How to remove it manually I described in my blog post “Eclipse RCP p2 self-update with Eclipse 3.6.x“.

With above modifications I got the build running again. Please let me know, if these tricks work on other platforms, too. I explicitly want to thank Alexander, Albert MacSweeny and Frode for their helpful comments in my previous post about PDE build.

Have Fun!

Follow me on Twitter

Eclipse RCP p2 self-update with Eclipse 3.6.x


If you are using the feature org.eclipse.equinox.p2.user.ui in your RCP product to include the p2 update mechanism in your application, or if you just use p2 internally, you might run into some issues with Eclipse 3.6.x. If your update is not working and or you get a log entry “the update checker service is not initialized”, then probably the OSGi bundle org.eclipse.equinox.ds is not started properly. The easiest way to solve this issue is to include org.eclipse.equinox.ds with start level 2 in your product configuration (in the configuration tab, see screenshot below)

Another thing is the newly introduced dependency of the bundle org.eclipse.equinox.p2.ui.sdk to, which depends on org.eclipse.ui.ide… If you just want to use RCP self-updating, here is a recipe how to get rid of this dependency:

  • Import org.eclipse.equinox.p2.ui.sdk as source into your Eclipse IDE
  • Delete dependency to
  • Delete class RevertProfilePageWithCompare
  • Export the bundle
  • Replace the original org.eclipse.equinox.p2.ui.sdk with the newly exported version in your target platform

I would like to thank Alexander (comment in my last post) for the pointer to a p2-dev mailing list entry.

With these 2 tips I got p2 self update for my MP3 Manager running again with Eclipse 3.6.x. I also got the headless PDE build running again and will blog about that later.

Have Fun!

Follow me on Twitter

Oh No! My headless PDE build failed with Eclipse 3.6.1 :(


Yesterday I decided to update the headless builds for several of my Eclipse RCP based projects to Eclipse 3.6.1. No big deal, I thought. I did this several times in the last years and it took me only minutes. But this time, I can’t get the build running. My platform is Windows 7 32bit and I get the following errors:

[p2.director] An error occurred while collecting items to be installed
[p2.director]  session context was:(profile=profile,
phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
[p2.director]  No repository found containing: osgi.bundle,org.apache.ant,1.7.1.v20100518-1145
[p2.director]  No repository found containing: osgi.bundle,org.eclipse.ant.core,3.2.200.v20100427
[p2.director]  No repository found containing: osgi.bundle,,3.5.100.I20100526-0800
[p2.director]  No repository found containing: osgi.bundle,,3.5.100.I20100526-0800
[p2.director]  No repository found containing: osgi.bundle,org.eclipse.core.filebuffers,3.5.100.v20100520-0800
[p2.director]  No repository found containing: osgi.bundle,org.eclipse.core.variables,3.2.400.v20100505
[p2.director]  No repository found containing: osgi.bundle,org.eclipse.equinox.concurrent,1.0.100.v20100503
[p2.director]  No repository found containing: osgi.bundle,org.eclipse.jface.text,3.6.1.r361_v20100825-0800
[p2.director]  No repository found containing: osgi.bundle,org.eclipse.text,3.5.0.v20100601-1300
[p2.director]  No repository found containing: osgi.bundle,org.eclipse.ui.editors,3.6.1.r361_v20100825-0800
[p2.director]  No repository found containing: osgi.bundle,org.eclipse.ui.ide,3.6.1.M20100825-0800
[p2.director] An error occurred while collecting items to be installed

My RCP application does NOT have any dependencies to the above bundles. I found some hints here and a bug here, but did not find a working solution yet.

Is anybody out there who got a working headless PDE build under Windows using Eclipse 3.6.1?

If so, please let me know, I will update this post if I get it working.


Follow me on Twitter

My upcoming Eclipse 4.0 RCP related Sessions/Tutorials/Trainings

Summer is almost over, I had a great vacation with my family. Now I am looking forward to the upcoming events to talk about e4 (Eclipse 4.0 RCP respectively).

The next event is the JAOO conference at the beginning of October in beautiful Aarhus (Denmark). At JAOO I give a full day tutorial “Developing Rich Clients with Eclipse 4.0”. I like JAOO a lot, this is a conference where I always meet very interesting people and learn new things. If you plan to attend, here is a tip to get 20% discount. Follow me or any other JAOO speaker on Twitter and then use “JAOOspeakerfollower” as promotion code upon registration. Besides the great conference technical content, I really love the tasty food by Chilly John. Have you ever tasted a steak with a chilly/chocolate sauce?

One week later, at October 20th, I give a full day tutorial “Rich Client Entwicklung mit Eclipse 4.0” in Düsseldorf, Germany. This will be full day of e4 related RCP stuff with lot of hands-on experience.

The next event is Eclipse Summit Europe in Ludwigsburg (November 2-4). I will give an e4 tutorial “Anatomy of an e4 Application” together with Lars Vogel, participate in the “Eclipse 4.0 Hackfest” (together with Boris Bokowski, Tom Schindl and Lars Vogel). And I give a little short talk about “Eclipse 4.0: Theming the UI with CSS“. This conference is like a little EclipseCon in Germany. I am pretty exited that Jeff Norris is going to give a key note. The keynote Jeff gave at this year’s EclipseCon was one of the best I have ever seen in my life (and I have seen quite a lot keynotes :)).  Also Gunter Dueck is always fun, very nice to have him as keynote speaker.

Then, from November 15-19, I have a home match at the W-JAX conference in Munich, Germany. Here I talk about “Eclipse 4.0: CSS Styling and Workbench Modeling“. W-JAX in Munich is always great!

So, if you are interested in e4, there’s lots of upcoming events you could attend.

Have Fun!

Follow me on Twitter

CSS Theming for Eclipse RCP 3.x


Eclipse 4.0 brought a great new feature: Theming RCP applications with CSS. Another good news is, this cool feature can also be used with RCP 3.x based applications. The following screen shot shows the RCP Mail Demo, styled with CSS:

How to run the Demo with CSS styling?

  1. Checkout
  2. Import Project Set /releng/org.eclipse.e4.ui.releng/e4.ui.css.psf
  3. Checkout e4/org.eclipse.e4.ui/bundles/org.eclipse.e4.ui.widgets (see bug 322641)
  4. Cleanup org.eclipse.e4.ui.css.swt (see bug 322644)
    => Organize Imports
    => Delete dependencies to org.eclipse.e4.core.*
  5. Start the CSS RCP Mail demo (project org.eclipse.e4.ui.examples.css.rcp)

The demo also provides dynamic theme switching. Here is is little excerpt from the defaul.css styling:

CTabItem, Label, Tree, Text {
 font-family: "Arial";

Shell {
 font-size: 12;

CTabItem, ToolBar, Button, CBanner, CoolBar {
 font-size: 9;
 background-color: white;

CTabFolder, CTabItem {
 background-color: #F0F1F7;

If you would like to play around with the css, just edit the files css/default.css and css/colorful.css in the project org.eclipse.e4.ui.examples.css.rcp. I have submitted a short talk at Eclipse Summit Europe to explain a few more details.

Have Fun!

Follow me on Twitter

Page 5 of 12« First...«34567»10...Last »