Setting up an environment to develop OSGi plugins for HCL Domino – 2022 edition  

By Mark Leusink | 11/27/22 2:51 PM | Development - Notes / Domino | Added by Oliver Busse

While testing the v12 version of the org.openntf.domino library I found a bug that stopped me from deploying it to v12.0.x Domino servers. I found out what the cause for the issue was, so I decided to take a shot at fixing it myself. There was just one problem: I didn’t have a development setup for OSGi plugins anymore. Online I could find most of the steps involved, but the guides could use an update here and there.

Getting started with DQL  

By Mark Leusink | 3/22/20 3:54 PM | Development - Notes / Domino | Added by Oliver Busse

Do you remember? A little over 2 weeks ago was Engage. How quickly everything can change… When you were at Engage you might have seen the session I did with Oliver Busse on DQL. The slides and demo code can be found here and here. We touched how to get started with DQL briefly, and based on the questions we received I think it’s a good idea to write a couple of articles on the topic. This is the first.

XPages partial refresh issue in Domino 10.0.1  

By Mark Leusink | 2/7/19 8:29 AM | - | Added by Oliver Busse

A couple of days ago I tweeted about an XPages partial refresh issue I ran into in Domino 10.0.1. I got it on a freshly installed Domino 10.0.1 server with our main XPages app on it. Within a couple of clicks it started throwing errors, so I was kind of disappointed.

Query Domino data with Domino JNA (part 3): REST API and infinite scroll  

By Mark Leusink | 11/2/18 6:36 AM | - | Added by Oliver Busse

With the demos from part 1 and part 2 we now have a list running in XPages that has sorting, paging and filtering. But what if you want to use Domino JNA in a REST API? To serve a JavaScript/ Angular/ React/ Vue application or, why not, an app running in Office 365?

Query Domino data and faceted search with Domino JNA (part 2)  

By Mark Leusink | 10/8/18 3:57 AM | - | Added by Oliver Busse

In the first post in this serie I covered the basics on how to create a list of Domino view data with pagination and sorting using the Domino JNA project. We can now get into the more interesting stuff: filtering the dataset.

Query Domino data and faceted search with Domino JNA (part 1)  

By Mark Leusink | 10/2/18 7:16 AM | - | Added by Oliver Busse

Every web application I build includes lists (or as Domino people like to call them: views) in one form of another. And then users start asking question like “But can it do sorting?” “How about a search function (on just these fields?)” “And filtering?”.

Time for a new Notes/ Domino support model  

By Mark Leusink | 2/8/18 5:51 AM | Infrastructure - Notes / Domino | Added by Oliver Busse

I’m pretty happy with FP10: great that with we now have up-to-date Eclipse/ Java/ OSGi version. Despite some obvious glitches it works reasonably well for me. But if you read the blogs and follow Twitter: a lot of people are having issues. The current ‘gold’ version would have been a great beta (2) and with a couple of fixes a great release.

Convenience at a cost: comparing Domino Java APIs performance (standard, ODA, JNA)  

By Mark Leusink | 5/12/17 8:56 AM | - | Added by Oliver Busse

I’m into performance at the moment, trying to solve some nasty issues in one of the applications I work on. While researching the topic I came across Karsten Lehmann’s Domino JNA project that allows you to use some low-level C-API methods using Java. It contains functions that are very useful in my scenario, but I also wondered how the library performed. So I wrote some basic tests, comparing JNA with the ‘standard’ (or ‘legacy’) Domino API and, while I was at it, the org.openntf.domino (ODA) API.

Tracking your XPages app’s usage with Google Analytics  

By Mark Leusink | 1/8/16 8:53 AM | - | Added by Kenio Carvalho

One of the latest requirements from one of my customers was to be able to track the usage of their application. Let’s use Google Analytics for that.

Dropzone.js in XPages: it doesn’t get easier than this  

