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.

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

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.

Webmail UI – You must learn about MIME  

By Cameron Gregor | 4/20/16 10:00 AM | - | Added by Oliver Busse

If you were like me, you spent many years developing classic Notes applications before making the switch to XPages. If this was the case, you were no doubt comfortable with the notion of a RichText field.

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.

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.