Ext. Library Learning XPages Notes In 9 XPages

NotesIn9 175: XPages Extension Library goes Responsive!

I’m really excited about today’s brand new contributor.  Today we welcome Brian Gleeson to the show.  I’ve had many great contributors to the show over the years but Brian is the very first member of the XPages Development team to come on with a demonstration.  That’s been on my NotesIn9 “bucket list” for long time.  I feel like I’ve finally gone “legit”. haha

Anyway Brian, who is a key member behind the Ext. Library on OpenNTF, is going to give use a great demo on the new responsive controls from the latest edition of the Ext. Library. There’s actually a bunch of new features in the Ext. Library but the responsive controls alone are very cool.

Hope you like it!

Ext. Library Learning XPages Podcast XPages

NotesIn9 120: XPages Data View Control Part 2: Customization

In this show Brad Balassaitis comes back on with a show on how to customize the Data View control.  This is the 2nd video that Brad’s contributed on this control.  Part 1 is at

This show also has a lot of great detail on how Facets/Editable areas work.  He also shows you how to inspect elements on the XPage.  Really great stuff in this show.

Do NOT miss this show!

Ext. Library Podcast XPages

NotesIn9 115: XPages Data View Control Part 1 – Implementation

In this show Brad Balassaitis comes back on to give a great demo on how to get started using the Data View Control.  There’s a lot of power in the Data View Control and I highly recommend checking it out.

In other news, recently I did a webinar for called “Getting Started with XPages”.  I presented that with Marky Roden and we want to thank those who attended.

Niklas Heidloff has now posted the video, audio and slides to the presesentation.  Here’s the link to find those.

Community Ext. Library

XPages Extension Library vs. Upgrade Pack 1

I got a question today from someone who looked at the slides that Kathy Brown and I did from IBM Connect”

while reading your presentation XPages: No experience Needed I noticed the your screenshot of the layout control differs from what is displayed here in designer.
we downloaded openntfextensions (ExtensionLibraryOpenNTF-853.20121022-1354) and installed ’em (test/-developer-server and developer-client). everything went fine and  layout control was just like shown in your presentation.dragging the layout control to the panel surface opened up the config dialog. we did some playing around but because of official ibm support for upgrade pack 1 we decided to jump on the upgrade pack train and give it a try. but it seems as if upgrade pack 1 is a little bit outdated in comparrison to openntfextensions – e.g. the layout control doesn’t show a config dialog.

would installing upgrade-pack 2 improove things and also update extensions controls like layout or do we have to stick with upgrade pack 1 and live with it?

perhaps you can help and give us a short hint. thanks in advance.

Here’s my personal opinion of Upgrade Pack vs. Ext. Library.

Always use Ext. Library.

Yes – Upgrade Pack is “Supported” by IBM but I honestly don’t know what that means.  Sure you can make a PMR but I’m not aware of IBM providing hotfixes for bug fixes for the upgrade pack.  Honestly I’m not personally aware that there will be an Upgrade Pack 2. I THINK there’s an “Upgrade Pack 2” that’s specific to Traveler. I don’t know of a second Upgrade Pack for the Ext. Library stuff for Domino 8.5.3.  I think that the path is to go Domino 9 which pretty much has it built in.  I could be wrong on those points though.

But I do know that even though Ext. Library “is not supported”, it has been getting fairly regular bug fixes and updates.  I believe Upgrade Pack 1 came out late 2011.  Just checking the OpenNTF project I can see that there were 7 releases of Ext. Library since then. Most of those releases are bug fixes I think. So to me, I think Ext. Library has much better real support.

Now I’m a developer at a private company, and we put Ext. Library on all our servers.  Honestly I’ve never downloaded or touched Upgrade Pack 1.  Granted, at my company I have the luxury of working with Declan Lynch, a top Domino admin. But even so, I can’t imagine a situation where I would lean towards Update Pack 1.

Now there is more “risk” with Ext. library in some cases.  At one point the Ext. Library changed some names and that might have caused some people some problems. We use Ext. Library heavily and I don’t think we were heavily impacted by that.  But even though something got changed, so what?  Apple, and Microsoft, and Google change “supported” things all the time.  So I don’t see a big difference here.

I hear from friends and others that they use Upgrade Pack 1 because “customers require support”. I just don’t know what that support really means.  What’s sillier is that some of the same people that run Upgrade Pack 1 for IBM support also ask how to install the experimental pieces from Ext. Library for Relational Database support etc…  That makes no sense to me.  Now they’re asking to run unsupported software in and unsuported configuration.

Domino 9.0 is being released on the 21st it seems.  That has most of the core Ext. Library built in.  My recommendation would be to move to that as soon as possible. I know we are.  I believe there will then be an Ext. Library specific to 9.0 but that’s just a guess.  I’m anxious to hear the Ext. Library plans for 9.0 myself.

It was funny when Kathy and I did that presentation.  She used Upgrade Pack 1 because as a consultant that’s more desirable to her.  I was on Ext. Library and we did see some issue as I had bug fixes that she did not. Was a bit of a pain really.  But don’t tell her that! haha

I’m blogging this in case anyone wants to comment and you can get more opinions.

Hope this helps.


Driveto99 Ext. Library Notes In 9 Podcast

NotesIn9 83: Using the XPages Dynamic View Control Part 2

In this show Paul Calhoun comes back on to continue where he left off in part 1 and shows us how to get the dynamic view control working with the layout control.

Before we get to Pauls demo, I also discuss a couple of things.  The first is a review of how to navigate the various NotesIn9 resources on the web –,, and and the second is a little discussion on Scoped Variables and some best practices in my opinion.

Demo file for the show

Ext. Library Learning XPages

New XPages Extension Library book is OUT!

Congrats to the authors!!!

I’ve heard that this book is being delivered now from IBM press. It’s not on amazon just yet but it IS available via Apple’s iBooks store. At least in the US.

I’ve looked at the rough draft of this on Safari Books online, but just look at the list of authors to know that this is HIGHLY RECOMMENDED!

More on a future NotesIn9!

Ext. Library Notes In 9 Podcast

NotesIn9: 064 Global Custom Controls (Fixed)

In this show Tim Tripcony comes back on the show with an amazing demonstration on how to take an existing custom control and make it globally available to all the applications on your server.

I’ve had many conversations with Tim, and he’s so far ahead of the game I’m usually pretty happy if I understand 50% of what he’s trying to say. But in this demo, which is a more advanced topic I was able to really grasp what was going on.

Hope you like the show!

Ext. Library Learning XPages Notes In 9 XPages

NotesIn9: 049 XPages: Login and Logout

In this show I take a look at how to use the Login and Logout node of the Extension Libraries Application Layout Control. It should be noted that currently there’s a bug in the extension library where the logout piece doesn’t actually work. So I demonstrate how to get around that until it gets fixed.

Some code from the show:

Setting the “Can Logout” ability:
sessionScope.put(“extlib.user.canlogout”, true)

A link for the manual logout node:

href = facesContext.getExternalContext().getRequest().getContextPath() + “?Logout&redirectTo=” + facesContext.getExternalContext().getRequest().getContextPath()

Control rendering on the manual logout node:

var uName = session.getEffectiveUserName();
if(uName == “Anonymous”) {
return false;

else {
return true;