Book Review: The dotProject Book

Disclaimers: In case you can't tell, I'm not the most unbiased person who could write this review. In fact, as the author of the dotProject Manual, I'm probably the last person who should write about this but when I was offered a free copy by the publisher, I couldn't pass on the offer.

The dotProject Book comes in is available from Packt Publishing and comes in at 213 pages for just under 40 USD. The author – Lee Jordan – is a graphic designer and content manager for a technical firm here in the US. Her (mostly) non-technical approach gives the book an interesting flavor which many might appreciate…

The Good:

First, the book has great screenshots throughout. It's quite simple to know exacly which buttons, menu options, etc she's referencing when they're right there on the page. It makes following along about as simple as it can get. Having them in color would have been even better but would have greatly increased the price. Understandable trade-off.

Second, she does a fantastic job of laying out all the common issues and the fixes that come up during/after a fresh installation. These are the single most popular questions on the forums – so common that I wrote a public dotProject FAQ – so it's nice to see them collected in one place again.

Third, as a non-developer, she takes a straight-forward and explicit look at everything. She makes few assumptions in terms of how a user thinks and goes into a depth that many new users will appreciate and value. In addition, she provides enough depth that some of the advanced users will be satisfied with the detail available.

Next, she does a fantastic job of laying out different permissions models based on a number of scenarios. I think this is one of the single most valuable sections of the book.

Finally, honestly I wasn't sure whether to classify this as "A Clever Hack" or just "A Hack" but I thought it deserved a mention. The current stable_2 branch – including 2.0.2+, 2.1 releases, etc – has most of the UI style riddled throughout the data retrieval/creation code. Generally this makes a system hard to theme and adjust for your needs. Lee comes up with a simple way to get around some of these aspects through the creative use of images. No coding skills required.

The Bad:

First, she recommends Fantasico as a reasonable option for installing dotProject. She's 100% correct that it is the easiest way to get dotProject installed, unfortunately, there is a very significant downside. In the recent past, Fantastico has lagged behind our releases – even the critical security fixes – by anywhere from 6 to 9 months. For testing purposes, I think Fantastico is fine, but for actual production usage, you should install your own.

Second – and this one is a bit personal – where is the Project Importer? According to my logs and the activity on the Forums, it's one of the most popular non-core modules. I just find it odd that it didn't even merit a mention…

The final and most stunning bad part is her description of the Backup Module. A simple browsing of the dotProject forums, bug tracker, or even this blog would have shown that no one in their right mind uses that Backup Module for anything more than consuming server space and/or to release upon their enemies. In its present state, I firmly believe that the Backup Moduleit is not of production quality and should be removed from the SourceForge page as soon as possible. Unfortunately, there are a number of these types of things throughout the book.

The Ugly:

I think this book has a couple fundamental problems, most of which are easily addressable… and others, not so much.

First, she references that a developer of dotProject should know and understand XHTML 1.0 and CSS 2.0… well, not quite. Unfortunately, all of the dotProject releases to date have not even been remotely close to XHTML Compliance. It is currently in the plan for the release after next, but that is scheduled for late 2007 at the soonest.

Second, based on some of the inaccuracies, I've tried to track down her sources. For example, the recommendation to use the Backup Module could not have been based on anything but trivial testing and not on use in a production environment, looking at any of the numerous logged issues in the bug tracker, or even descriptions from the forums. This leads me to conclude that she's not currently active in the dotProject community. While this may give her a fresh perspective it makes me call into question some other aspects…

Finally, and most importantly, it's a printed book and subject to being out of date very quickly. I don't know how long it took to write it but as of February 2007, a new release candidate was made available which invalidated some of the descriptions and instructions. With the pending 2.1 release this problem is going to get worse and the proposed 2.9 release is going to make this book irrelevant unless Lee continues to keep it up to date.

Summary:

So overall, would I buy this book given the opportunity? Honestly, as a core contributor, it'd be kind of silly but in addition considering the relative dated-ness of it already, I would have to pass. If Lee and Packt Publishing keep up the effort and release new editions every quarter or so, then it could be a valuable addition to a dotProject users' library. Unfortunately, as of now, it just doesn't make sense. I'd hit the dotProject Documentation site or the forums first.

Overall, I would give this book a 5/10. If they simply removed some of the inaccuracies and updated it to reflect the 2.1 release candidates, I would easily bump this up a point.