I'm not sure what the right answer is, but I've also been bitten by this - and it's a bitch to fix when it hits you. You end up with magic mystery invisible properties - always a fun game to debug.
"Jean Jordaan" wrote Hi Paul
Thanks for the answer. The Collector isn't letting me in right now (Zero Sized Reply) but I'll keep trying.
As you described, deleting a property from a property sheet does not remove it from instances. This is correct behavior. It would not be practical to seek out and modify all instances with the property.
I still think that the issue is a bug that Zope should fix, because it can play havoc with acquisition and is quite difficult to detect.
I fully agree. At the very least, it should be possible to search the ZODB for zombie properties (ZClass instances properties that do not exist on that ZClass's propertysheets). The workaround currently seems to me to be something like *never* deleting a ZClass property, and simply setting its default value to something like "DON'T USE ME!". It doesn't make the problem go away, but at least it keeps it in sight! :/
Regards, jean
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
-- Anthony Baxter <anthony@interlink.com.au> It's never too late to have a happy childhood.