« Back to home

Tracking down misbehaving Domino web agents

The problem: You have a web agent somewhere which uses LotusScript MessageBox to output an error message. However, the message doesn’t say which agent or database it’s being output by, so you need to locate the agent which is printing the text. The solution: At the console, set config AgentThreadDebug=1 tell http restart The HTTP task will then display a debug message for each web-triggered agent that starts or ends.…

Read more »

Calculating ISO8601 week numbers in LotusScript

Lotus Domino’s LotusScript language has a function called Format. If you pass it a date/time value, and use the custom format string "ww", it’s supposed to return the week number. Unfortunately, it returns the wrong value. I was prepared to be charitable and assume that it returned the correct value according to some non-standard algorithm, but since the documentation didn’t specify the algorithm, I reported the behavior as a bug. My SPR got filed in the “Yes, it’s a bug, but we won’t fix it” pile, so here’s the workaround: LotusScript code to calculate week numbers as per ISO 8601.…

Read more »

The case of the Null Empty Nothing

Most programming languages have a null value which is used to indicate the absence of a valid value. Lisp and Ruby have nil, Python has None, Perl has undef, and so on. LotusScript is a bit different. It’s modeled on Microsoft’s Visual BASIC, a decision that probably seemed sensible in the pre-JavaScript early 90s when Lotus picked a scripting language for Notes. As a result, LotusScript has three different null values.…

Read more »