/ Hathaway Weblog / Zope 3 is starting to feel good

Shane :: Zope :: July 30, 2004 # Zope 3 is starting to feel good

One of the great things about Zope 2 is it guides you through the first steps and helps you create a dynamic Web site with minimal effort. I'm starting to see that same quality in the latest release of Zope X3, version 3.0.0b2. (Zope X3 is the project leading up to Zope 3.) Zope X3 has a web interface for creating folders, files, images, templates, and various services. And, going beyond Zope 2, Zope X3 rewards curious clickers with API documentation, error reports, and other goodies.

This is very refreshing for me. For a long time now, I've been looking at the depths of Zope 3 without looking at the surface. I've been discouraged with some of the low level decisions. Now that Zope 3 is reaching a level of usability, however, I can approach it from the top like I did with Zope 2. From that perspective, the things I don't like are pretty unimportant. Zope 3 is going to be cool.

Here are a few things I think Zope 3 needs, however.

  • Ape. I may be biased, but Ape is working really well for this site (which is running on Zope 2.) Everything is under version control rather than imprisoned in binary files. If something goes wrong, recovery is going to be a lot easier than it would be if I used a big database file. Zope 3 could benefit from Ape in the same way.
  • During code development, Zope 3 should detect changes to source code and configuration files and restart automatically. In Zope 2, I could hardly bear developing code for Zope 2 until I wrote the "refresh" feature. The feature turned out to be unstable, but it still allowed me to work without breaking my concentration, making me more productive. In Zope 3, we should take the more stable route of simply restarting after detecting code changes. Zope 3 can probably restart in under 3 seconds on a recent box.
  • Use Twisted as the core server in Zope. In the past, two things prevented me from doing this: I wasn't happy with the quality of the HTTP server in Twisted, and the method of setting up an HTTP server in Zope 3 was mind-bogglingly complicated. The HTTP server in Twisted may have improved by now, and server configuration in Zope 3 has improved tenfold.

So, of these three improvements that I think Zope 3 needs, which is most important? Now that I finally got comments working on my weblog, readers can actually reply to that question. :-)

Comments

Ian Bicking (July 31, 2004 14:39)
Is Ape and version control as important if you aren't storing your code in the ZODB? And it seems like one of Zope 3's design decisions is to do more to keep code out of ZODB, and out of the web interface, and back onto the filesystem.

Shane Hathaway (July 31, 2004 17:46)
I feel strongly about the need to store everything, not just code, in a native way. It is valuable in intangible ways like discoverability and maintainability. On this site, everything including templates, images, style sheets, weblog entries, and comments are stored as files on the filesystem. The one major exception is the catalog, which is in a FileStorage; I can't see a need to store catalogs in anything but a FileStorage (since catalogs are easy to rebuild should the need arise.)

Tom Purl (August 04, 2004 11:49)
Isn't the Computer Associates corporation also working on a rdbms adapter for Zope 3? If so, then how is their adapter different from yours?

Tom Purl (August 04, 2004 11:54)
Also, I'm happy to see that you've added comments to your blog (which is excellent, by the way). Just out of curiosity, what Zope package is your site built upon? Zwiki? Plone? Something entirely customized to your needs?

Shane Hathaway (August 05, 2004 20:21)

CA is using Ape. :-)

I built the site on plain old Zope plus a little product for skins.

No further comments may be added.

James 2:17-18 (Click below to fill in the blanks.)
Your browser is not able to display the scripture fill-in program. To see it, enable Javascript or use Mozilla 1.0 or better.

Church: lds scriptures provident games pearls kzion shiblon film chancellor gateway cumorah byutv happiness nephi
Zope: freezope org com zen labs newbies zettai warnes
Python: home pyzine daily icanprogram
Genealogy: cyndi
Weblogs: jeffrey paul jon joel another-shane guido barry jeremy windley chrism zac
News: quakes lwn dc weather deseret zeitgeist softwarelivre
Zaurus: software developer
Tech: tango spintronics thin
Semantic: aaron sean
Reference: css rdf html4 javascript geckodom iecss emacs phrases acronyms
Reverse: advogato slashdot
Misc: gimp-savvy directory soda jokes shouldexist pdphoto