Re: [Zope-CMF] Zope2.12.3 zexp import error

2010-02-09 Thread Charlie Clark
Am 09.02.2010, 13:46 Uhr, schrieb Jens Vagelpohl j...@dataflake.org:

 Your event handler handle_new_masterpage should be rewritten to look
 if the object it wants to instantiate already exists. If it exists it
 should obviously not try to instantiate it again.

Hiya Jens,

the handlers were written to use IObjectAddedEvent as some things in the  
Zope2 world can't happen until an object has somewhere to be or more  
pertinently this is the most common pattern. Adding the check is easy  
enough but I'm interested in the general pattern here: should we be  
looking at working with (and notifying) ObjectCreatedEvents? Or should  
this check become standard?

Charlie
-- 
Charlie Clark
Helmholtzstr. 20
Düsseldorf
D- 40215
Tel: +49-211-938-5360
GSM: +49-178-782-6226
___
Zope-CMF maillist  -  Zope-CMF@zope.org
https://mail.zope.org/mailman/listinfo/zope-cmf

See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests


Re: [Zope-CMF] Zope2.12.3 zexp import error

2010-02-09 Thread Jens Vagelpohl
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 2/9/10 22:23 , Charlie Clark wrote:
 Am 09.02.2010, 13:46 Uhr, schrieb Jens Vagelpohl j...@dataflake.org:
 
 Your event handler handle_new_masterpage should be rewritten to look
 if the object it wants to instantiate already exists. If it exists it
 should obviously not try to instantiate it again.
 
 Hiya Jens,
 
 the handlers were written to use IObjectAddedEvent as some things in the  
 Zope2 world can't happen until an object has somewhere to be or more  
 pertinently this is the most common pattern. Adding the check is easy  
 enough but I'm interested in the general pattern here: should we be  
 looking at working with (and notifying) ObjectCreatedEvents? Or should  
 this check become standard?

Hi Charlie,

Checking to see if an object you are trying to instantiate already
exists is simply common sense.

Everyone who writes handlers for IObjectAdded must remember that the
event is not just called when a brand new instance is created, but also
when an existing instance is cut/copied and pasted, and when the Zope
import machinery is used. In those cases a clash is virtually guaranteed
if your event handler tries to blindly add another persistent object
that is already part of the copied or imported instance.

jens

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAktx1egACgkQRAx5nvEhZLKLPACeJV7Sgpd3mAqeotEUQYZbHQfs
7UkAn37q0VpUgQlFgt0jAMN29BOJO6/r
=/Y9l
-END PGP SIGNATURE-
___
Zope-CMF maillist  -  Zope-CMF@zope.org
https://mail.zope.org/mailman/listinfo/zope-cmf

See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests