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

Configure Eclipse 3.4 for Notes 8.5 plug-in development

So ever since I got one of the first drops of Notes 8.5 and with increasing effort since the public beta of Notes 8.5 came out I have been trying to get my Eclipse IDE ready for Notes 8.5 plug-in development no without success. Shout outs to IBM have been unsuccessful… πŸ™

Notes 8.5 is built on Expeditor 6.2 which in turn is based on Eclipse 3.4 (codenamed Ganymede). I couldn’t get my Eclipse 3.2/Expeditor 6.1 toolkit combo to work with Notes 8.5 and without an Expeditor toolkit for Expeditor 6.2 I couldn’t get my Eclipse 3.3/3.4 to work.

Finally today I managed to get my Eclipse IDE configured by piecing together different pieces of information found via Google. Below is a description on how to configure the latest build of Eclipse Ganymede (3.4 RC2) for Notes 8.5 plug-in development and debugging. Only caveat I have discovered so far is that I manually have to update the classpath for SWT libraries (e.g. org.eclipse.ui.swt) every time I restart Eclipse.

Once you have gone through the steps in the description (see link below) you should be able to run plug-in projects in Eclipse 3.4 using Notes 8.5.

Good luck!! πŸ™‚

Configure Eclipse 3.4 RC2 for Notes 8.5 public beta

ILUG2008: Sidebar appdev code

Here are the demos I had the time to do at ILUG2008. I didn’t get through all the demos I had planned but that’s life. The zip-file contains a couple of projects you should be able to import into Eclipse.

The included projects are:

  • Basic how to build a sidebar app demo
  • Responding to the workbench – selection listener and ISelection adapting
  • Interacting with Notes data – Notes URLs, resolving URL to document, Notes threading and UI threading
  • OSGi bundle dependency demo

I have a lot more demos ready for Lotusphere! πŸ™‚

Questions? Let me know.

Demo code (ZIP)