By Mark Leusink | 11/28/15 5:59 AM | - | Added by Oliver Busse

After reading this question on StackOverflow by Daniele Grillo I decided to have a quick shot myself at integrating dropzone.js with XPages. Daniele already gave the solution to his issue himself (no bonus points for me today), but maybe others can benefit from a full example.

Quick tip: updating URL hashes in XPages  

By Mark Leusink | 10/21/15 8:08 AM | - | Added by John Oldenburger

I’m a big fan of the ExtLib Dynamic Content control. Use it in probably all my single-page XPage apps. Recently I was working on a page that had 2 nested Dynamic Content controls. I wanted to allow users to bookmark the page, including the state of both controls.

File uploads to Domino servlets (with an Angular demo)  

By Mark Leusink | 6/24/15 4:05 AM | - | Added by John Oldenburger

For one of my customers I’ve started working on an application that uses AngularJS for the frontend that talks to a REST API served by IBM Domino. For the REST API we decided use servlets: something that’s covered in great detail on Ed McCormick’s excellent blog.

The future of web development write once, run everywhere with angular js and domino  

By Mark Leusink | 1/27/15 8:50 AM | - | Added by Johnny Oldenburger

Slides from our session at IBM ConnectED 2015 in Orlando. BTE 102: The Future of Web Development Write Once, Run Everywhere with AngularJS and Domino by Marky Roden and Mark Leusink Senior Solutions Architect LinQed - PSC Group LLC.

Marky & Mark’s ‘mobile first’ ConnectED Sessions demo app  

By Mark Leusink | 1/14/15 3:38 AM | - | Added by Oliver Busse

In about two weeks time IBM’s ConnectED takes off. We (that’s me and Marky Roden) were fortunate enough to be allowed to speak there with a brand new session titled “The Future of Web Development – Write Once, Run Everywhere with AngularJS and Domino”.

Fun with Domino, AngularJS and CORS (not really)  

By Mark Leusink | 12/15/14 6:00 AM | - | Added by Johnny Oldenburger

For a mobile app I’m currently working on (more on that soon) I’m using Domino Access Services. After fixing the issue with the number of entries returned by a view entry service, I quickly ran into other issues. I’m using a frontend build with Angular that’s running on a different domain name. So I have to add CORS headers (Cross Origin Resource Sharing).

Domino Access Services: ‘Limit Exceeded’ error for view entry collections  

By Mark Leusink | 12/8/14 3:43 AM | - | Added by Johnny Oldenburger

If you’re using Domino Access Services to get a view entry collection and include the count=XXX parameter (like described here), you’ll get an error if the number is larger than 100. According to this, this limit was introduced with the 901v00_10 version of the Extension Library.

Bootstrap in XPages: now part of the Extension Library  

By Mark Leusink | 11/10/14 6:47 AM | - | Added by Johnny Oldenburger

Today IBM released a new version of the Extension Library (901v00_10 to be exact). The biggest news being that Bootstrap is now an official part of that plugin. They essentially took the Bootstrap4XPages plugin that Phil Riand and I have been working on and integrated it in the project.

XPages gotcha: mode=”concat” in your themes  

By Mark Leusink | 8/29/14 9:05 AM | - | Added by Oliver Busse

Suppose you have an XPage with a repeat control on it to show a list of documents. In the repeat you generate an <xp:button> for every document. Based on the status of the document you decide to give the button a different color, so you make the styleClass property of the button computed.

Create HTML emails from RichText fields with embedded images and attachments  

By Mark Leusink | 7/3/14 10:10 AM | - | Added by Oliver Busse

If you want to send formatted (HTML) emails from Domino you have a couple of options. Starting with version 9, there’s a simple action that allows you to send HTML mail by just configuring some options. You can also use Tony McGuckin’s emailBean snippet to send an HTML mail from an XPage directly, including embedded images and/or attachments. And there’s also the SSJS snippet I wrote to send an email from any backend SSJS script.

