I was recently given a copy of the latest XPage book to review and I have found it a very worthwhile read in many ways but also a bit frustrating.

The book was written by some of the best experts in the XPages community,  talented developers that use XPages day in and day out and people who regularly present at the User Groups and Lotusphere. They are also people that are also particularly generous with sharing their knowledge within the community via blogs and wikis. One of the key benefits of the book is that it brings much of this information together into a single concise volume.

The book also marks a turning point in the functionality that my team and I can use in developing XPage Applications. Although I was an early adopter of XPages ( or perhaps because I was ) one of the policies within FoCul  has been that we should not get too close to the bleeding edge. The book clearly shows that the Extension Library has come of age and will add real value to XPage projects. The functionality is a game changer for Notes developers – from little things like the value pickers to much bigger things like the mobile controls.

The book is an excellent reference for understanding the various properties associated with each design element and I am sure that we will be reaching for it on a regular basis ( we have already bought extra copies ).

The bit that frustrated me was that from my perspective this is a technical reference book rather than a “Step-by-Step Guide”. Over the last 6 months I have become more of a Project Manager and an Architect rather than a full time XPage developer so I may not be representative of the target audience. My learning style is also to reverse engineer examples rather than to work through text books line by line – but I suspect a lot of Notes developers are like that too.

While the book lists many examples they are not available for download – the text typically says to go look in the TeamRoom template for examples of their use. The problem with this is that while the TeamRoom template is a tremendous example of best practice it is also very complicated – you find yourself looking at complex pages and trying to understand Managed Beans as well as things like the Data View that you wanted ( Managed Beans are great by the way and you should take the time to understand them ). I really struggled to find concise examples that I could run and understand before moving onto more complex examples.  By way of example try creating a Data View as set out on page 206 – how do you set up the facets or data sources ? An another example was page 171 for the Dynamic View Panel where it suggests creating an XPage and then adding lines 1 through 67 from the listed code in my paper book.

I do think that this is a very valuable book and every XPage developer needs to have easy access to a copy. I would highly recommend it as a reference but concise downloadable examples and an overview of the actual mechanics of how configure the facets would have given it 5/5  rather than 4/5.