Sunday, April 1, 2012

XPages Portable Command Guide: a review


By Mick Moignard

I once read a joke, about a man reading a dictionary. When asked if it was a good read, he responded "Hard to tell, it keeps changing the subject". Well, the XPages Portable Command Guide might not change the subject as often as a dictionary, but it's not something that many people would read cover to cover.

As such, it's somewhat hard to write a review of it, because it's a hard -- nay impossible -- book to read from cover to cover. It's one you scan, and dip into, rather than read.

That said, there are chunks of it that bear being read properly, so that you have an idea of how the book is organised and how to find stuff in it. Personally, I read the first few pages of each chapter to get that flavour.

Chapter One

Chapter One is all about the that enable you to tune the XPages runtime. It explains that not only do both the Domino server and the Notes client have files, but so does each application, so you can do application-specific tuning without disrupting other applications.

There's a useful table at the start of the chapter that summarises these properties, which both prevents you from needing to read the whole chapter to get an understanding of the parameters available, and also gives you an reference back to the contents page to locate the detailed discussion of the settings that are of interest.

Chapter One is almost a third of the book.

Chapter Two

Chapter two extends that theme by discussing Notes.INI parameters that more generally enable the xsp engine to be tuned. This includes a discussion of how the Java memory of xsp works, and how you can tune the memory management with these settings for best performance.

This is a chapter that all developers need to read, and then get their admins to read it too, because the admin people are the ones you have to convince of the need to change these when you think you need to.

Then, on page 96, are two parameters that you can use to tune the Notes client, and not just for XPiNC apps, either. What it doesn't tell you is the trick to get Designer to show you what's going on in the current session though: Designer File/Preferences/General/Show Heap Status. You need to set this every session that you need it displayed.

Chapter Two also discusses Java security in relation to XPages and how you set that up with the java.policy file.

Chapter Three

Chapter Three goes in to the xsp command manager, what the commands are and what they do, and discusses the OSGi console and commands.

Both the xsp and OSGi runtimes are part of the http task, so these commands entered as server console commands to the http server task. They strike me as the sort of thing that you need to know that they exist, but which you will use pretty rarely.