Upcoming Webinar – How we are using XPages  

By Cameron Gregor | 8/16/19 9:25 AM | - | Added by John Oldenburger

If, like me, you’ve been following Jesse Gallagher’s blog you will see he has been putting a lot of thought into ‘the XPages problem’ (where to next for those of us still heavily dependant on XPages). I have been following Jesse’s thoughts with interest as I am hoping to make the right decision for our company about where to focus our efforts on next.

Our current Deployment setup: Github + Jenkins + BuildXPages  

By Cameron Gregor | 6/18/19 9:33 AM | - | Added by Oliver Busse

I recently received a question from Patrick Kwinten about whether I am still using my BuildXPages project, and whether I have involved Jenkins in the setup. The answer is yes, I still use BuildXPages on a daily basis, and in regards to Jenkins, I have been using Jenkins for almost 5 years to build and deploy our XPages projects.

Minor enhancements to the XPages Table Control  

By Cameron Gregor | 12/13/17 5:34 AM | - | Added by John Oldenburger

As mentioned in my previous post, I have started up a fork of the ExtLibX project and have started contributing to it instead of my previous GregorbyteXspLibrary. Last week I shared the JDBC Configuration Provider which uses Notes Documents to store the configuration info.

XPages JDBC Configuration via NotesDocuments  

By Cameron Gregor | 12/5/17 5:54 AM | - | Added by John Oldenburger

If you have used the Extension Library’s Relational controls, then you are probably familiar with the process of configuring your JDBC Connection details. You have the option of setting up a ‘named’ connection so you can reference a database connection by name. This involves creating an xml file.

My New Approach for Sharing XPages Controls and Extensions  

By Cameron Gregor | 12/1/17 6:45 AM | - | Added by Oliver Busse

Over the past few years I have shared a handful of controls and techniques on my blog, and most of these I have made available on github in one way or another. Originally I was creating a separate github project for each one such as EmailValidator, PhoneNumberControl and the Messages Controls. After these few I decided it would be more efficient to create a single project that I could put them all into, so I then began to contribute them via my GregorbyteXspLibrary.

BuildXPages Deployment Automation Tools – v1.0.0  

By Cameron Gregor | 9/21/17 9:04 AM | - | Added by Oliver Busse

After quite a bit of work I have finally published the first release of BuildXPages! What is BuildXPages? BuildXPages is a project which is useful if you are interested in Automating tasks that are involved in building XPages.

Generating and Downloading Files Using XPages’ Persistence Service  

By Cameron Gregor | 9/13/17 7:50 AM | - | Added by Oliver Busse

When developing an XPages application you may run into the need to generate files to be downloaded by the user. For the temporary place problem, some common solution is to either generate the files to some ‘in memory’ representation or alternatively use the Java Temporary Directory..

Bundle Inspector – Diagnosing XPages Plugin Resolution problems  

By Cameron Gregor | 8/2/17 3:38 PM | - | Added by Oliver Busse

A common task with XPages development is to installing some plugins that provide additional functionality. If you do any plugin development of your own, you end up doing this task a lot more as you create new plugins, install new versions etc. It is also common to encounter some problems after installing plugins to your Domino Server! Maybe your expected plugin doesn’t load up at all? maybe the wrong version is loading?

Auto-width Bootstrap Column XPages Controls  

By Cameron Gregor | 3/21/17 9:26 AM | - | Added by Oliver Busse

I’ve been stuck working with OneUI Version 3 for the past couple of years, due to a regretful decision made at the beginning of my major project. OneUI was better than nothing but very frustrating at times. Finally, I have moved on to my next project and I am now using bootstrap (version 3)

Swiper FP8 Version Beta Release  

By Cameron Gregor | 3/16/17 1:30 PM | - | Added by Oliver Busse

Last week I released the ‘alpha’ version of Swiper which was untested on FP8 but presumed to be ok. So far I have only had good reports from the pioneers who have gone ahead and installed FP8 + the alpha version. I have since managed to ugrade my home office setup to FP8 which unfortunately has broken my ability to launch designer from eclipse but I am seeking some advice on fixing this up.

