Get iCal/Sunbird to subscribe to your Lotus Notes calendar
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).



Platforms
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 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.)
Bugs
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.

Some relief to see the challenge you are having with RDATE and iCal. I've been struggling with this for a few days in my spare time. Current strategy (not yet implemented) is to just generate unlinked repeating entries, probably by calculating my own duration.
The item I'd be interested to know if you have covered off is the Organizer and Attendee fields. In the Notes calendar entries, particularly if you are the chair it seems tricky to get a valid Internet address for the user as only the Notes name is available.
I've also ignored timezones, but have less concerns about this given you can get a GMT time from all the Notes fields, compared to the LocalTime I'm currently using. However, Using GMT did have some issues for All Day Events … might be more that that one as well.
BTW, I have build my ics export in LotusScript so I can run it as a scheduled agent on the client for those that don't have access to the server.
Also on the enhancement list is entries not yet accepted.
Haven't as yet bothered with Organizer and attendees, but it isn't difficult to implement. Yes, there's the Notes name, but you can look that up in the NAB, falling back to using simply the name found or the e-mail address — if it contains just that.
I was thinking of using LS as well, but I hate it.
Hi Jan-Piet
I'm a lotus pre-sales in Toulouse (Sud West of France)
struggling with this problem in a particular context..
My customer want to use Thuderbird+Lightning for mail and calendaring purpose
I can recommand to use inotes via their intranet in order to manage sheduled meetings
(i can see free time slots of users…)
have you a good idea to syncronyse their notes calendar with ligtning without the help of a lotus notes client..
thx a lot
Hi Jan-Piet,
Could you share that jndcalx so that I can use it ?
AFAIK there is no full sync for Notes calendar and iCal/CalDAV. With enough investment, it would be possible to do so.
If what you're after is a one-way pull from Notes to Sunbird/Lightning, this program could be used by augmenting its features and installing as a CGI (as I shortly mentioned in the text).
Hi Jan-Piet,
I am interested in your tool. Is it possible to get a snapshot, or can you release it to the public (as an alpha or early beta version)?
Thanks and greetings
Jens
Jens, I'll try and get something for you, but you'll have to be a bit patient.
I've put up the source of jndcalx. Enjoy and improve.