XPages Workshop in Amsterdam

I flew over from to Amsterdam from London this morning (easiest journey ever by the way, City airport shows that it is possible to have a vaguely pleasant travel experience still) to prepare for the two day XPages course which I’m helping to run with Clear IT Consulting this week.

I’ve not been to Amsterdam for about 18 months, and I suspect I won’t see much of the city this trip, but I do like it a lot over here.

This is continuing what is, for me at least, a busy month of travel with Belgium last week, a trip to Newcastle this weekend on which I’m sure you’ll hear more (although not maybe in the blogosphere), and then Denmark next week. It’s good to do travel some times and I’m lucky enough to be an infrequent enough flyer that it’s still a novelty for me. So I’m planted in the hotel this afternoon just continuing with my normal development work and then heading over the training room this evening to make sure everything is set up for tomorrow morning.

As Ben says, “Ah the life of the jet setting freelancer”. Indeed.

Looking back at BLUG

This week I (and several other’s from the UK) headed over to Brussels for the Benelux Lotus User Group (BLUG) being run by Theo Heselmans and others. The first thing to say is that, from a speaker’s point of view, Theo has really raised the bar for us involved with ILUG and UKLUG. We were treated unbelievably well, I can’t thank all of the people involved enough for the hospitality they showed us.

But the really important thing is the content on the day itself. From what I could tell the 200+ people were very happy. The morning was given over to the “official word” from no less than Alastair Rennie. He gave an interesting rehash of the Lotusphere OGS, there’s always good content in there that gets missed the first time around. You can see the live blog of the OGS here.

In the afternoon, the BLUG organisers tried a different approach with up to five concurrent sessions running at any one time. It certainly suited the venue which had plenty of slightly smaller rooms. So in the room I was speaking in we basically had a three hour XPages geek fest with sessions from Tim Clark and Paul Withers along with mine. Right through the afternoon the room was packed and no one walked out which is always a good sign of people actually getting value from our speaking 🙂

<selfpromotion>I’ve published the slides and supporting database for my session over on my presentations page so feel free to download it. Also don’t forget the “blug2010” coupon code for XPages101.net. </selfpromotion>

As always the best thing about User Groups anywhere in the world is the new people you meet, so it was goof to finally put some faces to names I’ve known for a long time in the Lotus Community and also meet some completely new people as well.

This month is turning into a bit of a travel / community affair with upcoming trips for me to Amsterdam next week for a two day XPages course (I think there are a couple of spaces still free if you want to come along) and then Dannotes the week after in Denmark.

For anyone organising community events, then Theo et al have certainly raised the bar.

Eight today

Today is the eighth anniversary of my blogging life. It seems fitting somehow that I’m at a community event for this as by far the best thing about the blog is all of the great people that I’ve met through it in some way over the years. So, here’s to another eight years, and here’s to the wonderful Lotus community.

Off to BLUG

On Monday I’m jumping on the train to Brussels for a couple of days to enjoy the Belux Lotus User Group meeting. It’s promising to be a really interesting event with some great speakers lined up, and a keynote from none other than Alistair Rennie. This is a huge coup for Theo and the rest of the organisers to have lined up.

I’ll be presenting a session on XPages development (who’d have thunk it?) and there are other really interesting looking sessions from Tim Clark, Paul Withers, Stuart McIntyre, Warren Elsmore, Gabriella Davis, Eileen Fitzgerald and Thomas Bahn, and they’re just the people I know. I’m really looking forward to seeing several of them as I didn’t get to see much as Lotusphere.

The event is looking like it will be great fun, so if you see me wandering around stop me and say Hi.

Also, in celebration of the event, I’ve set up a coupon code for XPages101.net which will run for a couple of weeks. Just enter “blug2010” at checkout for a big discount on the cost for access to a large, and growing, suite of videos about XPages development.

The Settlers of Catan

It’s been one of those really great weekends where everything is very chilled out and goes right. One of those things was an evening last night playing a board game that had completely passed me by until now.