Swiper FP8 Integration Rollout  

By Cameron Gregor | 3/8/17 8:18 AM | - | Added by Oliver Busse

Notes Domino 9.0.1 FP8 is finally here and as far as I know (I have yet to download it) it includes the necessary changes which will allow Swiper to swipe whatever it wants, whenever it wants, which is good news for people who don’t like to have ‘Build Automatically’ turned on.

Markdown XPages UIControl – Cameron Gregor  

By Cameron Gregor | 3/5/17 7:37 AM | - | Added by Oliver Busse

Often when I’m designing an xpage, there might be a section of the page in which I want to explain some instructions to the user. Some options here are to: write the Instructions using html and embed directly in the xpage markup write the Instructions directly in the design pane and format using designer’s ui e.g. bold, color, size etc

XPages webmail – Using Mime Inspector to debug Mime  

By Cameron Gregor | 2/14/17 2:35 PM | - | Added by Oliver Busse

In a previous post in this series I did a bit of an overview on how MIME works. We also did a little bit about how MIME works in XPages + Domino land. With this knowledge in hand we can now start to analyse the different ways a ‘Pretty words, pictures and attachments’ can be stored in the document.

Pasting Images into XPages CKEditor  

By Cameron Gregor | 2/13/17 12:03 AM | - | Added by John Oldenburger

Programs like ‘Snipping Tool’ on Windows, are super useful for users to make a quick snapshot, do some quick markup on the image, paste into chat/email and send. Unfortunately when using the default configuration of CKEditor in XPages (the inputRichText control), support for pasting images is not available for all browsers, and even for the ones that do support it, the images are only pasted as a PNG data URI.

Preventing Pasting of Images in CKEditor  

By Cameron Gregor | 11/13/16 7:35 PM | - | Added by Oliver Busse

In the process of developing our XPages ‘Webmail’ interface, we discovered that many recipients were unable to view embedded images in the emails. After investigating, it was caused by the images being embedded using Data URIs. Support for Data URI Images is not universal, and because it is supported in IBM Notes, everything looked like it was working ok, but a quick test viewing an email in Gmail confirmed a problem when images could not be seen.

Controlling the order of Script Resources (e.g. Jquery) with a Custom ViewRootRenderer  

By Cameron Gregor | 9/19/16 8:38 AM | - | Added by John Oldenburger

When loading Client Side Javascript libraries in XPages, sometimes the order that the libraries are ‘encoded’ (or written in HTML) in the <head> tag is important. For example jQuery and some of it’s plugins can have some issues if Dojo is encoded first.

Associating *.theme and *.xsp-config with Eclipse XML Editor  

By Cameron Gregor | 3/9/16 3:26 AM | - | Added by John Oldenburger

When you do XPages OSGi Library development in eclipse, you will often have to edit xml files (or xhtml) that have a different file extension than .xml. These are files such as XPages theme files with the .theme extension, and Xsp control configuration files with the .xsp-config extension.

Inspect Component Properties using Component Binding  

By Cameron Gregor | 3/8/16 5:53 AM | - | Added by John Oldenburger

Inspired by Paul Withers recent component binding post, I discovered another use for component binding whilst I was preparing for my upcoming presentation ‘Anatomy of a UI Control’ this Thursday at AUSLUG.

Double Quote Avoidance – Using JsonJavaObject + JsonReference to output function references  

By Cameron Gregor | 1/19/16 7:30 AM | - | Added by John Oldenburger

Recently I have been developing an an XPages UI control for JQuery jqGrid. JqGrid, like most javascript components, relies very much on configuration using json. I haven’t done much in this area before and I thought things would get pretty ugly if I had to manually output all the javascript / json.

PanelGrid XPages Control - for simple table based layouts  

By Cameron Gregor | 12/3/15 7:06 AM | - | Added by Oliver Busse

I can't remember the circumstance, but whilst looking around the web I stumbled across a control called 'panelGrid' that is available in standard JSF. I really liked the idea of it so I decided, why can't we have it in XPages? we can!

