Adaptors in Eclipse

A new article has been added to eclipse.org/articles and it describes the Adaptor pattern and how it’s used in Eclipse. A must read if you’re into Eclipse/Notes 8.x plug-in development. Below is the introduction.

“The adapter pattern is used extensively in Eclipse. The use of this pattern allows plug-ins to be loosely coupled, yet still be tightly integrated in the extremely dynamic Eclipse runtime environment. The adapter framework is used extensively by a wide variety of plug-ins, including those from the Eclipse platform, other Eclipse projects, and by the broader community and eco-system. The adapter framework should be considered as one of the essential parts of the Eclipse platform that everyone writing Eclipse plug-ins must know about.”

Article: Adapters

LotusScript.doc – an update…

So it’s been very quiet lately around LotusScript.doc and I’m a bit ashamed that I haven’t written anything publicly about it for a long time. Prompted by this comment and numerous conversations at ILUG2008 I think it’s time for an update.

The state of affairs is that version 2 is almost done. With that said with new job and rebuilding my appartment I just haven’t had the time. Playing with new projects like TwitNotes has also taken some attention away from the project. Since it’s been so long I cannot remember the exact state of the project but I seem to remember that I’m very close to a release candidate. Last time I worked on the code I was writing @-command recognizers. All the major code stuff is done with the new engine being in Java. Apart from finishing the recognizers I also need to wire the new backend code to the UI and maybe look into doing a new UI.

All in all I should be able to have at least a release candiate ready at the end of the summer. Still no promises but I really want to have this done and out the door.

I’ll post more when I have more info to share and when I have looked into the code base again. After all – isn’t that what long flat stages in the Tour de France is for? 🙂

Didn’t know I could do that!

Didn’t know I could do that (don’t know whether it was added in Eclipse 3.4) but it sure makes it easier and faster to find the plugins you need to depend on. Instead of having to remember the entire name you can use the *-character. Sweet.

TwitNotes – why it doesn’t run in Notes 8.5 beta and why IBM should care

After getting my Eclipse IDE to work with Notes 8.5 I nailed why TwitNotes doesn’t work with Notes 8.5 beta yesterday. For long I was told that the main culprit was me using my own copy of org.apache.commons.httpclient but rather the version of org.apache.commons.lang that IBM supply as part of the platform was the problem.

To get TwitNotes working with Notes 8.5 I had to use both the IBM version of org.apache.commons.lang and org.apache.commons.httpclient and not my own versions. This is fine since they, among other things, provide transparent HTTP proxy support but my code wouldn’t compile using the IBM plugins. The IBM version of the org.apache.commons.lang plugin is wrongly packaged though which was the source of the problems. I actually had to repackage and replace the org.apache.commons.lang plugin supplied by IBM. When I say replace I mean actually deleting the IBM version and replacing it with my patched version.

I really hope that IBM will patch the plug-in before releasing Expeditor 6.2 and Notes 8.5.

Getting technical the problem is the Export-Package directive in the MANIFEST.MF of the org.apache.commons.lang plugin. The IBM-supplied version only export the root-package (org.apache.commons.lang) whereas they should export all the packages. This is a utility library after all.

The issue was easy to solve but unless the patched version makes it into the core platform it wont help me as I will be unable to supply a new version of a platform plugin with the same plugin version. Cross your fingers.

Oh and IBM does care – I have actually been talking to quite a lot of IBM’ers about this and only post here to Google’ize it in case others run into the same issue. Whether the patch makes it into Expeditor 6.2/Notes 8.5 still remains to be seen though…

setlogrlev for Notes 8.5 from Eclipse 3.4

Using the Eclipse configuration I posted earlier the plug-in with the setlogrlev OSGi console command wouldn’t launch. To solve this you can either manually to start the com.ibm.rcp.core.logger plug-in from the OSGi console or configure the config.ini file on the launch configuration. The former can be done with the below command. A description on how to do the latter has been added to the step-by-step instructions.

start com.ibm.rcp.core.logger