[Zope] updating the catalog - successfully!

Dieter Maurer dieter@handshake.de
Tue, 12 Dec 2000 23:50:25 +0100 (CET)


josh on writes:
 > ... catalog reindexing problem ...
 > <dtml-call "_[userid].propertysheets[1].manage_changeProperties(REQUEST)">
 > <dtml-call reindex_object>
 > ... did not work ...

 > The good news is that I have seemingly found a way to update my catalog by
 > making a method of my zclass called update_dtml which I call when change the
 > data of an instance. the method contains only one thing (of course):
 > 
 > <dtml-call reindex_object>
 > 
 > I call it from the dtml that manipulates the data of the instance (from a
 > file in the same directory as the instances):
 > 
 > <dtml-call "_[userid].propertysheets[1].manage_changeProperties(REQUEST)">
 > <dtml-in "objectValues(['zclassuser'])">
 > <dtml-var update_dtml></dtml-in>
 > ... does work ... Why?

I guess:
   <dtml-call "_[userid].propertysheets[1].manage_changeProperties(REQUEST)">
   <dtml-in "objectValues(['zclassuser'])">
   <dtml-var reindex_object></dtml-in>
will work, too.

In the case, that does not work, you call "reindex_object"
for the object for which the DTML code was called (probably a folder).
This is not the same as the object changed
"_[userid]". Otherwise, you would have been able to
omit this "_[userid]".

In the working case, you call "reindex_object" for each
of your class instances. This includes obviously the
one that has been changed.


Dieter