[Zope] understanding hybrid products

Fernando Martins fmartins@hetnet.nl
Tue, 24 Jun 2003 23:51:34 +0200


I'm looking at the POPMail hybrid product and converting it to ZPT. In the
meantime, I'm a bit puzzled with the relation between the attributes of a
Python class and the attributes of a PropertySheet of a ZClass. The zope
book (extending zope) is too short on this.

Namely I've in a Python file (POP.py):

class POPMailAccountBase:
    def __init__(self, user='noname', passwd='nopass', server='noserver'):
        self.user = user
        self.passwd = passwd
        self.server = server

and a PropertySheet (server_authentication) of the ZClass (POPMailAccount):

server: string
user: string
passwd: string

Can someone explain (or point to some doc) how is one updated from the

For instance, when I create an instance of a POPMailAccount, the Edit screen
of the PropertySheet immediately appears with the values of the Python class
attributes (like above).

If I modify these values in the ZMI screen, I _suppose_ the attributes of
the Python class get modified. I'm not sure this is actually happening,
because I had to restart Zope and only then did the product seem to work (by
retrieving the messages from the server which it had no found before).