Posts Tagged ‘openntf’

10 Feb 2016

The XPages Knowledge Base gets 2 new articles on day 1

Thanks to Paul Withers and Fredrik Norling, the XPages Knowledge Base grew by 2 articles in day 1 of the official launch.

Article: Dialog Control, SSJS and Refreshing an Area of the Page

Link: Click here to view article
Author: Paul Withers
Knowledge Base Space: XPages Extension Library
Short Description
Get an understanding of what happens behind the scenes when performing an SSJS .show() or .hide() on a Dialog Control.

Article: Adding excel exporting to XPages using POI4XPages

Link: Click here to view article
Author: Fredrik Norling
Knowledge Base Space: POI4XPages
Short Description
This article will show you how to create and run a simple view to excel export using POI4XPages, which is an OSGI Plugin that adds Apache POI support to your XPage Project. This marks the first article for POI4XPages on the XPages Knowledge Base and officially takes it out of the “Coming Soon” status.



Just a final thanks to Paul and Fredrik for being the first 2 contributors to the Knowledge Base. I know both of you are already digging out more articles to contribute and I speak on behalf of the community when I say that we really appreciate it.

For those out there that also want to contribute, I recommend reading this post I submitted on what to expect and the necessary steps to take to become a contributor.

Cheers for now
John :)
9 Feb 2016

It’s time for the XPages Knowledge Base to officially co-exist :)

The XPages Knowledge Base is live, running and hungry for content 😎

The OpenNTF team have been working effortlessly to get the final touches implemented in order to make way for an online platform that helps with the collaboration of knowledge on all things XPages. And now it’s time to let the world know it exists!

The great news is that since IBM Connect, we’ve invested a lot more time to improve the user experience and make the content layout more structured and easy to navigate. We also added a few more categories including “XPages on Bluemix“.

My quick motivational pitch

At OpenNTF there is a small slogan running around: From Donation to Contribution. 2016 is the year of significant and positive change within the XPages Ecosystem. One of the changes OpenNTF is hoping to see come to fruition, is the adoption of continuous contribution in any way of form, by the community, for the community.

We as a community are blessed to have so many contributors submit various projects, XSnippets, tutorials, blog posts, etc., but there are still many out there who could join in and accelerate the growth of OpenNTF and XPages as a whole. The XPages Knowledge Base forms a great addition and a means of contribution, one that does not necessary require a serious investment in time, yet whatever small contribution given will still add immense value. More on this later.

I ask everyone reading this article right now, to please continue reading beyond this point and be mindful of what’s being asked vs what’s being offered. There is opportunity here for everyone to accelerate knowledge and adoption of various XPages technologies, and together we can make this happen now.

Overview of the XPages Knowledge Base

The concept of a knowledge base for XPages began in November 2015, and was officially announced at IBM Connect 2016, along with Oliver’s post on OpenNTF’s blog. the idea is to consolidate all articles and blog posts that exist “on the line”, and structure the content in such a way so as to promote consistency and integrity of the content.

This in no way is meant to replace the blogging of XPages content. Not at all. Instead, the knowledge base will be “manually” fed from various blogs (with the approval of blog authors of course) and the content restructured and tweaked to conform to an “Article Template”.

If, however, one does not have a blog and would like to contribute, that’s fine as well. It’s as easy as creating a How-to article on the Knowledge Base, which is explained in more detail below.

Example Template Layout of a Knowledge Base Article

A typical article on the XPages Knowledge Base will be divided into the following sections:

  1. Author Reference – Here we reference the original Blog Post(s) and Author(s)
  2. Quick Summary – Eliminate reading the entire article if you just want the quick how-to
  3. Detailed Overview Hopefully self explanatory
  4. Scenarios – Examples of real world scenarios related to the article
  5. Important Notes – Important things to note around the use of the what’s been posted in the article
  6. Step-by-step Guide – Hopefully self explanatory
  7. Related Articles – Other articles in the Knowledge Base that related to the current article

Blog Post vs Knowledge Base Article

Click here to view an article from my blog on how to use the XPages Extension Library’s Remote Services control. The post itself only has a few sentences and the rest is a video tutorial.

Click here to view the very same article, but re-structured and published to the XPages Knowledge Base. There is firstly more content when comparing the 2 articles. The “Quick Summary” section shows a skilled enough developer how to quickly make use of the feature, without having to navigate through the rest of the article. The video itself features in the “Step-by-step Guide” section of the article. This is an example of what we want to achieve with submitted articles to the Knowledge Base. A win win for everyone, wherever it makes sense.

Now, here’s the best part. The idea is for the XPages community to help make the content better, whether by making it more accurate, validating the content by commenting and giving approval or raising concern, adding to the content by giving more scenarios or how-tos, or merely liking the article to improve it’s relevance. The keyword is…contribute.

How to start contributing

All content in the Knowledge Base is open to the public (i.e. available to Anonymous users). However, in order to participate, you need an OpenNTF Account. Once your account is activated, you will be able to log into the Knowledge Base. This will give you the ability to like, comment, edit existing or create and submit new articles.

