CSC Event in March – Agenda published

Now that we’re all home from IBM Connect and pretty much recovered from the Zombie flu, it’s time to move on to the next event.

The LDC and Turtle Partnership are putting on a day long conference and meeting to discuss collaboration software.

Do you work with collaboration platforms? Then come and meet your peers at a Collaboration Stack Community event.

This is a technologically agnostic networking event for those who work or are interested in collaborative software. Our goal is to create space for ideas, to learn from others and get a view of how various sectors like cloud, mobility and security are unfolding.

It’s a chance to step back, consider and develop your strategy in the context of others’ experiences. We hope you come along with a willingness not just to listen but also to share.

Whilst making new contacts, you can share ideas, debate best practice and explore emerging technologies.

There will be presentations from people with huge amounts of cross-industry experience, but this is not to be a passive event, we want to hear from you – What challenges are you facing?

And after each session there will be the opportunity to thrash out new ideas.

We’ve published the draft agenda today so that you can hopefully get a better idea of what we’re planning. You can view it here: and if you want to get involved either as a moderator then please contact us, hopefully the day will be informative for us all.

The event is, of course, free to attend. You can register over at Eventbrite.

The obligatory post Connect round-up

Well I’m home, watching the Six Nations from the sofa, recovering from the usual tiredness that a week in Florida in January inspires.

Although I felt as exhausted as ever when I got home, it’s for a different reason this year. Far fewer heavy nights and far more work commitments. And this isn’t a bad thing, just different. Of course there’s the sadness at friends not being there as usual, it was especially weird to not have Bruce and Gayle around.

The content for the week was generally quite interesting with the announcement of Mail Next raising lots of questions. Very few answers at this stage but if even half of what we were told comes to pass then the required changes to the back end Domino server will make us devs happy people.

This was also the first year where my focus shifted slightly towards Connections. The session which Mark and I presented seemed to go well and hopefully people are a little more aware of the integration possibilities with Domino, I see a lot of that sort of work in the near future. XPages continues to grow of course, but there was not quite the focus on Domino as in previous years. If you are still tied exclusively to Domino and hadn’t yet read the tea-leaves, take this as a klaxon warning. Learn Java now, we’ve been saying this for over a decade, but at this point you basically have no choice.

The other major focus of the week was my work with the Unplugged Controls; project which we did a couple of presentations about. It was great to see so many people interested in mobile in general and our project in particular. We promised that there will be regular updates and, indeed, this week I will be making the last few changes to the 3.1 release before testing begins. Teamstudio won the CTO and Best of Show awards which is a great achievement and I’m very pleased to have been able to be involved in a very small way. If you haven’t yet checked out the Unplugged tool then it’s worth a look if you want to dip a toe into mobile development.

So will I be back in 2015? At the moment it’s a cautious “yes” with the caveat that if there is no technical content (as has been rumoured) then it will be much harder to justify. I still think the annual pilgrimage is time well spent, I just hope that IBM continues to as well.

Announcing a new type of networking event

Last year saw the end of UKLUG, but we wanted to try something a little different this year. So together with the Turtle Partnership we’re arranging a technical event on Friday 21st March  where we hope to have presentations, but also discussions among the community of people who work with collaboration software. We’ll be including content for developers, administrators and more general round table discussions.

There’ll be a lot more content announced over the next few weeks, but for the moment, if you collar Gab, Tim, Mike, Mark, Julian or myself at IBM Connect next week then we can tell you a little more about our thinking.

So please keep an eye on for more details as we arrange registration and line up speakers.

Tip for working with Issues in Github

If you use Github then you could do worse than use the Issue tracking functionality which is built into the site. It’s simple but works for even relatively big project, we use it on the Unplugged Controls project for example.

When you commit your code which is related to an issue, if you prefix the issue number with a hash (pound sign) then the commit will automatically be linked to the issue for future reference.

If you prefix the # with the word fix then the issue will automatically be closed. So a commit might be:

Changed function getUserName() to fix #123

This will automatically close issue number 123 when you sync with Github.

Just a quick tip, but it makes life so much easier!

Friday afternoon, in which Matt was an idiot

So I just spent an hour on a call with a client trying to track down a problem in an application which just eluded me. A very odd error message showed up after creating a document:

Could not create the page /.xsp because the class Xsp_002e could not be found.

