XPages Tip: Reading Custom Properties and Modifying a Component Before a Page...
If you need to read a property on a custom control and do something to any component on the page before a page loads, it can get tricky because the compositeData object is not available in the...
View ArticleFixing a Bug with Dropdown Buttons in 9.0.1 FP3 and FP4
If you use Dropdown Buttons in XPages on Domino 9.0.1 and a OneUI 2.x theme, there’s a bug with two recent fixpacks (FP3 and FP4) that breaks them. In this post, I’ll show what happens and share code...
View ArticleFixing the Width of a Select 2 with a Long Value in a Bootstrap Form Group or...
If you have a Select2 control within a form-group or input-group div in a Bootstrap UI, a long value can cause the Select2 to grow to become wider than its container. In this post, I’ll show how to fix...
View ArticleDomino Designer Tip – RegEx Searching for a String with Single or Double Quotes
If you’re looking for a string value in code throughout your application, it can sometimes be frustrating to weed through extraneous results. If you know the exact string, you can make the search more...
View ArticleSpeaking at Connect
At Connect next week, I’ll be co-presenting two Best Practices sessions, one on grids in XPages with Paul Calhoun and the other on web apps and IBM Digital Experience with John Head. AD-1207: The Grid,...
View ArticleIBM Connect Presentation Uploaded
At Connect last week, I presented a session on using grids in XPages with Paul Calhoun. Here’s a link to the slide deck AD-1207: The Grid, the Brad, and The Ugly: Using Grids to Improve Your...
View ArticleHandling 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