Handling Errors in an XPages RPC Method
The Remote Service (aka xe:jsonRPCService) is an extremely useful control in XPages because it examples client- and server-side code interaction, runs asynchronously, performs well, and is easy to use....
View ArticleTransferring a Bitbucket Repository
I recently needed to move control of a source control repository on Bitbucket from a personal account to a company account. Fortunately, there’s a relatively easy built-in process to transfer it...
View ArticlegetFragment() Doesn’t
The XSPUrl object that you can access via the XPages context has a lot of handy methods. getFragement() isn’t one of them. I was looking through the help documentation for XSPUrl recently and noticed...
View ArticleXPages Tip: Beware Server-Side code in Multiple onClientLoad Events
TL;DR – Server-side code in onClientLoad causes a page refresh and prevents additional onClientLoad events with server-side code from running. In this post, I’ll show an example and describe how it...
View ArticleXPages Tip: Passing an Array to a Custom Control Property
Custom properties are extremely useful for modular design and reuse by sending custom values into each instance. There are a number of data types that can be selected, but no obvious way to pass an...
View ArticleBrowser Session Lifespan – Idle Session Timeout vs LTPA Token Expiration
I recently spent some time investigating a client’s reports of unexpected behavior with the duration of browser sessions while testing an application on a test server. From time to time, they were...
View ArticleEfficiently Keeping an XPages Session Alive with JSON RPC
In my last post, I talked about the difference between two reasons that a user may be prompted to login again while using an XPages application: idle session timeouts and LTPA token expiration. There...
View ArticleXPages Tip: Displaying Bootstrap Applications Properly on Mobile Devices
Do you have a Bootstrap navigation menu in XPages that collapses properly in a full browser but not on a mobile device? You may need to set a meta tag to force it to display properly. In this post,...
View ArticleXPages Tip: Overriding, Concatenating, and Conditionally Adding Control...
Themes are commonly-used in XPages applications to include resources needed throughout an application, but they can also be a powerful tool for consistently applying application-wide control settings....
View ArticleXPages Tip: Adding a Bootstrap Class to All Labels via the Theme (Redux)
In this post, I showed how to set all labels in an application to include a class to pick up Bootstrap styling so it could be applied application-wide and not require touching every label control...
View Article