[Zope-dev] Re: post publishing hook
Christian Heimes
heimes at faho.rwth-aachen.de
Fri Apr 1 15:28:28 EST 2005
Florent Guillaume wrote:
> I really could use a post publishing hook.
> Standard use case: delay indexing at the end of the request to only do
> it once per object even if the object has been modified 4 times.
Using a post publishing hook for this use case isn't a good idea - IMO.
The Publisher has nothing to with indexing. It's a completly different
part of the architecture.
You want to bind some actions to the transaction system because you want
to execute some code at the end of the first phase of the 2 phase
commit. That's a completly different story than the post publishing
hook. Hooking into the transaction machinery of ZODB is very easy. Write
your own DateManager implementing the IDateManager interface and
register it into the current transaction using get_transaction.register(DM).
For your use case overwrite the tpc_vote() method of the data manager to
do the indexing at the boundary between the two phases.
Jens Vagenpohl's mail host and Chris McD's blob have example code for you.
Christian
More information about the Zope-Dev
mailing list