-----Original Message----- From: Loren Stafford <lstafford@icompression.com> To: Kevin Dangoor <kid@kendermedia.com>; Dr. Ross Lazarus <rossl@med.usyd.edu.au> Cc: zope@zope.org <zope@zope.org> Date: Tuesday, October 12, 1999 2:29 PM Subject: RE: [Zope] Can't add "date" property to new ZClass
You've just written (below) most of a "How-To: Properties in ZClasses" which is clearer than anything else I've seen to date. Do you mind if I expand it into a formal "How-To"?
Be my guest. I've been too swamped to finish off all of the things I've got floating around in my head to do.
There's just a couple more things I don't understand, but would want to explain in a How-To document:
1. A ZClass can have more than one property sheet. But why would you want to use that capability? Different permissions? Displayed under different circumstances? ...? ...examples?
I haven't need multiple propertysheets myself, but security definitely seems like one possible application. Let's say you have an object that has a "public" part and a "private" part. You could use a different permission for the "private" part so that only certain people could manipulate those properties.
2. When instantiating a ZClass, the Factory errors if the properties are not defined. Should it do that? Shouldn't it handle undefined properties? (Is that what Michel meant when he wrote "In fact, [Zope] should be smarter for instances also and just assume a sane value (like calling DateTime() with no arguments, which returns 'now')."
Yes, I think that was what Michel was saying could be handled a little smarter. Basically, your ZClass_add method needs to ensure that dates, floats and ints all have legal values. (There might be other data types that require a legal value, but those are the three I know off hand). Kevin