Thursday, November 20, 2008

Wow, Didn't See this Coming

Over the past couple of days I have been trying to trace a bug in my code without any resolution, until today. Wasted days of precious time. I trace down the issue and discovered it was the result of another odd behavior of Lotus Notes. I do not know if this applies to other versions of Lotus Notes, but I can guess it does. In the Lotuscript database class, NotesDatabase, the property Notesdatabase.Server is used often. It should return the server name in the following format:

CN=Acme01/O=Acme

This is fine, but if you get the same property in a dialog box, you WILL NOT get the same format. Instead the format is:

Acme01/Acme

So when I was parsing the server name I would get different results causing a chain of errors that resulted in hours of time tracing the error in code that has been working for years. What a pain. As we push Notes and Domino more and more into a new level, we are finding more and more things to watch out for.

4 comments:

Theo Heselmans (Xceed) said...

Very strange, never had a problem with this. But a tip: don't parse, use NotesName:

Dim servername As NotesName
Dim currentserver As String

Set servername=New NotesName(db.server)
currentserver=servername.Common

Hope this helps.

Anonymous said...

"parsing"...

Seems like you handle the server name like a string. Why not create a Notesname instead and handle the server name in proper way?

Brgds Jesper Kiaer

http://www.nevermind.dk

Anonymous said...

"parsing"...

Seems like you handle the server name like a string. Why not create a Notesname instead and handle the server name in proper way?

Brgds Jesper Kiaer

http://www.nevermind.dk

Domino Interface said...

Theo and Jesper,

Thanks. For some reason that never cross my mind. That works.

CollabSphere 2022 Presentation: COL103 Advanced Automation and Cloud Service Integration for your Notes/Nomad Applications

Our presentation for CollabSphere 2022. Learn how to quickly add workflow automation into Notes/Nomad applications using No-code tools that ...