[Zope] Undead ZClass properties

Jean Jordaan jean@upfrontsystems.co.za
Wed, 5 Sep 2001 15:29:51 +0200


Hi Paul

I'm writing because I had the same trouble that you describe on
this page:

http://www.zope.org/Members/paulabrams/howto_deleteundeadzclassprops

For the sake of the list, I quote:

    I noticed that when you delete a property in a ZClass, it doesn't
    actually delete the property in instances of that ZClass! This
    leaves zombie properties lying around where they can be
    inadvertently acquired, causing problems that are difficult to
    trace. Since these properties override properties set in the
    REQUEST, if the do get acquired they are difficult to override.

    I logged this bug in the collector, which affected my Zope 2.1.6
    install. Maik R=F6der was kind enough to email me the solution below.
    He solved the problem by adding this External Method, and calling
    all instances with it::

        #move_attribute?the_id=3Dabstract
        def delete_attribute(self,the_id):
            self._delOb(the_id)

On Zope 2.3.3, this gets me::

    Error Type: AttributeError
    Error Value: _delOb

I tried 'manage_delObjects(ids)' and 'manage_delProperties(ids)',
without success.

I'd like to ask whether you've learnt anything new about this problem
since 2000/12/05? Also, could you tell me what the Issue Id of this
issue is in the collector? I tried searching at
    http://classic.zope.org:8080/Collector/
but without success.

Regards,
Jean Jordaan