The Settlers of Catan is like a cross between Monopoly, Risk and Civilisation. Our single game lasted around three hours and generated a huge amount of bargaining, nastiness and laughter. If you’re looking for a game which will while away several hours, requires a lot of strategy and is actually quite challenging then this is the game for you.

The Big Libel Gig

Last night was the Libel Reform Big Libel Gig in central London. A benefit evening to raise money for Dr Simon Singh to continue the libel court battle he is currently defending (and has been fighting for two years now). The serious element of this is that the libel laws in the UK are ludicrous. It is very very easy to get sued (and not just by people from the UK, we are currently the home of libel tourism for the rest of the world due to the inequities of our legal system), and very very difficult to win. Even if you do win, as in the case of Ben Goldacre, then you are still likely to be massively out of pocket on costs.

Robin Ince has a very nice sideline in setting up these benefit / multi performer evenings. By all accounts last night was quite similar to one of the Nine Lessons For Godless People evenings at Christmas. This is “a good thing”. When you’re able to get Marcus Brigstocke, Ed Byrne, Shappi Khorsandi, Brian Cox (yes he of Lotusphere 2010 fame), Simon Singh, Richard Wiseman, Ben Goldacre, Dara O Briain and Tim Minchin into less than four hours, you’re onto a winner!

Of the evening, I thought Marcus Brigstocke, Brian Cox and Dara O Briain were just superb. Very funny, and inspiring.

What’s more important is that the money raising continues for the legal battles that are currently going on. You can find out more at libelreform.org

Notes and Domino 8.5.1 – The Upgrader’s Guide – Review

So this is the official 387’th review of IBM Lotus Notes and Domino – The Upgrader’s Guide. Finally every Lotus blogger in the world has now received a copy of the book!

It’s an odd situation for me to find myself in, it’s great to see a book being published about Notes and Domino again. There’s not really been anything of value for the developer since Rocky and Brian’s seminal Notes and Domino 6 Programming Bible which was published seven years ago. And I wish I could say that this new book from Packt Publishing was worth buying, but from the point of view of the developer there is really very little of value in here.

What we (and by we, I mean you and I, the gentle, unappreciated Notes/Domino developer) get is 40 pages of basically extended release notes with very little detail about how to do anything with Notes and Domino programming. To take my favourite topic, XPages as an example, there is a single page that just says “and we now have XPages, yay!”. There are books of material that could be written about the subject on it’s own. It’s faintly ridiculous to just skirt over this whole new programming paradigm in a single page.

So what is the point of the book? I’ve been trying to work out who it would add value to and I am really struggling I’m afraid. I guess, at a push if you have an R6.x based environment and you just want to spend a couple of hours getting the list of new features straight in your head then you could do worse than reading this over a couple of hours. Hardly a ringing endorsement really. The problem that the writers and publisher faces with a book of this style is that it doesn’t really know what it’s trying to achieve. Now if there was an XPages Bible in the style of Brian and Rocky’s book then I would probably end up with several copies but this upgrader’s guide is just not any use to me.

Upgrading to Mootools 1.2

With the release of IdeaJam 1.7 (in beta at the moment, but going “Gold” soon enough), we decided to upgrade the Javascript framework that we use, MooTools to the latest and greatest version. Normally this isn’t even worth commenting on, but this change was a big’un as a lot of the underlying API changed from version 1.1 to 1.2. Similar changes have happened with Dojo in the past in the shift from 0.4 to 0.9 and a very positive move it was too. The problem is that it’s a painful process of rekeying quite a lot of code.

So I thought I’d go through the resources I used and the main changes which we faced with the upgrade to help anyone else going through the same process, although to be fair we are quite late to the party with MooTools 1.2 as it was released in the middle of 2008.

There are a couple of really useful websites which document in quite a lot of detail how old style 1.1 syntax should be modified for 1.2. My favourite was this page on the Github Wiki: Conversion from 1.11 to 1.2.

Another page you might find useful is this.

