After watching a video comparing web frameworks that cast Zope (and Plone) in a very positive light, I decided to take a look at it.
I installed Zope 2 on my Mac using Fink. It took a few minutes of futzing around to figure out how to setup an instance, but nothing too bad.
Then I went through the built-in tutorial which walks you through building a simple blog-like Elvis sightings application.
Positives
- Nice looking management interface
- Easy to add content in the GUI by just creating objects in a folder
- Easy to do things like accept uploads and send mail
Negatives
- Rather than using the filesystem, everything is stored in an object database called the ZODB, which is a single file. This seems like it would be a huge pain in the butt, as you can’t use traditional tools like grep, sed, perl, locate, glimpse, or CVS.
- The page templating language, DTML (Dynamic Template Markup Language), seems kind of crufty. I read some comments online that said that a lot of experienced Zopers (Zopenistas?) prefer to use a newer technology called ZPT (Zope Page Templates), but ZPT wasn’t covered in the tutorial.
Note that I didn’t look at Plone, which was used along with Zope in the aforementioned screencast.
Technorati tag: Zope
ZPT is much better than DTML. I believe that there are some new options for ZODB storage, like the FS. Regarding the fs tools like grep, you can’t use them on a relational database either. You can also use Zope with a relational database. Plone comes with a much more advanced UI out of the box. Creating “products” on the filesystem in Zope 2 is non-trivial, however.
(btw – looks like your code generation is on the blink. sometimes it works, sometimes it doesn’t)
Glad to see that you like Zope a bit. Yes, Page Templates rock, very much so because you never get invalid XHTML like you so easily can get with inline programming like DTML or PHP.
I use Zope2 for almost all my projects and I never write any code inside the ZODB so I can use grep and emacs and I often use Postgresql AND ZODB. Postgres for repeated data and ZODB for singular stuff like a “webmaster_email” property or document content editing. However, editing some stuff via the web is great and thanks to ExternalEditor you can still use emacs but host the file online.
Good luck using it if you stick to it.