I'd like to build a Z SQL method for *many* people to use to list courses that we offer. I don't want to require that all queries using it understand all of the columns, but I do want to be able to modify the query in many ways. So...after reading http://yyy.zope.org/Documentation/Guides/ZSQL-HTML/ZSQL.1.5.3.html optional A flag indicating if the test is optional. If the test is optional and no value is provided for a variable, or the value provided is an invalid empty string, then no text is inserted. I thought I could just use "optional" with all of my sqltests. select * from course_catalog <dtml-sqlgroup where> <dtml-sqltest subject type=nb optional> <dtml-and> <dtml-sqltest course_nbr type=nb optional> <dtml-and> <dtml-sqltest version type=nb optional> <dtml-and> <dtml-sqltest campus_code type=nb optional> </dtml-sqlgroup> This works only if I provide at least an empty string for all values. If I don't provide a value at all for one of the arguments, I get Error, Bad Request: ['version'] SQL used: Could not render the query template! Traceback (innermost last): File /data/www/Zope/Zope-2.2.0a1-src/lib/python/ZPublisher/Publish.py, line 224, in publish_module File /data/www/Zope/Zope-2.2.0a1-src/lib/python/ZPublisher/Publish.py, line 189, in publish File /data/www/Zope/Zope-2.2.0a1-src/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook (Object: list_courses) File /data/www/Zope/Zope-2.2.0a1-src/lib/python/ZPublisher/Publish.py, line 175, in publish File /data/www/Zope/Zope-2.2.0a1-src/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: manage_test) File /data/www/Zope/Zope-2.2.0a1-src/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: manage_test) File /data/www/Zope/Zope-2.2.0a1-src/lib/python/Shared/DC/ZRDB/DA.py, line 347, in manage_test (Object: list_courses) File /data/www/Zope/Zope-2.2.0a1-src/lib/python/Shared/DC/ZRDB/DA.py, line 324, in manage_test (Object: list_courses) File /data/www/Zope/Zope-2.2.0a1-src/lib/python/Shared/DC/ZRDB/DA.py, line 426, in __call__ (Object: list_courses) File /data/www/Zope/Zope-2.2.0a1-src/lib/python/Shared/DC/ZRDB/Aqueduct.py, line 150, in _argdata (Object: list_courses) Bad Request: (see above) Looking at Aqueduct.py, I don't understand why it's not catching the "optional" arg. Using my limited Python knowledge, I commented out lines 149 and 150 of Aqueduct.py and now it works great. Once again, I'm glad that I can add these awful kludges instead of waiting for the vendor, but this is something that I hope is fixed soon. --kyler