This site will look much better in a browser that supports web standards, but it is accessible to any browser or Internet device.

The Open Source Zone


Zope 3 Developer's Handbook (Developer's Library)

Book cover

by Stephan Richter

ASIN: 0672326175

See more on Amazon.com

Average Customer Review: 4.0, based on 3 reviews.

Customer reviews (3 of 3)

Useful, but limited in scope and effectiveness, 2006-02-03, Rating: 3.

I bought this book hoping it would be a good introduction to Zope 3. I browsed it in the bookstore and it seemed to include all necessary ingredients introduced in a sensible sequence.

The book is targeted at reasonably experienced developers, who know well the basic concepts of content publishing, and who've written Python code far beyond the "hello, world!" stage.

My main gripe with it, is that it assumes too much that the reader is familiar with the Zope 2 platform. As such, many terms were left unexplained, while others were presented only by comparison with their Zope 2 counterparts.

Subsequently, although this isn't exactly the fault of the author, the book was primarily written using a development version of Zope 3. In all fairness, the book was published shortly after the first final release of Zope 3, so it would have been impossible to meet the deadline of the publisher and have written it all using the final release. So, some things work, others don't without some tweaking.

The general structure of the book is sound. Some things could have been introduced at different places in the development stage. For instance, internationalisation is described extensively before the reader is presented anything about component development, which seems backwards to me. In general, however, the progression is fairly natural.

A typical chapter presents the scenario of the lesson, followed by an example, followed by the functional tests. The main problem is that there is little analysis, if any, about the principles of the system just introduced. Generalising from the examples in the book is very difficult for two reasons: they include the idiosyncrasies of the author, and other sources of documentation of Zope itself are too scarce and miserable to allow one to achieve a deeper understanding of the point of view of the author.

To put it shortly, the book presents the personal views of the author on Zope 3 development, with very few explanations of the logic behind them. Perhaps these reasons are obvious for a reader experienced with Zope 2. However, given the radical design differences between Zope 2 and Zope 3 (claimed on their site), I fail to see why I should first learn Zope 2, in order to easily understand this book.

The focus on functional tests is admirable, and many developers will, hopefully, learn from it. However, I believe it is misplaced in a book that suffers from the lack of explanations of the reasoning behind the author's opinion.

Ultimately, it is just some structured information about a product that doesn't have virtually any documentation aside of IRC logs and some functional tests, which are considered to be documentation by its developers. No matter how self-documenting their code might be (and it is!), the structure of such a complex system cannot be learnt only from reading the source code.

I asked myself if I would buy this book after, say, having borrowed it for a while from a library. I tend to say no.

If you needed to learn Zope 3 immediately, then buy it. It's probably the best book available on this topic at the time I'm writing this review. However, it is nowhere near good.

Excellent info, awkward editing, 2005-10-28, Rating: 4.

While the information is great, there could have been a lot more done in the editing process to clean up sentence and paragraph structure. In several instances the author will present multiple potential approaches to an issue but only cover one of the approaches.

If you use Zope 3, have this book on your desk, 2005-02-27, Rating: 5.

Having Stephan Richter's Zope 3 Developer's Handbook next to you while you work signals to everyone that a) you're using the world's most advanced web application platform and b) you're into serious productivity!

Zope 3 Developer's Handbook started its life as a series of "recipes" -- short, pithy how-tos that don't waste time with theory and get you straight into the code. Stephan has preserved this pattern to create an essential tutorial and reference that, well, reads like a book! (I.e. something you can hold in one hand, leaving your other hand free to sip your favorite beverage, slumped on the couch...you know, a book :-)

I'm a contributor to the Zope 3 project and have a fairly good idea of what I'm doing when it comes to using the platform. After getting Stephan's book, I was surprised at how much I didn't know! And this is coming from a book that is eminently approachable and easy to use. It's density of information sneaks up on you -- like, "wait a minute...I just coved a ton of ground...that was really easy."

Okay, some credit goes to the Zope 3 team, which assembled a remarkably straight forward platform for web application development. Nonetheless, Stephan shows a mastery for putting the pieces together to in way that's educational and easy to use.

One of the strengths of the book is that it's code-centric. If you're a Python developer you'll appreciate that code speaks louder than words. Stephan understands this and wrings as much instructive power from the code as any Python aficionado could expect.

If you're not a Python developer, don't dismay! You have a lot to look forward to in this book -- you not only get to learn about Zope 3, you get to see first hand why Python is the "Best Darned Programming Language on Earth" [tm]. (Disclaimer: not really trademarked ;-)

If you're not familiar with Zope but are interested in web application platforms (including the enterprise heavy weights J2EE and .NET), take a serious look at Zope 3 through Stephan's book. While Zope 3 is not a complex layer of heavy handed architectural frameworks (a lot of people think this is a mark of a good platform), it is extraordinarily capable at building world class apps. (I use the term "word class" in the rich tradition of PR prose...hackers, please disregard.)

I guess I'm endorsing the book. Darn...I wanted to write one of those hard hitting New York Times reviews that caused Stephan to reconsider his career as an author. Sadly for my career as a critic, I picked the wrong book to write about ;-)

So, anyone still on the fence by now should click "Add to Shopping Cart" anyway. At the very least, having Stephan's book on your desk will make you look extremely savvy and have your colleagues scratching their heads wondering if it's the new shirt or maybe if you've lost some weight.