This week I was invited to take part in This Week in Lotus, the main topic for which was the XPages Extension Library and OpenNTF. I would strongly recommend any XPages developer to listen to the podcast, it’s one of the resources I use rigorously to keep me up to date on all things Lotus and I always learn something from the podcast.
As part of the Domino managed beta program I was able to follow the articles on the XPages Extensibility API published to the Notes & Domino App Dev wiki in the summer. I have to admit that, at the time and with the example offered (a text label with an orange horizontal rule underneath), I was rather underwhelmed. The extent to the possibilities that I could envisage creating was a company’s header. But with the challenges of developing in Java, with the difficulties of provisioning the extension on a customer server and with the risk that, when a customer changed their server years from now when I might no longer be supporting them someone might forget to ensure the extension was also copied across, with all this I could not see why I would use the Extension API instead of creating a custom control just copying it into each nsf.
However, when I heard that the XPages Extension Library allowed a Domino developer to easily use a Dojo dialog, I was intrugued. At NLLUG I was able to see a brief preview of some of the functionality available in the sample database and, again, I was enthused. Enthused, but also a bit daunted, because there appeared to be so much Dojo-related functionality and, at ILUG, I’m due to be presenting a session on XPages and Dojo. Over the last couple of weeks I’ve downloaded the Extension Library from OpenNTF, previewed the XPages code and even downloaded Eclipse and the SVN Repository to dig into the underlying Java source files. Like so many other developers, I was blown away. This is without a doubt as big a step forward for XPages as XPages was for Domino. When I first went on a course for XPages, I recommended upgrading to 8.5 so they could take advantage of the benefits. Having seen the XPages Extension Library, I would recommend upgrading to 8.5.2 to take advantage of the benefits.
There is a 70-page documentation, which may seem daunting and is not finished yet (as Niklas says in the podcast, it’s still really a beta at this stage and should be finalised by the end of the year). But the instructions for installing the files on a server are very straightforward.
Be assured that I’m not a Java developer. I’ve probably developed five times as much client development as I have on web, so I have experience of XML (and even XSLT), but I don’t consider myself an expert. And I’ve never developed anything for production that involved Java. But it’s an area that I want to gain experience. Not because I need to. I could easily implement all the new XPages Extension Library without needing to look at the source files, without needing to look at a single Java file; just the same as I could develop using the Dojo libraries without needing to open any of the Dojo javascript files. But by digging into the Dojo files I was able to better understand the implementation, work out why it wasn’t working how I expected and even extend the files to add functionality. In the same way, I’ve already started digging into the source files for the Extension Library and learned how to extend the tooltip, for example, to control its position, and tried to understand the user bean. The first thing I want to try to do is extending the user bean, because I think that will be an easier introduction. As ever when trying something new, I don’t want to dive too deeply and end up out of my depth, terrified and disillusioned. On that topic, if anyone can point me in the direction of a good introductory book on Java for a Domino (and especially XPages) developer to understand grammar, syntax, good practice etc. I would be very grateful.
Returning to the topic of podcasts, another podcast I regularly listen to and am especially looking forward to the lastest edition of is Taking Notes. This week’s edition covers sidebar plugins. At NLLUG Mikkel Heisterberg (who is on the podcast) presented a session on creating sidebar plugin and live text. From experience, I can agree that it’s easy and can leverage the investment of 8.x to revitalise your applications. As I showed a few months ago (part one and part two), you can even use XPages in a sidebar widget in an 8.0.x client and I’ve used that recently to add flexible reporting to a customer application. If you’ve never created a sidebar plugin, I would strongly recommend trying it. It is easy and, with imagination, can offer great functionality for your end users with minimal effort.
Was delighted to share the podcast with you. If you have any generic userBean feature that you’d like to share, I’ll be happy to re-inject it back to the SVN repository.
Thanks Philippe, a pleasure to join you and the other IBM-ers on the podcast as well. The first challenge will be trying to get it to work, to prove to myself I can do it, but my initial thoughts were to include a property to give easy access to OU – I can envisage it being useful for analytics.