Related Entries

Interview with Ploners
Formulator makes life easy
Server side python
Resetting Zope's session timeout
Getting undo history

« Loose leaf bible
» Webmonkey: Blogging software

Zope: How to win big?

Paul Tchistopolskii: Zope: good news, bad news & how to win big. Though the paper is dated 02/25/2001, it is...

Paul Tchistopolskii: Zope: good news, bad news & how to win big. Though the paper is dated 02/25/2001, it is very relevant.

IMO, where Zope leaves embedded scripting technologies like ASP/PHP in dust is by positioning itself as a platform. And it is a remarkable platform. What it lacks is development tools to make it very easy for people to make use of that platform.

Here’s a real-life case study - a comparison from a project I got involved in last week.

I’m still more comfortable with ASP/PHP and Oracle as opposed to Zope. I’ve no experience yet in creating Python products. I know how to create ZClasses.

Requirement was to create a web based interface where people can come and download software. Software files are organized by vendors.

Using Zope, we created a ZClass for "Software File" by base classing "OFS:File" and "CatalogAware" classes. Created a property sheet, made straightforward forms for adding and editing the object. Added help topics. Then we created another ZClass for "Software Vendor" by base classing "Object Manager". This object can hold only Software File objects. Made simple forms for these too. Create a folder, setup some users for software managers. In that folder, made a Catalog. Used default Catalog interface form and report to provide a search too.

Total time taken to make a secure, search enabled web application with context sensitive help? 2 hours.

Think about doing this in ASP/PHP. Steps go something like

- design database
- design forms
- write form processor code
- add in security. If web server security mechanism is not enough, code for that too by adding into database and scripts.
- documentation
- installation

Typically would’ve taken 2 days and would’ve caused several 100’s of lines of code in multiple files.

Personally, I think Zope is a big win in this situation because the organization has made use of a framework, there by writing very few lines of code. Developers might not like this because their billable time is much less now!

Additionally, the following maintenance issues are quite simple in Zope.
- moving to another server
- adding additional properties to objects. (no messing up with ALTER TABLE etc)
- leveraging additional products. (for example, add a discussion on the software file)