Of course I spotted what the problem was as soon as I hung up on the phone, guessed yet?

I had forgotten to change the launch options for the application to open an XPage, so the XPage field was left blank like so:

Blank XPage property

Blank XPage property

The simple solution was this:



And that’s probably an indicator that my brain is fried this week!

XPages rendered fields issue

I mentioned last week that we’re working on a large XPages Managed Bean project at the moment. I managed to come across a problem which seemed so basic that I couldn’t believe that I’d not seen it before. Well after wasting a day on it, Stackoverflow came to the rescue with various people helping out. Just another demonstration of what a great community we are lucky enough to work with.

So my issue was related to progressive disclosure of fields. The idea was that field 1, a combo box was selected and then based on the value chosen, difference fields would be displayed. What was happening was that the fields were displayed, but their values weren’t being stored when the document was saved.

The fields were being hidden and showed by computing their rendered property. But if I computed their styleClass property and hid or showed the field using CSS then it all worked fine, but that was obviously a hack.

So the underlying problem is associated with the JSF Page Lifecycle. If the field is not “rendered” into the base view of the page when it is first loaded then it will be ignored when submitting data back to the server. The solution is simple, we just have to added a check to our rendered computation to decide which stage of the lifecycle we’re in. Unless we’re in the final rendering phase then we will always “render” the field to the view, but when we get to the actual rendering phase we can apply our business logic and hide the field from the user’s display.

In SSJS the code will look like this:

