Developing for Research  

By Paul Withers | 7/25/24 1:30 AM | Development - Notes / Domino | Added by Roberto Boccadoro

It’s been nearly five years since I joined HCL Labs, progressing currently to Associate Director - Research. In that time I’ve been involved in: setting up HCL’s Open Source Project Office researching the state of rich text editing on the web (as I covered in a session at Collabsphere in 2020) leading the modernisation of language, extensions and tooling of LotusScript as VoltScript integrating VoltScript into Volt MX Foundry as a first-class language adapter web components and a variety of other projects This has covered some degree of coding in a variety of languages and frameworks. But there are significant differences between traditional product-focused development and development for research. And it’s useful to highlight those differences, because it takes a certain mind-set and skill-set.

Mindoo - Demo application for Domino JNA Views to play with  

By Karsten Lehmann | 7/18/24 11:42 AM | Development - Notes / Domino | Added by Serdar Basegmez

Today I attended the "Developer Variety Hour" webinar of OpenNTF and did a demo of the new Virtual View API of Domino JNA. I built a small web application that combines a Sunburst diagram (taken from the D3 website, enhanced by a training session with Anthropics Claude AI chat :-) ) with a categorized view, built on top of a Bootstrap 5 table.

Multiple emails control for Xpages  

By Patrick Kwinten | 6/20/24 3:29 AM | Development - Notes / Domino | Added by Roberto Boccadoro

For a project I received a request to enable to enter multiple emails in a field. These emails are not all registered in the Names & Address Book (NAB) but they come from a 'concurrent' email system e.g. helpdesk@domain.com or groupXYZ@domain.com so a standard names picker was no option. I feared already a support nightmare without any entry validation, because the field was going to be used to send notifications. Here is the list of requirements: Easy to write email. Display of default value(s) or default list options (provided by the application). Support to enter multiple emails. Easy to remove email(s). Validation of the provided emails.

Mindoo - The pain of reading data as a Domino developer - and solutions  

By Karsten Lehmann | 6/20/24 3:04 AM | Development - Notes / Domino | Added by Serdar Basegmez

On my endless path of reinventing the wheel regarding Domino APIs, my latest adventure has once again led me to find efficient and powerful ways to query Domino data. For many years, this topic has been a pain point for me. Back in the IBM Design Partner program, I wrote many entries in the discussions database, asking IBM core development for better and faster ways to read Domino data.

NoSQL schema design  

By Stephan Wissel | 6/10/24 1:31 PM | Development - Notes / Domino | Added by Roberto Boccadoro

NoSQL schema design - A question that pops up frequently in developer discussions is 'how to structure your data in a NoSQL way?'. To shed a light on this, we have a look at the approach invented 50 years ago and still an all time favorite.

XPages JEE 3.0  

By Jesse Gallagher | 6/10/24 1:29 PM | Development - Notes / Domino | Added by Roberto Boccadoro

Today, I uploaded the release version of 3.0.0 of the XPages Jakarta EE Support project. It's been proving stable in my use since the last beta, and so I think this is as good a time as any to release it properly.

Classic Domino and HTML 5  

By Jesper Kiær | 5/28/24 8:21 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Sometimes a simple web application based on classic Domino is in place. However Domino has not been updated in this area for many years. If you create a form and use it on the web it will create a very old HTML document type. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> In 2024 you probably want to use HTML 5 and some of the newer features in it. Fortunately you can change it to HTML 5.

XPages JEE 3.0 Beta 4  

By Jesse Gallagher | 5/23/24 10:43 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Earlier today, I uploaded beta 4 of XPages JEE 3.0 to GitHub. I've been taking a slow approach to this release due to its "breaking changes" nature, but I think it's just about ready for release. Domino 14 Like previous betas, this release requires Domino 14 (and Notes 14 for development), since it moves to a baseline of Jakarta EE 10, which in turn requires Java 11. Doing this let me get rid of some extra shim code that was needed to support both Domino 14 and previous versions, and also let me move to some newer language constructs. If you're interested in the sorts of things that the new versions of Java brought, check out the OpenNTF webinar from April, where I talked about just that.

Quick Tip: Did you know? DDE uses .gitignore  

By Oliver Busse | 5/23/24 10:42 AM | Development - Notes / Domino | Added by Roberto Boccadoro

ne thing I recently found out is that Domino Designer respects the .gitignore of your on-disk-project (ODP). In general it’s obviously helpful that this file is respected in your local repositories and with your favourite git client. I wasn’t aware though that Domino Designer also uses this file to decide whether or not to import a resource from the ODP into the NSF.

Development Containers - the fine print  

By Stephan Wissel | 5/13/24 4:30 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Development Containers are supposed to liberate your development environment from a specific local installation, like container technology liberated your runtimes (a.k.a YAMLed them into Docker or Kubernetes). Development != Runtime Containerization for development has some overlap and quite some difference to containerization for production:

Adventures in AI  

