Jay, Dylan writes:
If there was a published API. The documentation is all over the place. Zope embedded Online Help -> API Reference -> PropertyManager/PropertySheet.
Now I have a different problem. My ZClass python script method now looks like this
if username not in context.Members: context.Members.append(username) new_members = context.Members context.propertysheets.Membership.manage_changeProperties(Members = new_members) return 1 return 0
The problem is that this changes the properties of all the objects not just the one I'm interested in. It's as if "context" is the class not the instance. Same problem as before!
Apparently, your ZInstance does not yet have defined its own "Members" property. Therefore it inherits the one of the ZClass. The "context.Members.append" modifies *THIS* (i.e. the ZClass') Members object. All other instances (that did not yet define their own "Members") will see the change (until the object is flushed from the cache; then they will revert back). You should use: new_members= context.Members + [username] context.propertysheets.Membership.manage_changeProperties(Members= new_members) Be careful, not to modify shared objects. Dieter