<< June 2008 | Home | August 2008 >>

If in doubt throw more memory at it

I have had more memory added to my Tomcat hosting and the blog already seems to be running better. Thanks to those who have been pointing the problems out to me.

Really like being able to minimize sidebar plugins to an icon

Prior to Notes 8.5 it wasn't really an option to load many sidebar plugins as they, even when collapsed, would take up a great deal of screen real estate. From Notes 8.5 you can choose to minimize a sidebar plugin to an icon at the bottom of the sidebar panel which is really nice. You do this is in the part menu by selecting "Minimize to Icon".

In my Notes 8.5 client I run the following 10 sidebar plugins:

The latter six I run minimized as I use them less often that the other four. Below is a screenshot of the minimized sidebar plugins.

You might say: "but what about performance when running so many sidebar plugins?" Well due to the way Eclipse is constructed no code from the the sidebar plugins will be loaded until you activate it so having many minimized plugins is without any performance penalty. All that is needed to show a minimized/collapsed sidebar plugin can be read from its plugin.xml file.


Tags :

TwitNotes - 1.0.5 released to the update site

Finally after talking about it for a long time and working on it for even longer I'm happy to announce that I have uploaded TwitNotes v. 1.0.5 to the update site. This release became bigger than first expected and required more work than expected so I'm really happy to get it out there. Before you go ahead and upgrade/install let me tell you a little about what has happened with TwitNotes since the last public release (v. 1.0.3).

