[Zope-dev] In Defense of ZClasses

Christopher Lozinski lozinski at freerecruiting.com
Wed Sep 27 20:05:37 EDT 2006


 At the risk of going down in history (and Google Searches) as the man 
who supports ZClasses, I think that someone deserves to come to their 
defense.

I think that there is a different tool for every job.  Sometimes I think 
Plone is the best solution, sometimes Zope 2 is the best solution. 
Sometimes Zope 3is the best solution, and  sometimes ZClasses are the 
best solution.  

When are ZClasses the best solution?   Frequently a ZClass is the 
fastest way to build an application.  I can put up a simple list of 
types in ZClasses and DTML so incredibly quickly.  Frankly developing a 
file system based python application is just way too much overhead for 
bringing up simple web applications quickly.

In fact I have pushed ZClasses pretty far.  If you are building an 
application, and you are a single developer, and you are comfortable 
with a tree based data model, then ZClasses is probably still your 
fastest development tool.

I was recently told that ZClasses now work with Zope 2.8.* Maybe it was 
2.9.*  Frankly I am not smart enough to understand the recent evolution 
of the Zope framework.  But I suspect that ZClasses can be made to work 
for a while more on top of the newest releases of Zope, and that is good 
enough for me.  Someone will be motivated enough to make it work, and I 
will take advantage of the resulting open source code.

I also think that there is a bright future for ZClasses, in the niches 
that I am interested in.   Many years ago, I used to use versions to 
develop production and development code on a single server.  I was in 
heaven.  It was so easy.  It was so productive. Then came zcatalogs and 
all of that broke.  Pretty soon, I think someone, maybe even me, will be 
motivated enough to make ZClasses work with MVCC.  Multivalued 
Concurrency Control, so that we can get rid of our development servers, 
and as a single developer just run a simple cheap development/production 
server.  Life will be great.

But I see a brighter future for ZClasses as well.   The demand for my 
services is booming.  I have way more business than I can handle.  
Someone recently did a search for a plone resume on Google, and I got 6 
of the top placements.  We have heard of search engine optimization, but 
this is just crazy good.   Of course managing a staff of recruiters is 
the hardest part.  So soon I will need to run multiple servers with data 
being shared among them.  I will need a distributed schema, where people 
enter their resumes on one job board, and have them distributed to 
several other job boards. 

Zope 3 has a single server schema, but I have no idea if I will be able 
to expand it to a distributed Schema.  With Zope 2, and ZClasses, it is 
very clear to me how I can build a distributed schema that moves classes 
around between servers.  Most of the work is already done for me, 
another huge chunk, the schema part, I have done. 

So I think Zclasses serve my needs wonderfully.  And I think that I can 
upgrade them with MVCC to make a single developer even more productive.  
And I think that I can build powerful distributed applications on top of 
them.  That will be so much easier than trying to build and move python 
code on the file system and restarting dozens of servers.

And it only takes a few of us using ZClasses, and making money off them 
to keep ZClasses quite alive.

So I hope that this defense of ZClasses encourages you not to abandon 
them.  Use whichever tool is best for your application, and trust that 
others will make the same wise decisions.

Flame Shield is now up.  I look forward to your replies.

Regards
Chris


More information about the Zope-Dev mailing list