Using IntelliJ Idea and Domino JNX for Domino Development - LotusNotus Blog  

By Serdar Basegmez | 6/20/25, 12:48 PM | Development - Notes / Domino | Added by Serdar Basegmez

Streamline Domino development with IntelliJ IDEA: learn setup, Maven integration, JNX usage and productivity tips to modernise your Java workflow.

Langchain4j for Domino v1.0.0 released! - LotusNotus Blog  

By Serdar Basegmez | 6/13/25, 7:12 AM | Development - Notes / Domino | Added by Serdar Basegmez

First release of Langchain4j for Domino: native Java integration, document loaders, and XSP support to bring LLM workflows to Domino apps.

Moved my blog: The third generation! - LotusNotus Blog  

By Serdar Basegmez | 6/12/25, 8:24 AM | Development - Notes / Domino | Added by Cn=Serdar Basegmez/O=Developi

I’ve relaunched my blog on a new platform after years of inactivity, choosing MkDocs Material for its simplicity and Python support. The migration involved converting hundreds of posts, sorting out hosting and redirects, and finding the right workflow for writing and publishing. Everything is now up and running, with archives preserved.

Domino REST API, CORS and Regex   

By Paul Withers | 5/5/25, 3:50 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Release 1.1.3.1 of Domino REST API introduces a breaking change in CORS handling. This makes configuration less straightforward, but as the documentation states, it increases the flexibility and probably makes things a lot easier for larger environments. And though regex is not something Domino developers work with regularly, there are tools close to home that can help.

I Feel Pretty - Native Lotusscript Pretty Print for NotesJSONNavigator  

By Robert Baehr | 4/15/25, 3:31 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Having been working with the Lotusscript JSON classes and dealing with the raw output of the .stringify function, I decided to write a native "pretty print" function in Lotusscript. As an example, I generated two Lotusscript NotesJSONNavigators, as shown below. Note: This is not the best "code", but merely an example.

Avoiding Inline Styles in XPages   

By Paul Withers | 4/8/25, 3:22 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Recently there have been discussions about inline CSS in XPages. The absence of anyone mentioning a feature in XPages prompted me to eventually ask about a piece of functionality relevant to this. The trigger for the discussions was a change in how XPages handles inline CSS, because CSP (Content Security Policy) blocks inline styles as well as inline JavaScript. This can be circumvented by setting unsafe-inline, but this is not recommended. I'm not interested in the rights or wrongs of inline content (and there are plenty of opinions on the internet about it) or how the problem was addressed in XPages. I also know there are XPages applications I built which still have inline styles, because XPages allowed me to do it. But there's a way to avoid it and solve it, at just a click of a button. And it appears many XPages developers are not aware of it, even though I was teaching about it in XPages courses over a decade ago.

HCL Domino and Defensive API Architecture  

By Gavin Bollard | 4/2/25, 2:52 AM | Development - Notes / Domino | Added by Roberto Boccadoro

HCL Domino's REST APIs unlock powerful integration capabilities, enabling data exchange with external systems and enhancing business workflows. However, exposing these APIs directly to the internet introduces significant security risks. To mitigate these risks, this blog post explores the concept of 'Defensive API Architecture.'

Fiddling with Tika in XPages  

By Patrick Kwinten | 4/1/25, 2:37 AM | Development - Notes / Domino | Added by Roberto Boccadoro

We have the annoying behaviour in an XPages application that users tend to select encrypted or password protected files from their local machine or some sort of expensive drive. The application manages the process for new products or services and when a decision has been taken for the proposal all the attached files will be combined in a single PDF file and stored in an archive. This combining process does not work well with password protected or encrypted files so either we should disallow the upload of such files or (when nobody has complained (read) about these files) they should be skipped to be combined in the final decision. But prevent uploading should be better of course (and notify the user about the file issue). So where do you start? Tika claims to be the content analysis toolkit so no looking further you would think.

Notes Client - sending crazy key combinations to interact with Windows   

By Jesper Kiær | 3/31/25, 1:49 AM | Development - Notes / Domino | Added by Roberto Boccadoro

In my earlier blog entry I showed how to refresh the Notes Client UI with F5 sending key presses from code. Using the same technic you can do some wild stuff, since you can almost simulate any keypress on the keyboard. In an Action button you could for example: - create email (CNTL + M) - log out of Notes (CNTL +F5) - lock Windows Windows key + L) - show emoji bar (Windows key +.) - show previews of open applications (Windows key + tab) - print screen (ALT + PrnScr)

F5 - UI refresh from code  

By Jesper Kiær | 3/27/25, 9:04 AM | Development - Notes / Domino | Added by Roberto Boccadoro

