Zope Products newbie question.

Josef Meile jmeile at hotmail.com
Thu Jul 22 10:03:17 CEST 2004

> - Write Zope Products to enhance the Zope Server itself, e.g.
>   authenticate against an LDAP server.
I would also say that this makes mantainment easier; however, the first 
product will be a little bit complicate to do. But once you get it, you 
will be able to develop more.

> - Write external methods if you want your code to be free from ZOPE's
>   restrictions (e.g. code that is supposed to work outside of ZOPE
>   as well).
You can also use class and module assertions to achieve this.

> - Write ZClasses if you want to control your app via ZMI (Zope Management
>   Interface).
ZClasses is a good way to prototyping, but they are hard to maintain and 
zope core developers doesn't focus much on mantaining them (There was 
recently a discussion about this on the zope list). The other problem is 
that once you get used to ZClasses, you don't want to leave them. That 
was my case. But now I understand that Python based Products are more 
robust and I'm migrating now.

> To port from PHP I would start with external methods. If you want
> your application objects stored in ZOPE (and not in an external db)
> do that with Python scripts. If you want to manage your application
> with ZMI (e.g. insert student objects into a ZOPE folder) use ZClass
> objects.
You can also achieve this with a python product, however, it will be 
more complicated as I said before. Anyway, python Clases is the way to 
go for me.

Ah, another thing: don't use DTML, use Zope Page Templates, which 
separate logic from presentation. Also consult the most current Zope 
Book at: http://www.plope.org. This book now emphasizes on coding ZPT 
instead of DTML

Finally, do a search on the zope list: lists.zope.org. This topic has 
been covered dozen of times and that's the most indicated place for your 


More information about the Python-list mailing list