OK, it’s rant time. I think I’ve probably ranted about this before, but I am too lazy to search my own blog, so you have my apologies if I am repeating an already ranted about subject. So, what is it? Well, it is the lame programming coming out of IBM. Specifically, the lame shortcuts that whomever developed the templates that ship with Lotus Notes. OH MY. Not only are the templates a mess, the multitude of coding techniques used are sloppy, poorly thought out and just bad.
I’ve been doing Lotus Notes development work since 1995 and have noticed the quality and quantity of the shipping templates has been on the decline since Big Blue assimilated Lotus. Throughout that entire time, Lotus/IBM have preached ‘thou shalt not use undocumented features’. Meaning, there are undocumented functions in the Notes formula and LotusScript languages that should not be used because they are: unstable, may be deprecated later, unfinished or just don’t work as they were supposed to work. I’ve pretty much stayed away from such things. I got bit once and do not wish to have that happen again.
IBM, however, does not practice what it preaches. In fact, they stopped shipping several templates because they removed one or two of these ‘features’ and rendered the templates useless. That, though, has NOT kept them from doing the very thing they tell us NOT to do.
The company that employs me is currently making the switch from Notes mail to an Exchange environment, but they are keeping the Notes servers and other Domino infrastructure. We went through a several months long period where we tested our Notes applications and found a few minor issues, but nothing major. Unfortunately, one thing we did not test very well were those bloody templates. Oh, we did some testing but, apparently, it was not good enough.
Before I go on, let me explain something. Since we are not getting rid of Notes right away, we still have to maintain the Domino Directory. Everyone will still get a Notes ID. In the person document, we have the Exchange mail address in the ‘forward’ field. It works well. Very well, in fact. Very well until you try to use one of those damned IBM designed templates.
We have many databases that are derived from those templates and, of course, they all send mail. Well, in IBM’s INIFINITE WISDOM, they use a function that will explode a list of names. This function will lookup the names in the address book and return the proper Notes name, UNLESS YOU USE THE BLOODY FORWARD field. If that is populated, this function (@ExplodeNameList) returns THAT value. Of course, it NEVER, EVER corresponds to a valid Notes name. This causes problems with author and reader fields, can block access to some or all of the application and other numerous issues. In some cases, there is no getting around this: the application becomes useless.
It’s no wonder my company and many others have decided that Lotus Notes is NOT the way to proceed in the future. With practices such as this, IBM will kill its own product and the sole reason they spent billions of dollars buying Lotus and running it over the last decade. It is also indicative of a company that lacks any real pride in its own products. People deride Microsoft for what they perceive as poorly developed products. Those people have, obviously, never had to deal with Lotus Notes and IBM code.