Integration of Microsoft VS Code with Domino, a Hack
Many components make up a Web application some of which includes CSS and JavaScript. Both CSS and JavaScript has rapidly evolved over the many years that Domino has been used as a Web Application Server. Unfortunately, the editors in Domino Designer has not evolved and you can not add and edit JavaScript ES6 code for example. The new Domino 14.5 I have been told allows one to edit ES6 JavaScript as a file resource, but not as a JavaScript script library file.
One of the most popular tools for editing CSS and JavaScript is Microsoft VS Code. There are some many extensions that you can download and work with many different programming languages. One very nice thing about Microsoft VS Code is that it is free and most developers are familiar with VS Code. In addition, it is much nicer of an editor than what is available in the Domino Designer.
There was discussions about VS Code integration with Domino at one of the past CollabSphere a few years ago. Unfortunately, that discussion never resulted in any progress in that direction.
As we developed our Dojo-based iPhora SPA framework many years ago, we found it frustrating not to being able to create and edit ES6 based JavaScript using the Domino Designer editor. So we search for a way to get ES6 level JavaScript into Domino.
The solution we discovered was importing the JavaScript file through DXL as file resources or as JavaScript file as part of Code elements in the script library. Using an external editor like Microsoft VS Code you can create, debug, minify and edit your JavaScript code. Afterward, you can import the code into Domino.
You can further extend this approach in creating and editing HTML and CSS and any text based data including JSON data. This approach works when creating and editing HTML, JavaScript and CSS from version Domino 9 and higher. I believe it works with older versions of Domino, but we never tested it.
In our sample database, we create web container documents for each component whether it is a JavaScript file, CSS file or HTML file. The HTML web container documents are the same documents with the rich text field that are read when the generating the web page as I shown in my previous blog post on DX Objects. For JavaScript and CSS files, they are merely placeholders that let the code to know what to process using DXL.
Summary
Though this is a hack, this approach plus the DX Objects provide Web designers and developers the ability to create Web sites and applications on HCL Domino using more traditional Web development approaches. The Web designer or developer does not necessarily need Domino experience to create the web pages. The Domino platform have many drawbacks when it comes to creating Web applications. However, with a little bit of imagination and hacking it is still one of the best Web application platforms.
This is the last of this series. Below are the links to the previous two blog posts and the sample databases.
https://dominointerface.blogspot.com/2025/06/out-with-old-in-with-old-building-your.html
https://dominointerface.blogspot.com/2025/06/engage-2025-visualize-your-domino-data.html
https://phoragroup.com/files/engagedemo.zip
Comments