What does the Upgrade Pack 1 mean for me?

So yesterday we had the release of Upgrade Pack 1 sprung on us by Ed Brill. Overall this “A Good Thing” but there is quite a lot of detail which was missing from the announcement.

This was a problem for Warren and I as we’re presenting a session at Lotusphere on the Deployment and Management of XPages, so a swift bit of research and slide rewriting has been in order this morning.

Essentially the Upgrade Pack is a new version of the Extension Library just installed in yet another way. If you’re running the Extension Library in 8.5.3 already then you’ll need to uninstall it from your Domino Designer and from your server before installing the Upgrade Pack (this may be harder than you imagine, it took me several tries on one machine and simply refused to work on another so I had to delete the Workspace directory!)

I haven’t had time to fully test my applications, but from my initial testing it appears that an application written using the November 19th version of Extension Library will work just fine running on an Upgrade Pack 1 server so from the developer’s point of view this whole process is relatively painless. You just need to decide in your organisation whether you’re going to run with the Extension Library or the Upgrade Pack. I’m sure over the coming weeks and months the pros and cons of either approach will become clear, but for the moment if you want a simple life then Upgrade Pack seems to be the way to go.

What is less clear is how this affects the singnificant admin in your life. I’ll let Warren cover this in more detail in our session at Lotusphere, but at the moment it seems as though it’s going to be quite difficult to deploy and manage the Upgrade Pack in a large or complex environment so bear that in mind when making decisions.

And for reference the part number on the IBM site is CI5HUEN and the version number (thanks to Warren for this) is (i.e. significantly later than the current version of the ExtLib on OpenNTF).

My Lotusphere Sessions

I’ve been lucky enough to get two abstracts approved for Lotusphere 2012. This is the fourth year that I’ll be speaking at Lotusphere and the prospect gets no less scary!

This year Tim Clark and I will be on stage together again to present XPages Blast:

Tim and Matt will take you on a roller-coaster ride through the best of the best ideas and time saving techniques for creating world class XPages applications. 30 all new top tips in just 60 minutes is going to be fast paced and packed with loads of information you will refer to time and time again. Everything from introductory tips for get started with XPages, all the way through to complex tips such as making use of Java. Please fasten your seat belts and keep your hands in the car at all times.

We presented this last year and had a great time so expect a similar format, but all new content.

A new session and presenting partner for my second abstract. Warren Elsmore and I will be talking about Deploying and Managing XPages Applications

If you’re a developer wanting to release your XPages application and you need to think about the “real world” of servers and admins. Or if you’re an admin and you have developers chasing you to get their shiny new XPages applications released then this session is for you. We’ll take you through the things to think about from both sides of the fence. We’ll share tips and tricks, issues which may catch you out and the best practice for releasing your applications.

We plan to talk about putting XPages applications live from the view of the developer (me) and the admin (Warren) and all of the tips and tricks we’ve learned over the last couple of years.

As ever the deadline for slide decks is insanely early so expect a bit of radio silence from me and other speakers while we feverishly prepare for Florida next month.

The debugging benchmark

The two Marks of Barton and Myers tweeted out a YouTube video which is really worth watching:

What it shows is some of the new features which the debugger in the Flash development environment, which is built onto Eclipse, will offer.

The headlines are being able to step backwards as well as forwards through code and also to right click on a variable to see why it is set the way it is (ie a live stack trace) and how we got to the current line of code.

In contract with SSJS in XPages we get to use print statements. I’m sure this is being looked at to improve, but Adobe has certainly set the benchmark in the IDE space.

Yet another day wasted on IE

I’ve just spent more than eight hours working on a single bug in IE.

In a classic Domino web application which I work on, we have a complex form which was working just fine when we developed and tested it. But then users started reporting their Internet Explorer clients were hanging intermittently. We finally got a test case where we could reproduce the problem.

When the user selected an option from a combo box, a new row is added to a table and displayed for them to fill in some data which is required. Nothing too odd there. And again this worked fine for us, until we opened the form inside an iFrame. Our application is part of a much larger application and the end user doesn’t know that when they click a certain link they are suddenly running on a Domino server inside the iFrame.

So cue me spending a whole day assuming this was a JavaScript problem, it only seemed to happen when the onChange event of the combo box fired, if I disabled the JavaScript then it worked fine, but the hang was after the JavaScript had finished executing (at least the debugger said so). 

Then on a hunch I removed all of the CSS from the form. And it suddenly started working. It didn’t look very good of course, but at least I now just had to track down the offending line of CSS. 

