[Zope-dev] Bug in Changed events in ZPatterns 0.4.0a1?

Phillip J. Eby pje@telecommunity.com
Mon, 19 Jun 2000 10:46:42 -0500


At 11:33 AM 6/19/00 +0300, Itamar Shtull-Trauring wrote:
>As far as I can tell, the first time an object is changed, an Agent's
>_objectChanged() will be called, but as long as the object is still in the
>memory cache, _objectChanged() will not be called again.

_objectChanged is a once per object per transaction event.


>Another problem I'm having is giving default values to objects (e.g. default
>UNAPPROVED status for approval).  I can do this with a trigger (whith
>objectAdded being "client.status = UNAPPROVED"), but I also have a trigger
>that is equivalent to CatalogAwareness. The problem is that I don't know
>what order the triggers get called - will the changes made by one trigger be
>consistently cataloged by the other trigger?

I would suggest that you set up an attribute provider for client.status
that returns UNAPPROVED.  Since attribute providers are only active if the
attribute does not exist, this should solve your problem.

As for trigger ordering, they are guaranteed to be called in their plugin
sequence for a given object, but the order of objects they will be called
on is not guaranteed.  However, if a trigger is shared between two
DataManagers (Customizers, Racks, Specialists, etc.), it may be called
sooner than expected from the point of view of one of the DataManagers'
plugin sequences.