The XPages Portable Command Guide and why it’s important


I was among the people who was fortunate enough be be sent a review copy of the new “XPages Portable Command Guide” book that has just been published. While this review has been a long time in the making I wanted to get it out there never the less. You should first read the review Tim Tripcony wrote (“XPages Portable Command Guide is a book every Domino administrator should read“) as it is spot on and very good and accurate. The thing about XPages that many developers and administrators forget – or simply doesn’t know – is that it is running on a completely rewritten HTTP stack on the Domino server. It was even refactored recently to be based on OSGi technology to make it even better and more easily extensible. The XPages runtime is more like a traditional J2EE server (like Websphere Application Server) than a traditional Domino server. This means that the runtime is very configurable but out of the box it is configured to be a jack of all trades. You can change it though and you probably should if you run business critical applications of it.

For me the most important part of the book is the part about the xsp.properties file that is the main configuration file for the XPages runtime. The file is central to how an XPages application function and it’s crucial that it is configured and tuned correctly for the needs of the application. While having to do this kind of configuration by hand is prone to errors and that IBM really should provide better tooling for it doesn’t change its central role for XPages. It is therefore very important that you as a developer or administrator know how to edit it. For the developer you need to be able to configure the application so it functions at peak efficiency and as an administrator you need to know enough to throttle your developers to not configuration the applications to as to note starve one another for resources.

The important part about XPages is that where many of the settings for traditional Domino web applications are server settings many, if not all, of the xsp.properties settings can be thought as of deployment settings as well as server settings. As Tim writes – “There are plenty of settings that can be defined in this file that only the developer should care about, but many of them you don’t want the developer to decide. Trust me, if you leave it to me, I’m typically going to max out the RAM consumption in an attempt to provide lightning fast response times. But it’s your server. You should be overriding me on that decision… as long as it’s still in keeping with the end users’ business needs, of course.”

So if you do any work with XPages I therefore highly recommend you get a copy of this book. Get it as an e-book though as it’s a reference and IMHO a paper copy doesn’t make any sense. Most of the API calls you can also find good documentation on online but the xsp.properties part is lacking online and it’s critical to know about and understand if you want to get the maximum from the XPages runtime.

IBM Lotus Domino: Classic Web Application Development Techniques from PACKT Publishing (a review)


Just spent an hour or so looking through the new book from PACKT Publishing called “Classic Web Application Development Techniques” and it’s a good read. It goes from A-Z through developing web applications on Domino using the classic form/view/agent approach. The table of contents reads like this:

  • Chapter 1: Preparation and Habits
  • Chapter 2: Design and Development Strategies
  • Chapter 3: Forms and Pages
  • Chapter 4: Navigation
  • Chapter 5: Cascading Style Sheets
  • Chapter 6: JavaScript
  • Chapter 7: Views
  • Chapter 8: Agents
  • Chapter 9: Security and Performance
  • Chapter 10: Testing and Debugging

If starting out in classic Domino web application development (read “non-XPages) today I would highly recommend the book to serve as a good, solid, introduction to the topic.

Well done and good to see a book for new developers.

Signing of from 2009 – looking back at a great year

2009 is drawing to a close and in less than 10 hours I’ll be in my tuxedo and drinking champagne. What a year from a personal and a professional perspective.

On the personal front the highlight of 2009, by far, was on 22 August where I got married to my lovely wife. 4 months into our marriage we’re having a blast. Not much have changed in our relationship which I take as a good thing. I’m looking forward to January and once again bringing her along for Lotusphere. I think she’s growing used to staying in the Swan and the fact that return guests get some good deals at the spa… 🙂 Apparently some sun and warm weather (crossing my fingers) in January doesn’t hurt either.

On the professional front it’s been a year of both many changes and new challenges. As previously the year really got kicked of at Lotusphere and it was very nice seeing all of my “collegues” again and hooking up. I’ll remember BALD, being part of the blogger program in those yellow bean bags, frost in Florida in January and the associated state-wide “panic”, giving a session with good reviews though having a high fever and missing 1,5 days due to sickness as the highlights of my Lotusphere 2009. Of couse being in the US for the inauguration also made it special. Being “on location” in Florida bar for Superbowl was also a very nice experience.

The rest of the year has been filled with a lot of consulting on Notes and Domino, Lotus Connections and other related Lotus products. It’s been very nice being able to share experience and consult on a wide variety of subjects. 2009 was also the year where I started doing a lot of teaching and we started doing Notes 8.5 Application Development workshops. I’ve been giving the workshop a number of times across Denmark during 2009 and it has always been a good experience. Of course some workshops has been better than others but I have always felt that I’ve given the attendees what they signed up for and all attendees have gone home amazed at the potential of the new Notes releases. If only more would take the time to learn Java – that’s still the Achilles Heel of IBM Lotus

Towards the end of 2009 I have also assumed the day to day management of some of the developers in the company. It’s been a big change from billing out 40-50 hours a week to mostly managing and planning. It’s also meant spending far more hours in the office which has been weird. I set a personal record this winter by having lunch in the office 12 days in a row. That’s a first in my 2+ years at IntraVision. The change of role has been fun but also a big change and challenge and something that I’m finding myself enjoying very much. I’m looking forward to the new year and getting more into that role.

In 2009 I have also enjoyed still being part of the Design Partner programme with IBM. It’s fun, educational and inspiring to be part of these conference calls and getting the inside story. The calls are something I look forward to attending and the debate is good and lively. Of course it’s also frustrating sometimes when IBM Lotus do something that we design partners just don’t get but that’s part of the deal. All in all I still find it very positive that IBM Lotus listens and lotusknows it makes a difference! 🙂

On the whole lotusknows thing I find it very positive that IBM Lotus finally got the message and starting being offensive. We still haven’t seen much, if any, of it here in Denmark but hopefully it’s coming at some point. There’s still a big need for air cover.

In November this blog turned 5 years and it was a milestone that were reached. As I wrote on that day, this blog is something I cannot imagine not having today. The blog and way it connects me with the community is amazing. Of course more and more communication moves from blogs to Twitter these days but it’s all good.

2009 was also the year where I finally got to finish LotusScript.doc version 2. It’s been a long time coming and it was very nice finally to get the new version out there. Expect interesting stuff to be coming your way in 2009 when I start leveraging the LotusScript.doc Java API in other contexts.

In three months TwitNotes turns 2 years – wow! Has it already been that long? Besides, of course, being my Twitter client of choice it has also served as a very good example in all of my speaking gigs as one of those new applications that are possible in the “new” Notes client. TwitNotes is an application that builds on the Notes foundation but reads and writes data in the cloud. Showing it as an example always raises some eyebrows until people “get it”. I used it as an example for the big IBM Software Day event here in Denmark this fall.

As 2009 draws to a close I’m doing another sidebar application that I hope will be useful for many of you out there although I’m mainly doing it for myself to increase my productivity. I hope to be able to reveal it by Lotusphere. It’s again a cloud-based application that integrates into the Notes experience to showcase just what’s possible with the “new” platform. Stay tuned…

Before I write too much I’ll wrap it up by wishing you all a very happy new year – see you on the other side. For those of you going to Lotusphere – see you there!

Bye, bye 2009…