As I have mentioned in the past, I am primarily a Lotus Notes developer for the company I work for and have been for some 14 years now. I began Notes development with version 3 of the product. Back then, Notes was really primitive and the only real programmability that it had was the Notes ‘Formula’ language, which roughly equates to the old Lotus 123 macro language with the Notes enhancements. Version four came along and introduced the somewhat object oriented Lotusscript language, which was syntax compatible with Microsoft Visual Basic. Suddenly, a whole world of ‘real’ development opportunities opened up in the Notes universe. Each successive release of the product introduced more tools and features that made Notes a truly unique and very flexible platform. One constant, however, was the insistence of Lotus to put in AND USE a ton of undocumented functions, statements and commands.
The problem with the use of these ‘features’, however, is that they never seemed to be fully baked and Lotus never guarantees that they will always be there. However, when they use them in the templates that ship with the product, chances are they will remain. And, for the most part, it’s not a huge problem.
Not a huge problem unless, of course, you stray from Lotus’ ‘norm’. The company I work for is in the process of implementing Microsoft Exchange and Outlook as our primary email system. Co-existence should be fine, right? Many, many companies have done this before. Great. So, now we’ve gotten a good ways into the switch over and…Houston, we have a problem.
Like any company of any size, we like to hold meetings. Lots of meetings. That means we have lots of conference rooms. Those conference rooms are all reserved via Notes and, eventually, Outlook/Exchange. So. Now we have a mixture of clients-some on Notes mail and some on Exchange/Outlook. Enter the Resource Reservation application that Lotus provides. We tend to not modify the out of box templates, so the Resource Reservation application is pristine. We have not sullied its shiny exterior at all.
Before I go on, however, here’s a bit on how we are routing mail. Since we are keeping our Notes applications and servers, most of which send and/or receive mail, we will still have Notes mail working. Each of our users has a Notes ID and, consequently, an entry in the global Notes address book. So that mail get routed to the proper recipient, we have the Exchange address in the ‘Forwarding address’ field.
Ok, back to the Resource Reservation database. This thing worked great, as long as we were all on Notes mail. Now, however, because of Lotus’ use of an undocumented function (@ExpandNamesList) the application is now broken. The problem comes in when groups are specified as resource owners. The function is supposed to take the group name and, based on the server and address book you specified in the @ExpandNamesList function, return all of the member names. It SHOULD return the Abbreviated Notes Name (i.e. first lastname/ou/company). Well, it does that IF you do not have that forwarding address filled in. If you DO, though, it returns that! This causes the validations to fail and results in members of the group not being able to do anything with the resource.
Now, tell me, why in the world would Lotus code this function that way? Chances are that any one using this function would be doing so to validate a persons membership in a group or ability to do something. If one needed the forwarding address, then just open the person document and get it. It is half baked ideas like this one that has cost Lotus its lead in collaboration and groupware. They are all over the map, both with marketing, support and the bloody features in the product. Returning the forwarding address instead of the name is just ridiculous. What in hell were they thinking?
Of course, they use the function liberally in the Resource application: it is in Lotusscript, field formulas, hide-when formulas and anywhere else they could shove it. Why? Now we have to spin our wheels and waste time working around Lotus’ shortcuts.
I was a die hard Lotus fan for years. Notes was the bomb. There wasn’t anything I could not do with Notes. Buuuuut….the more I have to deal with crap like this, the more I yearn for the day when the mess is just gone. Give me the Microsoft Kool-Aid and I will gulp it down happily.