Posts

Showing posts with the label iPhora

Engage 2026 - Breaking the Monolithic - Architecting Microapps on HCL Domino Presentation Slides, Demo Video, Trials and Tribulations

Image
I was very honored to have been chosen to speak at Engage 2026 this year.  Thanks Kris and Tom. I had many trials and tribulations preparing for this presentation. The whole demo hinged on many factors and required me to bring my demo setup to Ghent which included having a HCL Domino 12.02 server running on Docker on an old Lenovo mini-PC that I had lying around and connecting it to a Mac Mini 4 that was running an LLM. I got it work just one day before I had to fly to Brussels. Talking about cutting it close. I had to work on the presentation during the flight to Brussels which I completed the day before my session. I had all the equipment in my carry-on luggage so it would be safe. To my horror, I was required to check-in my luggage at the gate. Given how luggage is handled, I was expecting that all my hard work would be for not. But after getting to my hotel, I was relieved to see that everything was still working. I learned a lot and had fun making this demo that includes a sim...

Architecting Microapps on HCL Domino with a mix of Vibe Coding, Event Bus, and Reimagination, Engage 2026

Next week I will be presenting the  Breaking the Monolith: Architecting Microapps on HCL Domino  session at Engage 2026 on April 21th. Microapps are becoming more and more prevalent since the introduction of phone apps.  Now with vibe coding many are creating microapps. They are great for personal productivity, but not so for businesses. Businesses require microapps to be secure and communicate with their other systems. So vibe coding an entire app can be problematic.  In this presentation, I will be combining a mix of vibe coding, no coding, AI and the event bus architecture that was presented last year at the October 2025 openNTF webinar to create a secure microapp architecture on HCL Domino.  Hope to see you there next week.  Abstract While HCL Domino has traditionally been the home of monolithic applications, the modern landscape of low-code, no-code, and AI demands a more modular approach. Monoliths offer simplicity at the start but often result in ...

Integration of Microsoft VS Code with Domino, a Hack

Image
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, t...

Out with the Old, In with the Old, Building your Domino Web Application using DX Objects

Image
Building a Web application on HCL Domino can be challenging because there are so many ways of creating a Web application. There is just no design pattern to follow or best practices.  This is good for us who like to experiment, but bad for developers who just want to follow an official approach.  You can use XPages, classic Domino Web with Pages, computing fields and computed text with formula language or you can create apps using REST APIs with LotusScript, Java , DAS (please no) , view read entries or even DRAPI as Paul Withers has demonstrated on his blog,  https://paulswithers.github.io/blog/2024/08/15/xpages-web-1/ However, there is little talked about a very old technique that dates back to the beginnings when Domino became web enabled.  As part of my data visualization session demo at Engage 2025, I used this technique to generate the web pages and dashboards.   This technique allows you to separate the form, data and business logic and creates a sta...

Our Journey in Optimizing and Bundling JavaScript for Web Applications

Image
When building a web application, optimizing the loading process is important. Previously, we used Uglify-ES and recently Terser to minify individual JavaScript files to help reduce the packages and load time. With the next release of iPhora Automatic coming very soon, we wanted to significantly reduce the loading time needed and the number of HTTP requests handled by the Domino server. Our struggles for the past few weeks have been figuring out the right JavaScript bundler that works with our Dojo Toolkit-based framework. So why are we still using Dojo Toolkit you might first ask? Many have moved away from Dojo Toolkit, the granddaddy of JavaScript frameworks. Dojo provides us the core widget inheritance framework that is not just used for creating widgets like fields and combo boxes, but is used for building the many different app layers of iPhora not just statically but dynamically in real-time. It allows us to have a secure and fast SPA (single page application) architecture. We d...

The iPhora Journey - Part 14 - Bringing All the Parts Together