We will be posting more tutorials around how to perform various operations in the knowledge base in the near future, but for now, it’s quite simple: Select a Space (e.g. “XPages Extension Library” or “Performance and Best Practices”) and create a “How-to Article”.

Atlassian Confluence How-to Article

I will be monitoring the Knowledge base and will be working with everyone to help get the content structured accordingly, so please don’t worry if you’re doing it right or wrong, we’ll make it right 😏.

An alternative for now, is to join in on the OpenNTF “XPages Knowledge Base” Slack channel. If you are not yet part of the OpenNTF Slack channel, click here to be taken to the OpenNTF Home Page and click on the Slack widget on the top right of the page. This will allow  you to register with OpenNTF on Slack.


Right now, there are only about 3 articles live on the Knowledge Base and many of the Categories still have a status of “Coming Soon”. This will improve almost immediately as we already have a number of contributors lined up.

There are currently articles in the XPages Extension Library and Performance and Best Practices Spaces.

IMPORTANT: If there are any questions, suggestions, or anything related to the knowledge base including sign up issues, etc., I strongly recommend joining OpenNTF on Slack and joining the “XPages Extension Library” channel. This will form the best base to collaborate and work together. Worst case scenario you can just comment on this blog post and I’ll assist you wherever possible.

Thank you for reading this article. I ask that you please share it on the social streams to get the word out.

See you on the other side 🙏
7 Dec 2015

John Jardin’s 2nd Session at IBMConnect 2016: Optimus XPages


So, to my utter surprise, my second Abstract for IBM Connect 2016 was approved. It’s titled “Optimus XPages: An Explosion of Techniques and Best Practices“. For a reference to my first Abstract, click here. Just so everyone knows, IBM Connect takes place at “The Hilton” in Orlando, Florida. My session “Optimus XPages” is scheduled for Monday the 1st February 2016 at 3:30pm.

I am extremely excited to be presenting this session. Over the past year I have implemented a number of solutions running on XPages, and I got to experience first hand the improvement in performance and overall user experience when comparing these solutions to ones I developed in the past. I feel I have come up with some serious practices that anyone can easily apply to make their applications work and feel fast and responsive, whether running on a local network or in the cloud.

Below is a rundown of my session:


AD-1074 – Optimus XPages: An Explosion of Techniques and Best Practices


Starting a new XPages project but not sure it’s going to be done right the first time? Do you have an existing application that doesn’t seem to have that “X” Factor? In this session John will demonstrate how XPages developers can apply proven techniques and best practices to take their applications to a game changing level.


  1. Rapidly develop responsive applications
  2. Improve user experience and response times with background and multi threaded operations
  3. Keep your XPages lightweight with code injection
  4. Create scheduled tasks the XPages way
  5. and much more.

I hope to see you all there :)

Cheers for now :)
30 Jul 2015

XPages and Bootstrap Tip: Style the File Download control

This is a quick tip on how to convert a plain looking XPages File Download control into a Twitter Bootstrap style Table.

Everyone should know by now that the latest XPages Extension Library (2 versions ago actually) includes the Twitter Bootstrap framework. While is this brilliant, the reality is that many of us already have existing designs where Twitter Bootstrap is manually included. This means that XPages controls used in these designs look plain when compared to adding bootstrap-styled HTML.

A good example is the File Download Control below. I’ve added this control to my XPages app that has Twitter Bootstrap manually configured, but the control is not affected by this framework:


If you view the HTML source of the File Download Control in Firebug, you’ll see it’s just a table with row and column tags. This is good news, because Twitter Bootstrap’s table designs follow the same pattern, which means that by just adding 2 Bootstrap classes to the control, you change look of it to:


To achieve this, all you have to do is add the “table” and “table-hover” class to the File Download Control. See example below:

   styleClass="table table-hover">

You can imagine that this one example opens a series of additional opportunities for those who are manually applying the Twitter Bootstrap framework to their XPages Design.

Till next time
Cheers :)

17 Jan 2014

TiDomino is now an Idea Space on

Firstly, a big thanks to Mr Bruce Elgort for creating a category on for TiDomino.

For those who aren’t aware…TiDomino is a JavaScript module that allows Appcelerator Titanium developers to use IBM Domino programming patterns to structure local data sets and integrate with IBM Domino and XWork Applications. is an online social site that uses the power of “crowd-sourcing” to rank ideas and allow the best ideas to rise to the top. (NOTE: IdeaJam is available as a product for companies that are interested. Speak to Mr Bruce Elgort or Click here for more info)


To date, there have been 83 downloads of TiDomino from OpenNTF. I published the very first version on the 29th November 2013 and provided a 2nd release on the 13th December. The 2nd release was motivated by a suggestion that Sean Cull raised during his testing of TiDomino.

Now, I already have my To Do list for the next release of TiDomino, which I’m targeting for February, once IBMConnect is over and the dust has settled.

However, moving forward, I really want to urge everyone who’s interested in this community product, to raise ideas and suggestions on IdeaJam. I would love nothing more than to turn this into an Uber product that makes sense for everyone in terms of usability and time saved on programming.

I, myself will be listing all the ideas I currently have for this product. I look forward to everyone’s feedback and involvement on this. I’ll see you on the other side!!