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…