"Mastering Mambo" is a new book for people running and building websites with the Mambo Content Management System., It was written in an awkward time, when the Mambo CMS was in the process of splitting from Joomla, but because the codebases of both projects is still so similar, "Mastering Mambo" is a relevant book for both Mambo and Joomla users.
Initially, I was a little confused about the target audience for this volume. The same publisher (Packt) also has a book called "Building Websites with Mambo" that would be more appropriate than for Mambo beginners. The authors, Tobias Hauser and Christian Wenz, describe this book as being for "administrators, designers and developers" which encompasses a pretty wide group of people with diverse skill-levels.
The first part of the book begins by covering the most basic features such as how to logon, install components, change templates and so on. It would suit someone building a site for the first time with Mambo.
As it progresses, the book becomes more complex. There are chapters on Mambelfish, VirtueMart (called PHP-Shop here) and DocMan as well as chapters that summarise options for people wanting forums and galleries. By the time it gets to page 180 out of 250, the authors are describing how to develop your own modules and mambots. This is done in a clear way, with Mambo's functions and variables explained quickly and concisely.
That completed, the third part of the book describes ways to complete a successful Mambo deployment. The Search Engine Optimisation chapter is OK, but could do with more information on producing a Google-friendly template rather than just human-readable URLs. The Accessibility chapter could also do with more Mambo-specific advice.
However, there are two excellent chapters in this final section. The chapter on security is very useful. It covers cross site scripting, SQL injection, unexpected user data and more. It offers smart advice and is reasonably detailed. Finally, the performance and caching chapter is short and sweet, particularly in its coverage of the uses that Zend software.
Overall, the book is well-written and has a lot of useful illustrations. Nonetheless, it suffers from two weaknesses. One is the unavoidable problem that software development moves more quickly than publishing process and some of the information here is inevitably out-of-date. The second is that although I liked "Mastering Mambo", I'm unsure who to recommend it for. Rather it is an all-round effort. Administrators can use the first part of the book. Developers new to Mambo will benefit from the second half.