By Paul Withers | 5/2/24 9:23 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Those who were at Engage will have seen some of the experimentation I’ve been doing with AI in the context of VoltScript. In the OGS Jason demoed how I used it to provide code for a loop, correcting it with information about APIs specific to VoltScript. Before my VoltScript session, I showed two videos demonstrating how I’ve used AI to add value to the VoltScript coding experience, firstly by checking unit tests for code coverage and then by checking code complexity of functions in VoltScript Collections.

My slides from Engage 2024  

By Heiko Voigt | 4/30/24 2:15 AM | Development - Notes / Domino | Added by Oliver Busse

Hello, here are my slides from Engage about Building an app with ChatGPT using the HCL Domino REST APIs.

Running MkDocs in a container  

By Oliver Busse | 4/18/24 11:40 PM | Development - Notes / Domino | Added by Roberto Boccadoro

I recently used mkdocs again, the lovely documentation framework which comes with several useful plugins, nice styling and built-in PDF and static website generation. Sometimes it is a bit tricky to get everything installed on your machine to make in running, such as Python 3 and several add-ons, so you may want to run it inside a container.

Maven build with multiple Java versions   

By Stephan Wissel | 4/17/24 4:02 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Imagine, you are tasked with maintaining a Java application that needs to run on more than one Java version. You want to ensure that it compiles, tests and builds on all of them. This is our story, buckle up, there are a few moving parts

The iPhora Journey - Part 8 - Flow-based Programming  

By Richard Moy | 4/17/24 3:58 AM | Development - Notes / Domino | Added by Roberto Boccadoro