In the end it turned out to be a div which wrapped around the whole page which had a class assigned that set float: left. As soon as I removed that one line of CSS the page worked absolutely fine. I still don’t really understand *why* that single change fixes the problem, but maybe it will help someone else.

So, just to recap, the symptoms we’re looking at are IE (8 in this case) hanging after an onChange event fires which causes some new HTML to be rendered into a page which is running inside an iFrame. And the solution is to examine, very closely, your CSS.

Once again I’ll say it. The quicker the world is rid of IE then the happier I will be.

Sixty not out

Today I uploaded the 60th video to xpages101.net. It’s taken me over 18 months to get this far and there are no plans to stop adding more content. In fact with the announcement of the 8.5.3 release date, there are many more areas which need to be covered. Expect to see a rash of new videos over the next few weeks.

I thought I’d post some of the stats for the site so far.



In the last couple of months I’ve had the 250th subscriber sign up for the site, and more are joining weekly. Since the site was re-designed earlier this year it’s also easier to submit your own lesson ideas if there’s something which I’ve not covered yet and each of the lessons has a comments section to clarify points or add you’re own thoughts on the lesson.

And finally, to celebrate the 60th lesson being uploaded, here’s an offer for you. If you use the coupon code “60notout” at checkout, you’ll get a £60 discount on your purchase. Just head on over to xpages101.net to get started.

New XPages Course in Vienna

I will be teaching a brand new four day XPages course in Vienna next month. The first day will be covering the tried and tested XPages101 introduction to XPages class. But then for the next three days we’ll be covering a *lot* more content. Everything from Dojo to Server Side JavaScript, Java and Managed Beans.

If you come along to the course then I promise a couple of things. By the time you go home you’ll have a solid understanding of XPages. And your head will hurt as we’re going to cover a lot of ground!

If you’d like to come along, the sign up for the course can be found here.

Dojo Charts and IE

I’ve just spent the better part of three days working on a suite of Dojo Charts for an application. They are usually pretty easy to get going and look as good, if not better than a lot of the flash charting tools out there. But, and there’s always a but isn’t there, getting the charts working in IE can be a real challenge with very little in the way of guidance.

So here are three tips which I shall pass on learned through bitter experience over the last few days…

It may well look as though you can initialise your charts using in line JavaScript and, indeed, it will work absolutely fine in Firefox, Safari, Chrome and other “modern” web browser. Not so much with IE. So break your initialisation code into a function and call it from the either the onClientLoad client side event in the XPage or using XSP.addOnLoad(init) depending on your preference.

This was a weird one, and took me ages to find. But one of my charts requires the user to select some options and then I fire a partial refresh of the page to generate the JSON data which populates the chart. But if the data which is returned by the AJAX request (the partial update) begins with JavaScript which needs to be evaluated then you may find in IE that the code is not being evaluated. So the JSON objects I was generating were not available for use in the chart. The solution, and it still grates me that I had to do this, was to add an empty, hidden div at the top of the area which is being refreshed, then the JSON data will be processed correctly.

Finally another thing which I had to do to make my code less efficient was re-write the way that I was generating some of the JSON data. One of the charts has multiple, variable numbers of series of data depending upon what the user selects. So I was generating each series of data to be a JSON object inside an array of JSON objects that I just looped through when building the chart. But no, it seems IE doesn’t like accessing multi dimensional arrays of JavaScript when building charts, so instead I had to create a different variable for each JSON data series and reference them using evaluates.

So the lesson from all of this is that, a) do your initial development in Firefox or Chrome, b) never, ever under estimate the amount of time you’ll need to spend getting the bloody thing working in IE.

XPages201 TackItOn Day

IamLUG is just a week away and I have been remiss in not mentioning the XPages201 training day which I am running next Wednesday after IamLUG in St Louis.

This video explains a little more…

The aim of the day is to dig a little deeper into XPages if you’ve been playing with them for a few months. So I’m going to cover some of the basics that I’ve seen commonly misunderstood, like Scoped Variables, but then also we’ll look at some more advanced things such as using Java and Managed Beans in your XPages applications.

If you’d like to sign up then head over to XPages101 and if you’re already registered for the IamLUG conference itself, don’t forget to use the discount coupon code which you received in your confirmation email for a $100 discount.

Gone Fishing

I’m heading off on holiday for a couple of weeks from today. First port of call is Montreal and then we’re going Newfoundland to explore for a while.