Metadata Filtering for Domino Designer Source Control  

By Cameron Gregor | 11/13/15 7:51 AM | - | Added by Oliver Busse

Swiper is a plugin for Domino Designer which is used in tandem with the Source Control Enablement. When Domino Design Elements are exported for Source Control, they contain unnecessary metadata which makes Branching and Merging almost impossible due to pointless merge conflicts. Swiper will filter this metadata from the exported files, allowing proper branching and merging.

Setting up JRebel for XPages OSGi Plugin Development  

By Cameron Gregor | 11/4/15 7:29 AM | - | Added by John Oldenburger

When developing plugins for Domino in Eclipse, one of the drawbacks is the constant 'restart task http' to pick up any new changes in your class files. It may only take 30 seconds but it is slow enough that every time it happens, maybe you check your email, news, social media, maybe you distract one of your colleagues.

Uploading Plugins Headlessly to Open Eclipse Update Site  

By Cameron Gregor | 7/18/15 8:52 AM | - | Added by John Oldenburger

This is a very rough blog post! I am responding to a question on twitter about how to upload plugins to an Update Site NSF automatically (e.g. from a build server) So I thought I would put it in a blog post so it would be available for all. Any questions / corrections please just comment, there will probably be a mistake or two.

Build Automation for XPages Presentation Slides - AUSLUG/Inform 2015  

By Cameron Gregor | 6/11/15 4:32 AM | - | Added by John Oldenburger

I just finished a presentation today at AUSLUG / INFORM 2015 in Melbourne, Australia. Thank you to the organisers and sponsors for putting on the event, and thanks to all the attendees as my session! The slides from my session have been uploaded to the Auslug connections community, I have also uploaded them to slideshare.

Extending the Messages Control: Multiple Messages for a Single Component  

By Cameron Gregor | 5/29/15 12:08 PM | - | Added by John Oldenburger

As you probably know, XPages has a built in mechanism for displaying Messages to the user. The options available to the developer are almost complete, but I believe there is one scenario not covered by the default 'Messages' controls. There is no way to show multiple messages for a single component.

XPages PhoneNumber Control - Part 2 Upgrades to the Converter  

By Cameron Gregor | 2/23/15 5:52 AM | - | Added by Oliver Busse

In part 1 of this series, we created a basic Phone Number Converter, which takes the user input and converts it to a standard International format for phone numbers. In this part (Part 2) we will add 2 extra pieces of functionality to this converter.

XPages PhoneNumber Control - Part 1 Creating a Converter  

By Cameron Gregor | 2/18/15 6:45 AM | - | Added by Oliver Busse

This is the first of a multi-post series of creating a Phone Number control for XPages.

Email Address Validator for XPages  

By Cameron Gregor | 2/11/15 7:02 AM | - | Added by Oliver Busse

I wanted to implement a custom validator for validating the input of an email address. There are several ways this could be done, and a normal person would just use some sort of regular expression and a xp:validateConstraint validator, you could also do it in a xp:validateExpression.

Select themeIds from plugins in Designer Xsp Properties Editor  

By Cameron Gregor | 9/8/14 11:05 AM | - | Added by Per Henrik Lausten

A couple of months back I did a blog post demonstrating how you could modify the source code of the extension library designer tooling, to allow your own plugins to make contributions to the Theme selection drop-down. I also posted a feature request to the Extension Library Project on OpenNTF, I quickly got a response from Gary Marjoram that they were already thinking about this and to keep a lookout for future releases. Well the IBM team have just released Release 9 (R09) of the 9.0.1 Extension library and I am happy to see Gary has included his fix for this in this release.

Build System for XPages and OSGi plugins  

By Cameron Gregor | 8/8/14 9:17 AM | - | Added by Oliver Busse

We have only just recently set up a Build System for XPages / NSF / OSGi plugins. Here is a little summary of how it started, roughly how it is set up and a few random notes that might help others hoping to do a similar thing. It's not perfect, but at least you know you are not alone if you are trying to do something like this!