Welcome to the final post of "The iPhora Journey". Our goal as we started this journey was to take the HCL Domino platform that we loved for more than 25 years and redefining a web application running on Domino.  iPhora was created originally to allow us to provide a flexible platform for building secure web-based applications for our customers as part of our consulting services. However, it has now evolved into a platform that customers and partners can build their own solutions with the emphasis on user-driven workflow applications and process automation. As an integrated application platform, you can build web applications in a variety of different ways with HCL Domino. In designing iPhora, we looked at the architecture of other platforms, identified their key features and determine how it could be implemented within the capabilities and limitations of HCL Domino and utilized its flexible architecture to the fullest. We went through many iterations and versions always with...

The iPhora Journey - Part 12 - Bring the Public Cloud Experience to your Private Environment

Image
Public vs Private In the digital automation market, which includes workflow and business process automation, there are literally dozens of no-code or low-code platforms available as public cloud solutions. They range from products like Zapier to Tray.io. In general, they all provide easy-to-use interfaces for assembling cloud services together in order to automate processes. Some are geared towards individual users and some towards enterprise businesses. However, aside from the ones intended for individuals or very small businesses, they may require some significant setup, configuration, and administration. Public cloud-based solutions have a number of advantages for process automation. You can sign up and get access to these services within minutes and have a new process up and running in a relatively short time. However, the majority of these solutions operate by routing your data (and the subsequent responses) through a series of different cloud services. Not only is your process de...

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 can utilize cloud-based services.

The iPhora Journey - Part 6 - An Application, Rethinking and Redefining

Image
In our previous articles, we discussed the advantages of using JSON in applications and the importance of being able to effectively process JSON. This leads to the interesting question: what exactly is an application, and the answer to that question may differ depending on who you ask. Most people today would assume you are referring to a phone app, and even then there are wide range of options. A college student might think of apps like Tiktok or WhatsApp, and a person looking for a significant other might automatically think of Hinge or Tinder. All of these people would be able to provide you with multiple examples of apps, and they might be able to list some of the common features of an app, even if they do not understand any of the technical details. In general, a web app today consists of the following four modules, even if the technical details may differ tremendously from app to app: User interface (UI) Database Business Logic Security Now, let's consider what an app is in t...

The iPhora Journey - Part 5 - Dammit Jim, I'm a LotusScripter not a JavaScripter

Image
As often said by Dr. McCoy in the original Star Trek series, he is a doctor, not a ____________ .  However, just like Dr. McCoy, you may sometimes need to work on things that seem very alien to your experience.  One of those things, might be JSON. LotusScript, which was derived from Visual Basic, was written long before JSON existed, and therefore, LotusScript had no built-in capabilities for handling JSON objects. As we mentioned in Part 4, JSON plays a critical role in iPhora.  All data are stored as JSON, and JSON serves as the primary data and communication format between modules, functions and services.  All core components operate using JSON-based configurations.  Therefore, it was extremely important that we are able to fluidity create, read and process JSON.   Creating a JSON string is relatively easy in any programming language. You can create it even using Commodore 64 Basic, and if built sequentially, one line at a time, it is possible to...

The iPhora Journey - Part 4 - JSON is King - The How

Image
  The iPhora Journey - Part 1 - Reimagining Domino The iPhora Journey - Part 2 - Domino, the Little Engine that Could The iPhora Journey - Part 3 - Creating an Integrated UI Framework The iPhora Journey - Part 4 - JSON is King - The Why The iPhora Journey - Part 4 - JSON is King - The How As we mentioned yesterday, in reimagining Domino, we wanted Domino to be a modern web application server, one that utilized a JSON-based NoSQL database and be more secure compared to other JSON-based NoSQL platforms. A Domino document existing within a Domino database is the foundational data record used in iPhora, just as it is with traditional Domino applications. But instead of just storing data into individual fields, we wanted to store and process the JSON in a Domino document.  However, text fields (AKA summary fields) in Domino documents are limited to only 64 KBytes, and that is a serious limitation. 64 KBytes of JSON data does not even touch what the real world typically transfe...

The iPhora Journey - Part 4 - JSON is King - The Why

