[schooltool-dev] Fwd: Detecting changes to objects
Tom Hoffman
tom.hoffman at gmail.com
Tue Jun 12 14:58:54 EDT 2007
The current delimma of stAgent is how to know when person objects are
created/changed/modified. Paul Carduner told me to subcribe to
IObjectModifiedEvent objects, however I only receive event relating to
PersonContainer objects (among others) with the following
<subscriber
for="zope.lifecycleevent.interfaces.IObjectModifiedEvent"
handler=".handler.someFunction"
/>
However I found I could narrow the search down to just Person objects
by adding their interface in the front of the for="". The following
calls the handler function whenever a Person object is created
<subscriber
for="schooltool.person.interfaces.IPerson
zope.lifecycleevent.interfaces.IObjectCreatedEvent"
handler=".handler.someFunction"
/>
Now the problem remains to detect changes and deletions of Person
objects. Whenever either of those occur, I get an IObjectModifiedEvent
for PersonContainer, however I have no way of knowing how its objects
were changed, only that one of them was. The following does not raise
any events at all
<subscriber
for="schooltool.person.interfaces.IPerson
zope.lifecycleevent.interfaces.IObjectModifiedEvent"
handler=".handler.someFunction"
/>
Right now, all I can think of is to keep track of the usernames of all
Person objects and check that against the usernames whenever an event
is called to find deleted people. Do any of you have any suggestions?
More information about the Schooltool-dev
mailing list