if( view.isRenderingPhase() ){
return MyBean.shouldIShowField();
return true;

In Java, then I’d recommend using Tip Tripcony’s JSFUtil class, and then you can use something like…

public boolean showMyField(){
if (JSFUtil.getViewRoot().isRenderingPhase()){
if (shouldIShowMyField()){
return true;
return false;
return true;

I’m still unsure how I’ve never come across this issue before, but thanks to the XPages community at least I now have a solution.

Eclipse / Javadoc tip of the day

I’m working on a large XPages project at the moment which is almost exclusively Java. In fact one of the key deliverables for the project is that we are not allowed to use SSJS unless we can specifically justify every single line!

One of the other key deliverables is a useful Javadoc package be produced at the end of the development phase. It’s one of those things which sounds easy enough, but I find that time after time I forget to write the Javadoc comment for a new function that I create, my mind is in coding mode and I move onto the next thing. Going back and doing documentation is very very boring (why do you think I’m displacing and writing this blog entry!) so I had a quick dig into the huge Preferences window in Eclipse (well Domino Designer in this case, but it’s the same thing).


Guess what I found under Preferences -> Java -> Compiler -> Javadoc -> Missing Javadoc comments? I can choose to generate a warning or an error when there are missing comments, this makes it much easier to keep on top of things as I go along.

Now I have no choice but to get back to my documentation!

My IBM Connect Sessions

This year I am lucky enough to be rather busy during the week at IBM Connect, so here are the details of the formal sessions. I’ll also be working a shift or two on the OpenNTF stand and probably visiting the Teamstudio stand quite a lot to talk Mobile Controls. So if you see me please come and say Hi.

SHOW303 – Proper Connections Development for Proper Domino Developers (with Mark Myers)

Tuesday | 10:30-12:15 | Swan Osprey

This is a session with a mission: to take a much loved IBM Domino app and deploy it to a client’s new IBM Connections environment. We’ll show different solutions such as the use of iWidgets or creating a REST API to make the application available to IBM Connections users and walk you through the process, from beginning to end. If you’re an IBM Domino developer who knows nothing about IBM Connections, this is the session for you.

BP201 – Creating a Mobile Application Framework with XPages (with Rich Sharpe)

Tuesday | 15:00-16:00 | Dolphin S Hem III

If you create a lot of mobile web applications, you may notice other frameworks such as JQuery Mobile and the XPages Mobile Controls just don’t do exactly what you need. So we created our own, specifically designed for XPages. In this session you’ll learn about the open source framework that’s been have created. We’ll show how it allows you to quickly drag and drop standard custom controls into an XPage to create a mobile application. We’ll also talk about the process of creating an open source project and future plans.

BOF – Creating an Open Source Unplugged Mobile Controls User Group

Not sure on time and location yet

Most User Groups meet up at tangible, real world locations. We’d like to create a User Group for the Open Source Unplugged XPages Mobile Controls Project that would be virtual (mobile) and get input from what developers would like to see included in this project. We will discuss how we can set meeting times and places on a wider (global) scale and discuss what other UI frameworks (Bootstrap JQM etc) have that the current project does not and how we can each contribute to extending this project.Debates on what people have used that have worked well, and not so well as well as performance tips to get mobile apps that use these Controls running faster.

End of year wrap-up

After a fairly dramatic 2012, this year was always going to be somewhat quieter, and it was needed.

January saw the formerly yellow masses head to Florida as ever. I had gone with some trepidation and fear that it would be the last hurrah for Lotusphere, but it turned out to be a great year, at least from my point of view. It seems fewer people may be going in a few weeks for the annual pilgrimage, but hopefully even if we’re missing some familiar faces the same old magic will still be there. Things are already looking pretty busy for me.

I did three other “LUGs” this year, IamLUG and BLUG continue to be great events and I’m hopeful that I’ll be able to make it to both of them again on 2014. UKLUG (or ICONUK this year) was something a bit special as it was Warren and Kitty’s swan song after 8 years of organising conferences here and in Ireland. I’m fairly sure that no one will be able to match what they’ve achieved. The standing ovation they got at the end of the event was the least they deserved.

The London Developer Co-op continues to thrive with several new projects keeping us busy right through the year. Most of my time has been divided between four major pieces of work, two of which are pretty public. Bruce continues to steer the good ship Elguji, IdeaJam just keeps of chugging along, it’s hard to believe this will be the seventh year that we’ve been working on it. Wearing another hat, I’ve done a lot of work on the Teamstudio Unplugged Controls project. It’s the work that I’m proudest of from 2013, especially what we’ve produced in the second half of the year with a complete overhaul of the controls themselves and also the new Sampler application and Restyler website. I’m very lucky to be involved in such an interesting project.

Having moved house right at the end of last year, the first few months of this year were spent sorting exciting things like the boiler and electrics out, not thrilling but important because as far as we could tell they hadn’t been touched for 30 years! The next job is to get an extension built at the back of the house, but that’s for next year. Given that I work at home for 80% of the time now I was very happy to get the home office sorted out with all my kit nicely laid out and properly fast cable broadband. I know that shouldn’t make a big difference to me, I’m a nerd what can I say.


The most important task of the year was making the new house into a home. The fact that our toddler charges round the place with utter joy most of the time, I think signifies that we’ve succeeded so far. She’s turning into a very happy little girl (excepting some 3am alarm calls) who absolutely loves any animals that she’s come into contact with. My favourite description of her encounter with some chickens a couple of months ago was that she was “vibrating with happiness”. I’ll end the proud Dad thing there!

So challenges for 2014 are to continue to bring in enough work to keep the LDC busy but also balance that with taking a bit more time off. I only managed a 2 week summer holiday this year, other than a few odd days here and there, that was all the down time and it’s not enough. But I realise that if this is the extent of my problems then life is good!

So here’s wishing you a happy, healthy and successful New Year.


Wireless Wednesdays

Over the first few months of 2014, Rich Sharpe of Teamstudio and I are going to be doing some webinars about developing mobile applications. We’re calling them Wireless Wednesdays as we aim to do something on the first Wednesday of each month.

So it all kicks off on Wednesday 8th Jan with our first webinar where we will talk about:

  • Why to mobilize a Domino application
  • Mobile development options for Domino developers
  • The basics of mobile app performance tuning
  • 7 tips for a successful mobile business app

You can register for the webinar here.

Of course we set up this “first Wednesday of the month” rule and then immediately go and break it. The first week of February is right after IBM Connect where Rich and I will be presenting a session about our Mobile Controls Project on the Tuesday afternoon:

Creating a Mobile Application Framework with XPages

If you create a lot of mobile web applications, you may notice other frameworks such as JQuery Mobile and the XPages Mobile Controls just don’t do exactly what you need. So we created our own, specifically designed for XPages. In this session you’ll learn about the open source framework that’s been have created. We’ll show how it allows you to quickly drag and drop standard custom controls into an XPage to create a mobile application. We’ll also talk about the process of creating an open source project and future plans.

So if you’re going to IBM Connect then hopefully you’ll come along to the session, but the following week I think we’ll be recovering so the next webinar after January will be in March.