Image
The iPhora Journey - Part 1 - Reimagining Domino The iPhora Journey - Part 2 - Domino, the Little Engine that Could The iPhora Journey - Part 3 - Creating an Integrated UI Framework The iPhora Journey - Part 4 - JSON is King - The Why JavaScript Object Notation (JSON) was defined by Douglas Crockford in early 2000s as a data exchange format that grew out of JavaScript. JavaScript code can in fact be structured as JSON data, and even the HTML DOM can be represented as JSON data (more about that in a future blog). JSON has now become the dominant data exchange format, superseding XML. It provides data exchange between the server and JavaScript-based clients, including web browsers, and it is also used in web services and web hooks. It is not only readable by humans but it is also lightweight. Databases such as MongoDB and RavenDB use JSON as the data storage format, and there are a number of derivatives, such as BJSON, a binary version of JSON used in MongoDB. More and more companies are...

From 0 to DONE in 10 - Why Domino is the Ideal Platform to Create Our Low-code solution iPhora Flow

Image
As an application platform, Domino has always been unique and has had the flexibility and capabilities that other platforms can only dream about.  Bundled into one single application server, you have all the components that you need for building and running applications, both in the client-server and web/mobile environment.  On one platform you have: User and Data Security NoSQL database platform Ability to Create Integration Points Flexible Data Structure Scalable Infrastructure Enterprise level application environment All of this can fit into and run in this tiny box that is less than the size of an external hard drive.  Try this with any of the other platforms.  Maybe scale it by a factor of 100? Notes power users were doing low-code decades before it became a buzz word.  In fact Notes users were creating applications, even before most of the companies and software that we use everyday even existed. Unfortunately, Domino has fallen behind....

Do You Node Why it Matters? - The Importance of Domino 10 and Node

With IBM Domino v10 coming this fall, it brings one critical new feature to Domino, the integration of Node with Domino. IBM Domino v10 brings the most popular application development environment to the most secure application platform. Some are asking why does this matter. There are literally 10 tens of thousands of applications and NPM modules that have been developed  from of all sources, some professional and well trained developers and some home grown self taught developers. How many of these modules have been vetted by security experts is an important question to ask. What IBM Domino brings to the table is 30 years of security design and approaches. This is why it is important that IBM with HCL has carefully chosen the right modules to use.  Yes, they were behind on the TLS implementations, but the basic Domino architecture has capabilities still to this day have never been surpassed by others. DominoDB (as some now call it) with Node now brings Domino to a leve...

IBM Think and Beyond and More

Image
I originally did not plan to go to IBM Think 2018. However, at the last minute I decided to go and I am glad that I went. Though my heart is in the ICS collaboration space, I spent the majority of my time attending sessions related to IoT, GDPR, Watson, and security. This is our focus with our IBM Domino-based iPhora platform. I attended all the Domino sessions of course. I am excited and energized by the renew focus on Domino with the IBM/HCL partnership and all the new capabilities that Domino has always had. It is the best application platform around. Regardless of what other vendors say, there is nothing like it. With the new capabilities coming with Domino v10 and beyond, my head in spinning with numerous product ideas some of which are coming out sooner than you Think. The User Community Day was great. It allowed me to not only see everyone in the ICS community, but also other non-ICS champions and users. I had a chance to talk to others that I would probably not have done...

When your Tool is a Hammer, Everything is a Nail, Transformation of Domino - Part 2

The recent announcement by IBM to continue the development and support for the IBM Domino platform indefinitely was great timing for part 2 of this series. This series is about the direction that we are taking Domino. This journey has taken more than five years with many different designs and experiments to get to where we are in our iPhora technology. You can find Part 1 of this series  here .  There are many tools and solutions out there from many vendors for "Modernizing" a Notes application. But what does that really mean?  In most cases, that means replacing the Notes application interface with a Web interface and making a better UI experience for the user. But for us application modernization is not just about the front-end but also but how the data is collected, managed, stored and processed. How it integrates with outside third-party services. Most Domino application modernization leaves the data untouched in the same structure. XPages mimics the Notes applica...