Skip to content
Home » LotusScript


A new tool for creating rich text

I’ve used an earlier version of this in other applications, but now it’s greatly improved and expanded. This is an API for creating rich text, including all the variations of sections, tables, image backgrounds, links, borders… This is an initial 0.1 release, so there will almost certainly be more changes coming, but I need y’all to drive this. Download it, try it out, respond here with questions and suggestions (or send me email or use my contact form). I think it’s pretty useful as is and there’s a lot of documentation in the NSF as well as a ton of code samples showing how to do the fancy stuff. I’m not going to say more about it here because it’s all there in the tool — hoping you find it useful. Download here: Screenshots

Dialog warning of possible solar nova.

Users don’t read your dialogs

You know how you open a dialog to ask for confirmation or additional information, or to warn them what’s about to happen? Yeah. People don’t read that stuff. Here’s what to do about that.

"working" screen displayed during delay

Close & Reopen Database, and Ad Hoc Stored Form

HOW TO create a design element and immediately make use of it by automatically closing and reopening the current application (tricky!). BONUS create a stored form in memory and view it without ever saving it.

Creating random names for test data

A Notes/Domino application that hasn’t been tested with a large random data set may develop poor performance as it accumulates more data — long after the development team has moved on to other things.

Workstation-specific user application settings

For a couple of applications, I’ve needed a way to store values specific to the combination of a user and workstation. These are personal settings, in other words, but the same person may need different settings if they use the application on a different workstation. This would mostly be local filepaths, things like the last folder the user selected for a particular file-open prompt, or the path of an external tool the user has to launch in a given situation. A list of recently accessed files. These would be different on different workstations. Implementation strategy and alternatives You could use environment variables for some of this, and that might be the answer in some situations. But there’s a limit to the amount of data you can conveniently store that way, and you have to worry… Read More »Workstation-specific user application settings

Wonderful List datatype in LotusScript

The general term for it is “associative array” — a collection of values indexed by a string rather than a numeric index. You might be thinking you already know about the List datatype in LotusScript, but there are a few tricks you might not have thought of. Basics Declare a variable of type List As datatype — for instance, Dim docsByColor List As NotesDocument Read and set values as you would an array, but using a string as your index value. Set docsByColor(doc.color(0)) = doc In this example we’re building an in-memory collection of documents that we can search by the value of their color field, so: Function getDocOfColor(ByVal color$) As NotesDocument If IsElement(docsByColor(color)) Then Set getDocOfColor = docsByColor(color) End If End Function Attempting to access an element with a key that’s not found in… Read More »Wonderful List datatype in LotusScript