I’ll be checking into email every so often but I will not be responding to much in the meantime.

See you later in July 🙂

Glastonbury 2011

For the last few days I’ve been living in a field in Somerset along with 170,000 other people enjoying the varied delights of Glastonbury Festival. If you’re from the UK then you’ll know it well, it’s pretty hard to escape on the BBC, but if you’re from the other side of the pond then you may not have heard of it before. Basically it is the largest music festival in the UK, there are, I believe, more than 50 stages and hundreds of acts who play over three official days of the festival, and it’s all hosted on a farm in south west England.

Those of you who know me well probably wouldn’t expect me to have gone to such a gathering and to be honest I’m slightly surprised myself! But I was persuaded to go and go I did.

Although the music doesn’t start until Friday, the site opens at 8am on Wednesday and, if you want a good camping spot then it’s advisable to get in their as quickly as you can. We got to within 3 miles of the site by 8am but so did tens of thousands of others so we ended up queueing in the car for about 2 hours, worryingly the rain also started to fall fairly heavily. But the time we got into the car park (field) it was already fun and games with wheels spinning all over the place. But we got parked ok and loaded up our rucksacks, tents, etc and started the walk onto site.

Again with so many people trying to get onto site we had to queue, this time for 2.5 hours and it was still raining. I’d like to say it was fun, it really wasn’t. By the time we got to our camping spot very kindly saved for us by others in our group who had managed to get in quickly, it was still raining and we had very sore arms and shoulders and very wet gear. No matter, actually pitching camp was simple and we were off to explore. It’s hard to imagine the scale of this temporary town which is built from nothing. There are more food vans than you’ve ever seen in your life in one place, plus various other assorted stalls selling pretty much anything you can think of. It’s one of the reasons that it’s worth getting in early to site, it takes a couple of days to have a look round at everything before the music actually starts!

Full Set of Photos on Flickr

So the rest of Wednesday and Thursday were spent wandering round the site, getting to know the place and just generally relaxing. Well as much as we could in the intermittent rain. I guess I should mention the mud. Boy there was a lot of it. That many people and that much rain on essentially fields means that it very quickly turns into a bog. At various point through the weekend the mud got as deep as six inches, making walking a challenge, but surprisingly, once the sun was out it dried out very quickly. The Friday especially though it rained for well over six hours straight and by the end of the evening it was pretty depressing.

But the real reason we were there was for the music and there was a lot of it to choose from. Seemingly the biggest challenge of the weekend is to work out how to see all the bands you want to see. In the end it is simply not possible so you have to pick your route carefully. The one thing I had assumed watching on the TV in the past was the you could get from stage to stage pretty quickly. In reality you’re looing at a 30 minute walk to get from the Pyramid (main) stage to the Other (second) stage.

I won’t review all the bands we saw other than to say they were almost exclusively brilliant which is pretty surprising in itself as, over the three days we saw more than 20 different acts. So here’s that list in full:


  • Metronomy
  • The Naked & Famous
  • Guillemots
  • The Wombats
  • Fleet Foxes
  • Radiohead
  • U2


  • Stornoway
  • Tame Impala
  • The Early Edition
  • Graham Coxon
  • The Walkmen
  • Paolo Nutini
  • Elbow
  • Coldplay


  • Fisherman’s Friends
  • The Low Anthem
  • Don McLean
  • Laura Marling
  • Paul Simon
  • The Go! Team
  • Eels
  • Kaiser Chiefs
  • Queens of the Stone Age

The stand out acts for me were Elbow on Saturday who performed a greatest hits act in front of 100,000 people and had every single person in the palm of their hands. It was incredible to see and be a part of. I wish we’d seen more of Fleet Foxes on Friday, the reviews I’ve seen were not good but I thought they were brilliant. On Sunday, Eels were surprisingly good and then Queens of the Stone Age to finish things off were superb.

Getting off site was almost a much fun as getting on. We packed up the tent after midnight when the last acts finished and headed for the car. It took an hour to walk there but then on the upside only 30 minutes to drive off site thanks to the location of the car park. I was very tired so stopped for a 20 minute cat nap at the side of the road, but even so we managed to get home by 05:30 on Monday morning. Tired but happy.

I suspect that it’s all a little to close in the memory for me to decide overall what I thought. My immediate reaction is that I had a great time, and am very glad that I went (belatedly) to my first Glastonbury Festival. Will I go back in the future? Well there’s a couple of years to decide as there is no event in 2012. We shall see.