Quite some time ago, I decided I wanted to see my IBM/Lotus Notes calendar entries in iCal, so I started tinkering with a small C program to do so. The initial results were quite promising, and I started adding features such as Todos and UTF-8 support. I also quickly found, that iCalendar unequal iCalendar – programs react differently to the “standards”.

The program that does this (jndcalx) runs on a computer with installed Lotus Notes (Mac OS X, Windows or Linux) and a Web server, and it which creates iCalendar output (.ics) on the fly, without having to manually export and import your calendar. In other words, you can “subscribe” to an jndcalx calendar, iCal or Sunbird periodically refresh their calendars from Lotus Notes or Domino.

The following screen shots show some of the results – first on Notes 8.5 on Mac (the source) and then on iCal by month and by week (the yellow entries are those produced by jndcalx).


I run jndcalx on Mac OS X with Notes 8.5. I originally started writing jndcalx on Windows XP with Notes 6.5, and it still compiles and runs on that as well. I haven’t tried Linux, but there is no obvious reason why it won’t work on that.

Mac OS X, being UNIX, has all the good things that UNIX has, including an installed Web server, etc. Installing on Mac OS X is a bit tricky, but once you get it right, it shines.

Windows, not being UNIX, is a bitch. Look somewhere else for getting a Web server running on Windows (Apache or [Cygwin][8] are good places to start looking). If you don’t have a local Web server, you can still use jndcalx from the command-line and tell it to create an .ics file.

I originally wanted jndcalx to run directly on Lotus Domino, as a CGI program and have it read an authenticated user’s mail file to produce calendar output. The design is still there, but I haven’t as yet completed the code. (If you are very interested in that, I’ll try and hurry up; it’s not just a money problem – it’s always a money problem.)


Yes, lots. Maybe. There are things that work, and there are (probably) plenty of things that don’t work. I’m not an iCalendar specialist, nor will I ever be. I use this program and will be fixing things that don’t work for me. If you find things that don’t work, tell me: if I have the time and the knowledge, I’ll fix them. I prefer that you fix bugs, which is why I’ll be making the source code available, and I’ll then gladly merge your fixes.

One major thing lacking at the moment is recurring events. It is easy enough to find the date/time combinations in the Lotus Notes document, but formulating that as an iCalendar RDATE – easy to do – doesn’t appear to be supported by iCal.

Todo entries work nicely, as do simple calendar entries. Repeating entries are a mess, and don’t really work very well yet. UTF-8 support is there, and works. Timezone support is abscent: jndcalx produces entries in GMT, but I think that is easy to fix.

I’ve neglegted this program for a while, but with sufficient interest, I can pick it up again and polish off the missing pieces.


DomiNotes, Apache, MacOSX, CLI, ical, sunbird, and icalendar :: 23 Oct 2009 :: e-mail