Zope: Climbing the Iceberg

opening thoughts
so many analogies. the one that sticks with me most is the high school physics class where the professor holds a ball above his shoulder and says, "now the ball has potential energy". he drops the ball. "potential energy has been converted to kinetic energy". zope appears to be like a ball held up on top of a ten story building - rich with potential energy, but can it be converted to kinetic energy? it certainly is the most complete integration of python and port 80. it could be too much. we're trying to find out.
who uses zope?
it could be hard to say. zope isn't exactly an apache module. but it can be front ended (proxy style) by apache servers using any number of methods. it can also be run as it's own web server. this latter method is probably less popular and therefore makes it hard to say. our friends at netcraft have this report for 2003 January. there's one intersting company - active state (full supporters of open source projects)
books
cover  
other books
cover   cover   cover   cover   cover
the zope bible has some coverage of TAL, but it looks a little rough. the book of zope is interesting, but doesn't provide much besides a guided tour through the interface. the zope web application construction kit doesn't even include TAL and is out of the running because i think it is a little dated. the zope book is completely available online. click here to go there and read it.

The committment
ok, breathe deep. I think I'm going to just dive into the icy waters around the zope iceberg and install it on my server. I don't see anyway to progress any further without more reading and trying to build some real sites in it.

My first big question will be how to make it work in parallel with Apache and with virtual hosts. I don't want instances of zope for each site I convert.
Session 1 (some time later)
Ok, I have it installed and running behind Apache on my server. It's running side by side with non-zope sites. So far, it's just a rewrite rule in the virtualhost container, so I can convert any of my virtualhosts anytime I like. It's exactly what I wanted.


ServerAdmin webmaster@example.org
#DocumentRoot /home/user/www/example
ServerName example.org
ServerAlias www.example.org *.example.org
RewriteEngine On
RewriteRule ^/(.*) http://localhost:8080/VirtualHostBase/http/www.example.org:80/example.org/VirtualHostRoot/$1 [L,P]
ErrorLog /var/log/httpd/example-error_log
CustomLog /var/log/httpd/example-access_log combined


You can see I commented out the old document root, and then I just added the two rewrite lines. This doc was the biggest helper:

http://www.zope.org/Members/regebro/Zope_and_Apache

One difference between this install and the one on the dotpipe server is I installed as root, and I gave it apache as the user and group because of the apache integration (would be nobody on some servers, but rh has started using apache as the user).

The default object is index_html which is one of the first things I have learned. I tried to add a file called index.htm and that standard doesn't work.

So far my satisfaction level is high.
Second Session

For the second session I just started creating some folders called www.somesite.org and began uploading files from the existing site in the old document root. Already I see that the web interface might be fine for management, but for large volume file manipulation I will need to investigate the other options like ftp. I also found that the file edit interface doesn't work well with Opera 6 on Linux. The form field containing the text file doesn't exapnd properly. Mozilla seems to work fine.

Third Session

I am continuing to read the Zope book. I have switched to reading the 2.6 version even though it is in progress, because I am running that version and it seems to reflect the new focus on Zope Page Templates vs. DTML. Both are acceptable, but the preference seems to be with ZPT now.

I used the interest rate calculation example as an excercise from the Zope Book 2.6 Chapter 6. It was a decent way to step into the world of ZPT and Script (Python). It gave a nice picture of what it is like to start building a site or application with Zope. It still takes work, and it's not going to be created like magic with the click of a few buttons. However, I look forward to leveraging the object nature of Zope to automate and minimize work in the future. One thing I noticed in an example is that Zope Page Templates seem to be nestable, so I'll probably have a general site template, and then include that in each of my site pages which will be simple page templates with static text or references to Python scripts.

My satisfaction level at this point is medium high.

Copyright 2003 dotpipe.org