The first and most important is that TwitNotes 1.0.5 runs on Notes 8.0.1, 8.0.2 beta 2 and Notes 8.5 public beta 1 (I admit I haven't tested on Notes 8.0). The second biggie is that I have rewritten the entire HTTP layer to use the HTTP classes built into the Lotus Expeditor framework (more on this is a separate post). This affords me automatic authentication (due to integration with the Accounts API) but also, supposedly, proxy support. I'm not behind a proxy but the feedback from beta testers is positive. The third and final thing that has changed is that TwitNotes now have two tabs - one for normal tweeting and reading tweets (the UI you know) and the second for searching for Twitter posts (using the service formerly known as Summize). See this post for more info (although the UI has changed slightly).

The caveat

As noted above this release took more work than first expected but I'm really happy about the result and as noted I ended up scrapping my own HTTP layer. By doing that I got automatic HTTP authentication and proxy support. The drawback is that TwitNotes now require a patched version of the org.apache.commons.lang plugin if you're running Notes 8.0.1 or Notes 8.5 public beta 1. This is due to some rather unfortunate packaging of this plug-in from IBM Lotus. For some reason this patch isn't required on Notes 8.0.2 beta 2.

On the positive side I have a conference call with IBM on Friday. This is to confirm that the patched version of the plug-in that I submitted makes it into the next releases of Notes so this no longer will be an issue once 8.5 and 8.0.2 are released.

For now however it means that you have to patch your Notes install (if running Notes 8.0.1/8.5 public beta 1) before installing TwitNotes 1.0.5. It's really easy and only takes a minute or two. See below to installation instructions.

If you wonder why patching the plugin is necessary read the separate post (Why patching the org.apache.commons.lang plugin is necessary).


  1. Close your Notes client
  2. Download the org.apache.commons.lang plugin that's appropriate from the list below (remember that Notes 8.0.2 beta 2 doesn't require the patch).
  3. Locate your Notes installation directory and open the framework/rcp/eclipse/plugins directory (e.g. C:\Notes8\framework\rcp\eclipse\plugins).
  4. (optional) Rename the file called org.apache.commons.lang_2.2.0.yyyymmdd.jar from something else.
  5. Copy the jar-file you downloaded to the directory optionally replacing the copy that's already there.
  6. Install TwitNotes using the update site I have setup (http://update.lekkimworld.com/attentionotes/) or refer to the somewhat outdated installation guidelines for instructions.


That's it. I hope you will install TwitNotes and that it will work for you! :-) As always comments and suggestions are more than welcome.

Tags : ,

Why patching the org.apache.commons.lang plugin is necessary

As part of the core Lotus Expeditor framework a number of Apache Jakarta Commons libraries are supplied as plugins. Unfortunately the org.apache.commons.lang plugin is incorrectly packaged which means that developers cannot reuse code from this library. This goes for all Notes 8 releases so far (Notes 8.0, 8.0.1, 8.0.2 beta 1, 8.0.2 beta 2, 8.5 beta 1).

The problem is that the plugin manifest file (MANIFEST.MF) doesn't export all the packages of the library but only the root package. The *right* thing would be to export all the packages (e.g. org.apache.commons.lang.exception, org.apache.commons.lang.math etc.)

Luckily the problem is quite easy to fix and it will be in upcoming releases. For now, as a developer, the easy way to solve the problem is to simply modify the manifest by unzipping the plugin, changing the MANIFEST.MF file and rezipping the plugin back up. I have done this on all my machines and will be supplying a patched version of the plugins so you can run TwitNotes 1.0.5 on these releases.

Patching this plug-in wont affect other code in my eyes.

Sametime Awareness Simulator finally available for download

The Sametime Awareness Simulator is sponsored and brought to you by IntraVision the maker of OnTime Group Calendar, the leading provider of group calendar and meeting room booking and managing software for the Lotus Notes platform. Read more at ontimesuite.com.

I'm happy to announce that the Sametime Awareness Simulator is finally available for general download from the applications main page (lekkimworld.com/sas). More information such as installation instructions, how-to-use information etc. can be found at that page too.

Comments more than welcome.

Messing with JSON?

Working with JSON can be a little tricky since it normally comes in as one long string which means it can be difficult to discover the data structure. I ran into this while pasing the search.twitter.com JSON API and needed a JSON viewer to help me out. A quick Google search later I found JsonViewer which is a very nice small utility for perusing JSON data. No install necessary.

If you're working with JSON check it out.

Tags :

TwitNotes - 1.0.5 is coming and has search.twitter.com capability

In whatever spare time I have I'm working on finishing TwitNotes v. 1.0.5 so it's ready for Notes 8.5 and Notes 8.0.2. Among other things TwitNotes now supports proxies by using the HTTP libraries built into Notes. It has been somewhat of a challenge but I'm getting there. Last night I thought I was done but no...

After hearing about the Twitter acquisition of Summize and trying it out I had to add this capability to TwitNotes. First I extended the Twitter Java API I'm using to support the JSON API for search.twitter.com, then I extended the TwitNotes plug-in using the extension points already in place (to add a second tab) and voila! Searching in TwitNotes as you can see below.

I hope to get TwitNotes 1.0.5 out this week.

P.S.: If you're running Notes 8.5 or Notes 8.0.2 and wanna beta test 1.0.5 drop me an e-mail...

My steps for installing Lotus Connections 2.0 FP1

I installed Lotus Connections 2.0 fixpack 1 at a customer site today. It wasn't as easy as expected and I had to restart the installation program 3 times but eventually I got through. Here are the steps I went through:

  • Stop all Lotus Connection features
  • Download fixpack and the update installer
  • Unzip the installer to a directory called "update" under your Lotus Connections installation directory
  • Create a directory called fixes in the "update" directory you just created and copy the fixpack to this directory
  • Rename the to LC2001_Fixpack.jar
  • Open DOS prompt on Lotus Connections server
  • Run command: SET WAS_HOME=<path to WAS e.g. c:\ibm\websphere\appserver>
  • Initialize the command prompt by running <path to WAS>\bin\setupCmdLine.bat e.g. c:\ibm\websphere\appserver\bin\setupCmdLine.bat
  • Navigate to the "update"-directory and execute this command: updateLC.bat -fixpack -install -installDir <path> -fixpackDir <path> -fixpackID LC2001_Fixpack -wasUserId <WAS user> -wasPassword <WAS admin password>

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

Eclipse 3.4 features

Found a nice round up of some of the new features in Eclipse 3.4 from a developers perspective (Eclipse 3.4 Hidden Treasures). I found the info on the new dropin (aka the "p2" provisioning system) folder and "Plug-in Spy" plug-in very interesting. The option of exporting launch configurations is also nice.

Tags :

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? :-)

Back online...

lekkimworld.com is back online at my new ISP and shortly (I hope) all the redirections etc. have been moved over too.