[Zope-dev] Adding ZCatalog index programatically

Dieter Maurer dieter@handshake.de
Fri, 19 May 2000 20:48:23 +0200 (CEST)


R. David Murray writes:
 > I was just looking at the ZCatalog code to figure out how to programatically
 > add an index to a Catalog.  I figured out how to do that fairly easily,
 > but the code I was looking at has me a bit mystified.  The method
 > manage_addIndex is defined.  The form that you use through the
 > management interface to add an index has a submit button whose name
 > is manage_addIndex:method.  OK, that all looks like reasonable
 > magic (magic because I don't know exactly what happens when a button
 > gets marshalled as a method).
The method is not marshalled but called with the remaining
form fields as parameters. More precisely, Zope looks for
the "method" starting from the action URL and then calls
this method in the usual way with the form content as parameters.

This is well documented somewhere (together with the other
nifty ":<type>" argument name suffixes. Unfortunately,
I seem not to have a local copy of this document and
therefore, cannot tell you where to find it, at the moment.

The code, handling this, is in
"ZPublisher.HTTPRequest.HTTPRequest.processInputs" (not easy to
understand).


Dieter