In the Notes client you can refresh the UI by pressing the F5 (F9) button. This means for a document the UI document gets recalulated and updated. There are methods to something similar in code, UI.reload, UI.refresh etc, In the backend document you can call doc.computewithform, but my experience is that with a complicated form with maybe both LotusScript and Formulas it will often fail. Sometimes you just need a simple F5 refresh to update the document...because it works. So here is a way to make a F5 refresh from LotusScript and Java.

Reducing the noise in the log – Update  

By Patrick Kwinten | 3/26/25, 3:06 PM | Development - Notes / Domino | Added by Roberto Boccadoro

After our team used the changes I made in the log application to reduce the noise for a couple of weeks we gathered user feedback and reviewed it and we came to the following improvements:

Deploying a Single Page Application using the Domino REST API - NotesSensei's Blog  

By Stephan Wissel | 3/24/25, 5:28 AM | Development - Notes / Domino | Added by Roberto Boccadoro

The Domino REST API not only provides secure access to "jsonified" Domino data, but also comes with capabilities to ease integration. This enables one to quickly cater to the long tail of applications, giving them a home instead of loosing them to the shadow IT. Once you know the steps, you can deploy new Single Purpose Applications (I modified the meaning of SPA a little) in no time.

Reducing the noise in the log   

By Patrick Kwinten | 2/20/25, 3:03 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Every Domino environment has got logs and probably it's not you who goes through the logs since it's a repetitive mind-numbing task. Here too, but sometimes the colleague who performs the task takes some days off and then it might be you who is responsible for doing it. So last week I was “screwed” and was searching for a quick solution to minimalize the mind-numbing without risking to overlook an important log-entry. Here is what I came up with:

Source code issue with alternative usage view columns  

By Patrick Kwinten | 2/4/25, 5:11 AM | Development - Notes / Domino | Added by Roberto Boccadoro

In a previous post I demonstrated how you can improve the usability of image resources by switching alias and file name. It works fine until you start synchronizing with your On Disk Project. While a normal image resource contains of the image file and some metadata but when you change the filename with the alias and vice versa Designer no longer detaches the graphical file and only writes the metadata file to the ODP.

Do Crazy Innovative Things in the Notes Client  

By Patrick Kwinten | 1/29/25, 5:04 AM | Development - Notes / Domino | Added by Roberto Boccadoro

In February OpenNTF organizes a webinar titled ‘Do crazy innovative things in the Notes client‘. I am sure (from first hand experience) that Bernd Gewehr has pushed his developers to stretch the limits about what is possible to do in the Notes client. Recently I have been doing some development for the Notes client and you an easily bump to the limitations. I will write about some things that I applied to the application that I was working on.

Handling UserAccessException  

By Patrick Kwinten | 1/28/25, 2:02 AM | Development - Notes / Domino | Added by Roberto Boccadoro

The almost standard way to work at the company is to work in a committee. So almost everyone is member of one or more committees for different types of work-areas. Commitees have restricted access and organize agendas and meetings where decisions are made. Agendas, meetings and decisions are shared via mail and these mails are again shared. Curious people try to access the committee documents via URL’s although they have no access to the committee and then the UserAccessException occurs.

Java != Java on Domino  

By Oliver Busse | 1/9/25, 2:26 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Today I again encountered some strange things on different Domino machines. It’s Java again. The other specs are: my local dev box is 12.0.2FP2, running in a container using the HCL image the other machines are natively installed 12.0.2FP2, also Linux there are no language packs installed at all The parts that are used: some Java in an NSF, defined as managed bean (but this doesn’t matter) Java is using ExtLibUtil and java.util.Calendar some XSP in an NSF

SSL Certifier is not trusted  

By Fredrik Norling | 1/8/25, 12:30 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Root cert not trusted when getting SSL encrypted data using XPages or Domino agents I have seen a problem with getting data using XPages or agents from Amazon hosted services because they now are using a Amazon Trusted Root. But it can be others poping up also in the future.

Useful Notes SmartIcons: Reformat text is my favorite  

By Daniel Nashed | 12/30/24, 7:09 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Notes formula are one of the lost arts. I am a big fan and have started to work with Notes at a time where we had no Lotus Script nor Java. Today formula language is still very powerful. I am using it in many ways including C-API and Lotus script. There are many @Commands for UI automation available. But there are also Lotus Script UI classes. The really cool part of formula language is that you can use the commands in SmartIcons. The following command selects the body text and sets the text to Default Sans Serif with 10pt. --- @Command([EditGotoField];"Body"); @Command([EditSelectAll]); @Command([TextSetFontFace];@GetMachineInfo ([EnvVariable];"NAMEDSTYLE1_FACE")); @Command([TextSetFontSize]; "10"); @Command([EditDeselectAll]); --- But there are more SmartIcons I use every day... .

New Release: XPages Jakarta EE 3.3.0  

By Jesse Gallagher | 12/23/24, 1:57 AM | Development - Notes / Domino | Added by Roberto Boccadoro