Considering a Domino upgrade to 9.0.1 FP1 or 9.0.2? Beware of custom Java security policies  

By Mark Leusink | 6/25/14 3:37 AM | - | Added by Per Henrik Lausten

If you have custom Java security policies in place on your Domino server (either through a modified java.policy or java.pol file) you might want to read this before you upgrade.

Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014  

By Mark Leusink | 3/18/14 12:09 PM | - | Added by Oliver Busse

Slides for Mark Leusink's session at Engage 2014 (Breda).

XPages Debug Toolbar – now as a plugin  

By Mark Leusink | 2/5/14 6:01 AM | - | Added by Per Henrik Lausten

In preparation for the session with Phil Riand on Bootstrap4XPages last week at IBM Connect (slides) I’ve been doing quite some work on the Bootstrap4XPages plugin. That got me pretty good up to speed with the subject of OSGi plugin development, so I decided to take another shot at a thing that had been on my todo list for way too long: create a plugin version of my XPages Debug Toolbar.

Improve your Domino SSL configuration, make your server more secure  

By Mark Leusink | 1/16/14 12:51 PM | Infrastructure - Notes / Domino | Added by Niklas Heidloff

Recently, Stephen Wissel tweeted a link to the Qualys SSL Labs SSL Server Test. That site allows you to enter the URL of an (internet facing) server that has SSL enabled and can then perform a deep analysis of the SSL configuration of that server.

Import Excel files and calculations with POI 4 XPages  

By Mark Leusink | 12/16/13 12:20 AM | - | Added by Niklas Heidloff

Adding an export to Excel used to be a pain in the old days. But now, with XPages and the highly recommended POI4XPages library*, that has gotten really easy and is a feature I can just throw in to any project.

Reusable fields and form validation using Bootstrap  

By Mark Leusink | 11/11/13 2:20 AM | - | Added by Per Henrik Lausten

This article shows how to create and use a reusable custom control for field and form validation using Bootstrap

New demos on Bootstrap4XPages: Select2 and Alerts  

By Mark Leusink | 7/12/13 1:09 AM | - | Added by Niklas Heidloff

In case you haven’t seen them yet: I’ve added two new articles/ demos on Bootstrap4XPages.

Getting your Git projects back in Domino Designer  

By Mark Leusink | 6/26/13 1:17 PM | - | Added by Per Henrik Lausten

Since a while now I’m using source control in Domino Designer and I love it! I’m using eGit because I like that it’s integrated directly into Designer. I recently needed to re-install Designer and found out that all on-disk projects needed to be re-added to Designer too. In this post I’ll share a way on how you can restore those and restore the connection with the NSF´s.

Using Bootstrap with (JS/ CSS) resource aggregation  

By Mark Leusink | 5/24/13 2:17 PM | - | Added by Per Henrik Lausten

The resource aggregation function was introduced in Domino 8.5.3. It automatically combines the CSS and JavaScript files loaded on a webpage into a single file, thus reducing the number of requests on a page. If you use Bootstrap and enable the option, you'll find that it will break the links to the default Bootstrap images. The reason for this is the (virtual) location of the combined CSS file changes. A possible solution is to create a simple css file that overrides the image location and add that to your page/ app.

Just when I thought I got readers/authors fields all figured out  

By Mark Leusink | 4/26/13 2:08 AM | - | Added by Niklas Heidloff

The case seemed simple: I had a document that may only be edited by a bunch of people. So I added an authors field. Only that group (and application administrators) are allowed to view that document. So I added a readers field for the administrators role.

Debugging and designing at the BLUG 2013  

By Mark Leusink | 3/25/13 1:11 AM | - | Added by Niklas Heidloff

I got back yesterday from an excellent 2 days in Leuven where I spoke at the BLUG 2013 (where the B as of this year stands for BeNeLux). This was actually my first visit to the event and I enjoyed every bit of it.