As developers, most of us create applications through the conscious act of programming, either procedural, as many of us old-timers grew up with, or object-oriented, which we grudgingly had to admit was better. This is true whether we are using Java, LotusScript, C++ or Rust on Domino. (By the way, does anyone remember Pascal? When I was in school, I remember being told it was the language of the future, but for some reason it didn't seem to survive past the MTV era). But in the last decade, there are some new developments in the programming world that we need to take into account... and no, I'm not talking about AI.

Simplifying the Maven Build of the NSF File Server Project  

By Jesse Gallagher | 4/11/24 5:13 AM | Development - Notes / Domino | Added by Roberto Boccadoro

When working on NSF File Server project that I talked about the other day, I took a slightly-different tack as far as building it than I did in the past, and I think it's worth going over some of that in case it's useful for others.

Eclipse Java Debugging  

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

When XPages came to Domino it introduced many Domino developers to Java. Because the IDE was based on Eclipse, it also introduced Domino developers to standard elements of Java development on Eclipse.

Adding Code Coverage Reports To Domino-Container-Run Tests  

By Jesse Gallagher | 3/12/24 2:08 AM | Development - Notes / Domino | Added by Roberto Boccadoro

When you're writing test suites for your code, it can be very useful to use a tool to analyze the code coverage of your tests. While people can get a little obsessive about coverage percents, there's certainly no denying that it's helpful to know how much of your code is actually run when testing, and also being able to look down into the specifics of what is covered.

Attention, REST service user!  

By Oliver Busse | 2/22/24 1:19 AM | Development - Notes / Domino | Added by Roberto Boccadoro

I lately came across a problem with Domino 14, but it turned out that this issue applies to 12.0.2 FP3 as well. When you use the REST service control from the Extension Library to provide a custom REST service, you will get an exception which has nothing to do with anything in your XPage or your Java code. The root cause is yet to be examined, but the defect article is already up:

XPages JEE 2.15.0 and Plans for JEE 10 and 11  

By Jesse Gallagher | 2/22/24 1:09 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Today, I released version 2.15.0 of the XPages Jakarta EE project. As is often the case lately, this version contains bug fixes but also a few notable features: You can now specify Servlets in WEB-INF/web.xml (as opposed to just via the @WebServlet annotation. This is helpful for defining a Servlet when the actual implementation is in a JAR or when following non-annotation-based examples You can now specify context-param values in WEB-INF/web.xml in the NSF and META-INF/web-fragment.xml in JAR design elements, which will be available to JSP, JSF, JAX-RS, @WebServlet-annotated Servlets, and web.xml-defined Servlets Added @BooleanStorage annotation for NoSQL entities to define how boolean values are converted to note items Added CRUD operations for calendar events to NoSQL, around a few new methods on Repository. This exposes some of the capabilities of NotesCalendar and can be used for, for example, providing an iCalendar feed based on a mail database. To go with that, XPages JEE also re-exports iCal4J as included in the Domino stack for NSF use, though this API is... not smooth The first two here are focused around bringing NSFs more in line with "normal" Jakarta EE applications, while the latter are some nice improvements for the NoSQL driver. I hope to put the last one in particular to good use - for example, OpenNTF's site will be able to provide a calendar of webinars and other events that we can manage internally using a normal Notes calendar, and that sounds nice to me.

XPages Date Field Issue: Solving the One-Day Jump on Every Save  

By Martin Pradny | 2/16/24 11:17 AM | Development - Notes / Domino | Added by Oliver Busse

A user reported a very strange issue - when a document with a date field is saved, it changes the value one day to the past. With every save. But only for some dates, not all. It turned out to be a mystery that goes deep into XPages and Notes/Java APIs.

December and January at OpenNTF  

By OpenNTF | 1/11/24 2:04 PM | Development - Notes / Domino | Added by Oliver Busse

ne of the things I/we’d like to do at OpenNTF is to compose some summary posts of recent goings-on as appropriate, and this is as good a time as any to kick that off. (Admittedly, earlier this month would have been a bit better of a time, but it’s been a busy start of the year.) December saw the introduction of two wholly-new projects on the siteWebinars and Repair Cafés Last month, we hosted our now-traditional end-of-year get-togethers for the community on Discord, and this month we’re resuming our Repair Café and Webinar schedule.

Open Sourcing Domino Templates - Part 1  

By Thomas Hampel | 1/8/24 3:52 AM | Development - Notes / Domino | Added by Roberto Boccadoro

HCL just open sourced a number of Domino templates! This initiative of HCL was announced by Richard Jefts to support a more open and vibrant developer community. Main purpose is to allow developers and partners to extend, modify and tweak the product templates, reuse parts of the code in own solutions and allowing those modified versions to be redistributed. Now with the the Apache 2.0 license this will be possible. Also it is now possible to update these templates outside of product releases in a more consistent way if necessary.

Synchronization between ODP and NSF goes rogue  

By Patrick Kwinten | 1/4/24 5:07 AM | Development - Notes / Domino | Added by Patrick Kwintensson

We develop in a team an XPages application and we experienced that it takes longer time to build a project and to refresh the design of the templates on ACC and PROD environment. We noticed that a lot of files are being replicated so initially I thought it were the files for web-plugins like Datatables…

Seasonal gift  

By Patrick Kwinten | 12/19/23 8:55 AM | Development - Notes / Domino | Added by Patrick Kwintensson

Today I posted "Team Documents" as a seasonal gift as a project on OpenNTF. What is it? Well it is a small document management application for the Notes client. What makes it so unique? First, it is wrapped in an OpenNTF styled "gift-paper" as you can see in the next image... Second, it has features… Second, it has features that makes Notes once the most popular document management platform: Authors and Readers access management, Review options, Revision (versioning), Expire settings, (locked) categorizing and Usage of templates.

Notes/Domino 14 Fallout  

By Jesse Gallagher | 12/18/23 3:31 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Notes and Domino 14 are out now and, as I discussed back in June the big deal for me is the move to Java 17. This also came with a refresh of the Eclipse innards, from Neon (circa 2016) to 2021-12 (circa, uh, 2021). The Eclipse update is welcome, but so far it's been less impactful than the Java update - at some point, I'll want to see if some of the current-era Eclipse plugins work here, but that's for the future. In the mean time, there's a bunch to know, so let's get to it! I've broken this one down into "critical" and "less critical" sections, since this post will likely have a similar life to my target platform one.

Quick Tip: CKEditor not loading - a possible cause  

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

I recently noticed an issue with the CKEditor on XPages not being displayed for edit mode. The editor doesn't show up completely. A quick glance using the developer tools showed a resource not being loaded and then causing an error: I am using English as my browser language (and also on the OS level) but I wondered why this particular resource was attempted to load, showing the particular UK version of the English locale file. Another check of my browser settings gave the answer:

Notes & Domino 14 - missing the Notes.jar? It's still there  

By Oliver Busse | 12/8/23 2:09 AM | Development - Notes / Domino | Added by Roberto Boccadoro

Today HCL released version 14 of Notes and Domino. Despite I tried the beta version in the EAP I wasn't aware that the Notes.jar was relocated. In my test VM I installed the new version just to find my Eclipse projects failing to build due to my variable NOTES_HOME not pointing to the correct location anymore. So, if you also got your little WTF moment, keep cool and relocate your variables to <NotesProgramDir>/ndext/notes.jar now.

Overcoming Domino's Agent Scheduling Limitations with JavaAddin  

By Dmytro Pastovenskyi | 10/30/23 2:16 AM | Development - Notes / Domino | Added by Roberto Boccadoro

If you're frustrated with Domino's limitations on scheduling agents to run more frequently than once every 5 minutes, you're not alone. As a programmer, you understand the need for flexibility and control in your applications. In this article, we'll discuss a practical solution: creating a JavaAddin for Domino that can trigger agents at shorter intervals, allowing you to gain more fine-grained control over your scheduled tasks.

XPages JEE 2.14.0  

By Jesse Gallagher | 10/28/23 4:39 PM | Development - Notes / Domino | Added by Oliver Busse

Today, I released version 2.14.0 of the XPages Jakarta EE Support project. As with the last few releases, this is primarily about bug fixes and compatibility as I prepare for the big switch in 3.0, but there are some notable, if small, feature additions.