As part of finishing my holiday gift shopping, I published version 3.3.0 of the XPages Jakarta EE project today. This release contains a number of bug fixes to do with asynchronous and scheduled tasks based on some edge-case and intermittent trouble I ran into while developing some apps with it. Additionally, it has some consistency fixes for the Jakarta NoSQL support - in particular, it improves mapping of object properties to columns, matching the item names case-insensitively and matching special fields like FIELD_CDATE to matching columns with formulas like @Created.

Improving the usability of the view column icon – Kwintessential Notes  

By Patrick Kwinten | 12/17/24, 2:54 AM | Development - Notes / Domino | Added by Roberto Boccadoro

IIcons are a great way to let certain document information standout in a view with minimal space. I assume you know you can add icons to a Notes view , right? Although the icons are out of date , limited and don’t support accessibility much, there is a way to add show them in a view with some added value. How? I will show you…

PSA: XPages CSS Changes in 14.0 FP3  

By Jesse Gallagher | 12/17/24, 2:52 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Fix Pack 3 for Domino 14.0 came out last week and, in addition to the usual spate of fixes you'd expect from an FP, it brought a potentially-significant and -breaking change to the way XPages handles style attributes for components. This is presumably in the interest of supporting the pathological strictures of Content-Security-Policy, but it applies whether or not you have taken any other steps to implement CSP. The specific change is that the XPages renderers will now take the style attribute, externalize it to a class, and then make a <style> block for it.

ForAll Loops and Type Mismatches  

By Paul Withers | 12/13/24, 9:05 AM | Development - Notes / Domino | Added by Roberto Boccadoro

There are always challenges when moving from something familiar to something similar but different. When you've been working with that "something familiar" for a very long time, some things become second nature. But when you move to "something similar but different", sooner or later you hit an error and become convinced it's not working like it used to.

Lotus Script - Check if a file or folder exists  

By Daniel Nashed | 12/13/24, 9:01 AM | Development - Notes / Domino | Added by Roberto Boccadoro

There isn't a direct function in Lotus Script to check if files exist. Most of us have written a function like this multiple times as a helper. I am working on an application which will be available as open source soon and I needed one again... Here is a version of a check function, which should cover all cases and might be useful for you too. It doesn't handle hidden files -- I know. But I didn't want to add that logic.

Getting column colouring out of the view design   

By Patrick Kwinten | 12/12/24, 12:13 PM | Development - Notes / Domino | Added by Roberto Boccadoro

In Notes you can define the row color in a view programmatically. In the example you still hard-code the colors (and conditions) in the column, and so the design of the view. So if you want to change the colors and conditions you need to change the design. In an environment with restricted access to Production or CICD processes in place this takes a long time and it includes the intervention of a developer. I am not sure when but somewhere in time the “User definable” option for the column value was introduced.....

Quick Tip: using an object as custom property  

By Oliver Busse | 12/12/24, 7:14 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Just for my own record because I always forget: If you ever need to pass any object data to a custom control, use this as the property data type: com.ibm.jscript.std.ObjectObject or com.ibm.jscript.std.ArrayObject depending on if you just need one or more objects.

Another dev attempt comes to an end – row coloring  

By Patrick Kwinten | 12/6/24, 7:30 AM | Development - Notes / Domino | Added by Roberto Boccadoro

For an application I want to be the row colourings in the Notes client manageable, from a (profile) document or something similar. I chose a profile document instead of a named document since the named document lacks methods to access via @formula and if you want to open a document from a outline entry you only have the @formula option…

Show/Hide column in a NotesView  

By Patrick Kwinten | 11/30/24, 3:25 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Most applications have different types of users. Some are normal users, some are power-users and some are administrators for the application. Mostly we provide different sets of views for these user categories and to optimize performance and indexing these users sometimes share the same views. But the information in that view is not always useful all types of users.

Reaping the Benefits of Standard  

By Paul Withers | 11/21/24, 7:36 AM | Development - Notes / Domino | Added by Roberto Boccadoro

More than three years ago we began work on VoltScript. A little over a year ago we released our first Early Access code drop. There were certain core principles to which we developed. Two of these were a modern developer experience and adoption of standard development practices. Over recent weeks I received ample evidence of the benefits as improved and extended Archipelago, the build management engine of VoltScript.

Sort it out (your JSON collections)  

By Patrick Kwinten | 11/8/24, 3:49 AM | Development - Notes / Domino | Added by Roberto Boccadoro

The day after the US elections. Time to sort it out. Not the election results but the collections in the Run4Fun application. I hope you like lists with JSONObjects in your XPages application as much as I do but what you see is normally the order you stick the objects in the list. If you want them to have sorted in a certain way, perhaps by a certain key (firstname, lastname, email, age, time etc) either you have your source (a NotesView?) adapted to it OR you have to apply something that does that to your objects in the list. That something is called a comparator.