Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Slashdot videos: Now with more Slashdot!

  • View

  • Discuss

  • Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

Programming Books Media Book Reviews IT Technology

Zope Bible 94

Posted by timothy
from the in-the-beginning dept.
Reader the_rev_matt writes with this review of Hungry Minds' Zope Bible. He finds both merit and shortcomings in this book, and suggests that "Bible" may be too grand a word for this decent-but-spotty work. Read on for his reasoning.
The Zope Bible
author Michael R. Bernstein, Scott Robertson & the CodeIT Development Team
pages 613
publisher Hungry Minds
rating 8
reviewer the_rev_matt
ISBN 0764548573
summary An in depth look at extending Zope with Python.

Part One is the basics, which anyone familiar with Zope can skip over if they so choose. For a newcomers it may seem a little overwhelming, but for readers unfamiliar with web development it may seem a light on details at times. It opens with the obligatory "History of Zope" which is mercifully brief and includes a single paragraph on the history of the Internet that publishers still insist on including. It does mention some great high-profile organizations that are using Zope (Red Hat, NASA, Bell Atlantic Mobile, CBS, and the U.S. Navy). The Features section could be used to great effect in selling the use of Zope to management, as it is brief and to the point and focuses on things that businesses actually care about. Next up is Architecture, and the Bible does a fine job of describing the Zope architecture and highlights the primary advantages in nice bullet points (Cost of ownership, RAD, reliability, scalability).

Installation is covered with proper dispatch and goes into great detail about the ZServer (the preferred web server) as well as how to install new products and troubleshoot bad installations. The basics of the Zope Management Interface and the Control Panel are covered in chapter three.

Chapter Four is where the meat starts. This is a fairly in-depth presentation of DTML, Zope's built-in markup language. It includes a nice reference to Python modules natively available in Zope, and examples of all standard tags in action. Closing out Part One is a chapter about Object Oriented Programming in Python. It is less detailed than the documentation and tutorial that come stock with Python, and anyone who plans on getting that down and dirty will want to get a real Python book. Those 50 pages would have been better used in providing a case study or two of developing an end-to-end web app in Zope. Even given the focus on writing things in Python, this section isn't actually helpful.

Part Two begins with an example of writing your own Zope product in Python (though not one that actually does anything useful), rapidly followed by the process of creating a real product in Python. Given the detail and scope of the AddressBook products, there is no need for the first "create a product" example. Chapter 8 continues with adding functionality to the AddressBook product.

Chapter 9 is Zope Product Security. This chapter explains both what Zope will and won't do for you, and how to determine security requirements and policies. Chapter 10 finishes up the AddressBook application and explains the use security concepts to control levels of access. The order is slightly awkward: it would have made more sense to introduce security concepts before going down the entire create-a-product path, rather than take a side trip in the middle.

Part Three: Management. Not PHBs, but application management. This starts off with Content Management. If you remove the specific Zope examples, you have what amounts to a best-practices guide to web development regardless of language. This is a Good Thing(tm). Database Management assumes zero familiarity with databases and provides a nice basic intro to databases and specifically how to connect assorted DBs to Zope as well as how to integrate SQL with DTML. The last part of the triumvirate is User Management and Security. This section covers the basics (users/roles) and a very light taste of addons, but really could stand a bit more breadth.

Part Four is called Advanced Zope Concept, or "everything that doesn't really fit anywhere else." ZClasses can hardly be considered an advanced concept, especially when compared to rolling your own product in Python. Zope Core components is a compilation of basic OO concepts (acquisition, persistence), the ZODB, ZPublisher, and Document Templates. This is another section that could have been better served by more detail. DocumentTemplates is breezed through with no detail whatsoever.

Scripting Zope demonstrates once again how to extend Zope using Python and covers scripting with Perl in just under two pages.

ZClasses, which have in the past been the most common method of writing Zope products, are discussed in fair detail, including a nice comparison of ZClasses -vs- PythonProducts.

Chapter 17 covers searching, describing how the ZCatalog works and how to leverage it. Zope Page Templates warrant their own (very brief) chapter which explains the shortcomings of DTML (HTML-editor unfriendly, not renderable, mixes presentation and logic) and gives a decent overview of the new PageTemplates that are meant to replace DTML in many instances.

Debugging is another light chapter, though it does cover the essentials fairly well. Finally comes Alternative Methods of Running Zope. This, as you might expect, explains how to use Zope with Apache/IIS and also addresses scalability, with a focus on Zope Enterprise Objects.

The appendices consist of What's On the CD-ROM and Installing Zope from the Red Hat RPMS or Souce Code.

What's Bad?
Zope Bible is a misnomer. There is a lot of great information here, but many sections are to shallow to be of any use. A more appropriate title would be "Python for Zope" or "Advanced Zope Development with Python." The book claims to be aimed at beginning to advanced users, but it is not organized in a manner that will be useful to Zope newbies and the things a beginner needs to know most often are missing or covered in such little detail as to be as good as missing. They could have dropped the first three chapters, and used that space to flesh out some of the later chapters and perhaps do a second case study.

What's Good?
The sections that are good are very good. The authors obviously have a deep understanding of Zope, and I didn't catch any technical errors. The writing is clear and effective. If you're already familiar with Zope and already have The Zope Book and The Book of Zope, then this would be a great next book for getting more into the Python parts of Zope. I particularly liked that they built an actual useful product from end to end in the course of several chapters explaining how different features of Zope can be used. The reference sections on CM and DBM are great. It's nice to see some aspects of Zope that are woefully underdocumented get addressed (Templates, DB integration, Security, Searching) even if some of them aren't in as much detail as I'd like.

You can purchase the Zope Bible from Want to see your own review here? Just read the book review guidelines, then use Slashdot's handy submission form.

This discussion has been archived. No new comments can be posted.

Zope Bible

Comments Filter:
  • by glwtta (532858) on Monday April 22, 2002 @10:22AM (#3387431) Homepage
    to be rather lacking. I never even consider them when I am looking for a book on something, anymore. I just go straight for the Wrox and O'Reilly offerings (in that order, actually).
  • Silly Bibles (Score:3, Interesting)

    by fm6 (162816) on Monday April 22, 2002 @10:24AM (#3387440) Homepage Journal
    Ever since the success of their For Dummies series, CDG has been brand-obsessed. So they changed their name to Hungry Minds, designed a silly flying pig logo, and started using "Bible" in all the titles they publish under their own brand. It's just marketing -- it has nothing to do with content.

    Lots of computer books start with a title and go from there. I've heard more than one author say, "Hey, this is the title I was told to use. Somebody thinks the book will sell better if it has 'Advanced' or 'Power User. in the title.

  • by ferratus (244145) on Monday April 22, 2002 @10:42AM (#3387553) Homepage
    I have quite a few (computer-related) books at home and I mostly agree with you. O'Reilly and Wrox are usually quite good although it's important to note that they are quite different.

    Of the 20-odd O'Reilly books that I have, most are quite good. The same applies to Wrox although Wrox's are usually more "tutorial-like" and as such better for a begineer. I feel the animals are usually more in depth and the writting is somewhat better (probably explained by the fact that there's 20 authors on a typicial Wrox book).

    My only other complaint about Wrox is that it looks like they reduced the quality of the paper they use latelly.

    All in all, both are goods and are my first choices except where there is some high quality hardcover available.

    Bible books are a big no-go as is mostly everything that starts with "exceptionnal", "bible", "unleashed", "dummies", "whatever".

"Right now I feel that I've got my feet on the ground as far as my head is concerned." -- Baseball pitcher Bo Belinsky