Graham here. For those of us who wear a Dev hat and go back to the early days, I'm sure many had one of the LotusScript class map posters on our office wall. I had the originals, circa Notes 4.5/4.6. One was blue and one was purple. I know of at least 2 further releases, the last of which was in the 6.5 timeframe. I loved those posters. I used it a lot actually. Off and on again over the past 10 years I've thought that it would be cool to recreate one. I know others in the community have had the same thought.
Of course, LotusScript has grown, especially since the HCL acquisition. I started down the path of gathering the data to create the posters and quickly found out that we would end up with more than 2 posters, and probably much bigger than a standard poster size. I kept working at it and the result is an interactive map you can use in your browser (Safari has a bug Apple needs to fix) on your desktop or tablet (the map is big after all).
Have fun trying it out. Let us know about the bugs (I haven't inspected each of the Properties, Methods and Events individually yet) via the GitHub repo (link below). And if you are interested in expanding the project let me know. The details of how I built it are at the bottom of this post, but let's get into the fun stuff first.
Here is a detailed listing of all of the current features of the project:
Map & Navigation
- Interactive canvas displaying all 97 LotusScript classes for HCL Domino 14.5.1 / Notes 2026
- Pan by clicking and dragging on the canvas background
- Zoom in/out using the mouse wheel, pinch gesture, or the Zoom widget buttons
- Type a specific zoom percentage directly into the Zoom field and press Enter
- Zoom always pivots around whatever you're currently looking at on the canvas
- Home button fits the entire map to the screen
- Links On/Off toggle shows or hides the relationship arrows between classes
Class Nodes
- Yellow headers for backend classes, navy headers for UI classes
- Each node shows the class name and lists its properties, methods, and events
- Long classes automatically collapse their lists — click the section header to expand
- Click any property, method, or event to open a detail panel
Detail Panel
- Shows the full description of the selected member
- Lists all parameters with their types and descriptions
- Shows the return type and return description for methods
- Direct link to the HCL documentation page for that member
- Link to the code example if one exists in the documentation
- COM-only and Not Supported by COM badges where applicable
Search
- Type in the Search field to filter the sidebar class list in real time
- Matching classes are simultaneously highlighted on the canvas with an amber ring
- Non-matching classes are dimmed so matching ones stand out clearly
- Click the × button to instantly clear the search
Filter
- Filter dropdown with two sections — Type and Category
- Type filters: All Classes, UI Classes, Backend Classes, Has Events
- Category filters: 17 categories based on functional grouping — Session, Database, Document, View, Item, Rich Text, Calendar, DOM/XML, JSON, DQL, Admin, GPS, HTTP, File Operations, Composite Apps, DominoIQ, UI
- The Filter button label updates to show the active filter
- Filtered classes are dimmed on the canvas and removed from the sidebar list
Neighbour Highlight
- Hover over a class node and pause briefly — its direct neighbours are highlighted and everything else dims
- Shows at a glance which classes a given class is related to
- Only activates when zoomed out to 80% or less, where it adds navigational value
- Clears instantly when the mouse moves away or a drag begins
Relationship Links
- 197 directional arrows showing relationships between classes
- Arrows derived from property types, method return types, and known API relationships
- Hover over a link above 60% zoom to reveal the property or method name that creates the relationship
Layout
- Drag any class node to reposition it
- Layout is automatically saved to browser local storage after every move
- The map reopens exactly where you left it on your next visit
- Reset Layout button returns all nodes to the default arrangement
Sidebar
- Alphabetical list of all 97 classes
- Click any class in the list to fly to it on the canvas and highlight it
- List respects the active search and filter
Zoom Widget
- Fixed floating panel at the bottom left of the canvas
- − and + buttons for step-by-step zoom
- Editable percentage field — type any value between 10% and 300%
Easter Egg
- For those who remember it, I added an Easter Egg that uses the old Konami games cheat code
↑↑↓↓←→←→ba on your keyboard to toggle retro poster mode - a tribute to the original Domino Objects for LotusScript/COM/OLE poster circa 1997
I used a host of AI tools to help with the scraping of the data and then building the project. The source code is available to inspect in our GitHub repo. I eventually settled on Claude to do the majority of the coding. The project is nothing more than an HTML file, a Javascript file, a CSS file, and the data is in a very big JSON file, with the graphics as well of course. The mapping tool is Joint.js. The scraper is written in Python and has been held out of the repo for now. All of the code has been bundled into an NSF using the approach Jesse blogged about as well as a nice enhacement to auto generate the required file when the repo is updated that Jessse added.
The goal is to move the data into an NSF eventually, and to produce an actual set of posters. Give it a try and send us your feedback. If you would like to join the project and extend it, get in touch with us on the Discord server.