The areas which we spent most time on were retooling all of our Ajax requests behind the scenes (which was the reason the Chrome bug I mentioned recently was introduced). So the main thing to be aware of is that the syntax for an Ajax request changed from something like this:

new Ajax(url, {
method: ‘get’,
onComplete: processResponse

towards something like this:

new Request({
url: url,
method: ‘get’,
onComplete: processResponse

The other thing which caused us a little trouble was with the tooltips we use on the Dashboard page in IdeaJam. When I say trouble, it took about an hour to fix, we’re not talking serious effort here! Anyway, the default CSS settings changed a little, so we just had to add a few extra lines to our CSS file, no biggie.

Finally for areas which you’ll want to be careful with, it’s third party add on functions and code. For example we use Phatfusion’s sortableTable class in the Top Innovator’s screen. This was written for MooTools 1.11, so I had to make some changes for it to work properly with the new version.

From an IdeaJam point of view, the reason for the upgrade was so that we can start to use some of the newer Clientcide plugins in areas that may not get much airtime on the public IdeaJam site. One of the main customer feature requests for this new version is what we call the “Implementation Plan”, it’s the first feature to use some new MooTools functionality, but you can expect more in the next few weeks as we add a new way of linking ideas together.

So why should you use MooTools? Well to be honest, these days most big web shops seem to be going with jQuery and there are a lot more resources out there for that framework. But I still have a soft spot for MooTools, it seems to fit the way I think which is an important consideration when you’ll be spending days, weeks or months using the API.

Really the main benefit of MooTools these days is the wonderful Clientcide add ons which handle the UI side of things and the superb documentation and also the core and more builders which allow you to configure the javascript files which make up MooTools to such a degree that it will do exactly what you want, a great boon for managing your deployments.

Be very careful with your content type for Chrome Ajax requests

We released the first beta for IdeaJam 1.7 today. There are *tons* of changes under the covers including the new MooTools 1.2 framework, on which you can expect more later this week.

But for the moment, I thought I’d pass along one little tip which we ran into. Inevitably during our own testing we had missed this bug. When you’re in an idea you can “Click to show votes” and what happens behind the scenes is that an Ajax request is fired off to our votes database, an agent runs and send back a list of the votes related to that idea, when they were cast, who by and so on. That agent had been set up with the following code at the start:

Print |Content-Type:text/javascript; charset=utf-8|
Print |Cache-Control: no-cache|
But what we are actually doing is pre-building some HTML and then just inserting it into a div, it saves a little bit of browser processing time this way. But in Chrome we were getting an error:
Uncaught SyntaxError: Unexpected token <
It took a while to track down the problem, but now I found it, it’s obvious. The content-type of the agent needs to actually be set to text/html, not text/javascript. All of the other browsers worked fine with this oversight, even Safari which is a fellow Webkit browser, but Chrome seems to be a lot more picky. So this is just a reminder to make sure you’re very precise with what is being sent to Chrome from your server.


XPages101 Online is here

One of my big takeaways from Lotusphere this year was that there is a huge appetite for XPages training material. I had already got my classroom based XPages101 course lined up, but now that that’s done, it’s time to turn attention to the rest of the world and the online format.

So what I’ve come up with is a new website (same URL as before though) at xpages101.net. From here you can see the details of the classroom based course but there’s a whole other section of the site devoted to online material. Now to make this work for me (I run a small business on my own and this stuff takes a *lot* of time to put together) there is a charge for the content. But I’ve tried to make it as appealing as possible.

You have two choices, either a single user account or a five user account. In both cases you’ll get full access to the site, all of the videos and support content for a full 12 months. The aim from my side is to keep on adding new videos every week or two for as long as there are interesting things to talk about. I just worked out what I have to create lessons on and it will take me well into May just from my initial list!

Also, to thank you for your early interest in the site, you can use the coupon code “earlybird” at check out and get a 33% discount until February 26th.

So please, go and check out the site, let me know what you think and if you have any areas that you’d like covered the please either comment here or use the contact us form on the site.