Hi Jonathan, I have something similar to your idea already. The python script supplies page number to a stored procedure which handles the actual paging. The script takes the result from the proc and builds an html table and handles column sorting on the table. The output of the script is just a single variable so I can just use &dtml-var instead of the flaky &dtml-in. Problem I have now is this new search interface makes use of full-text searching on SQL Server 2K. The paging proc wasn't written to handle it and will need to be rewritten from scratch. This will take a lot of time and testing. I thought I could slap something simple and fast together to use in the interim to allow people to start testing the search engine.
I really do wish Zope would either fix or eliminate broken features. At the very least have the curtesy to say "hey y'all, this is broke, don't bother" so folks don't waste time with it. Mike -----Original Message----- From: Jonathan [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 30, 2007 5:22 PM To: Programmer; zope@zope.org Subject: Re: [Zope] a batch of inSaNitY! ----- Original Message ----- From: "Programmer" <[EMAIL PROTECTED]> To: <zope@zope.org> Sent: Wednesday, May 30, 2007 4:44 PM Subject: [Zope] a batch of inSaNitY! > Hi > > I am about to go stark, raving, frothing mad with the DTML-IN batching. > Is there a known (or unknown) bug with this? > > I have searched and read everything I can find about this and no luck. > The problem is with carrying the query terms over from one batch page to > the next. Right now I am using the script found here: > http://mail.zope.org/pipermail/zope-collector-monitor/2003-May/002001.ht > ml > > Except I changed, > > <dtml-let > batch="_.range(100, 180)" > batch_size="10" > batch_start="REQUEST.get('batch_start',1)"> > > To > > <dtml-let > batch="myZSQLMethod1" > batch_size="10" > batch_start="REQUEST.get('batch_start',1)"> > > The mySQLMethod1 takes two params which the search form supplies to > REQUEST. This works great. The pagination works beautifully. However, > when I use the very same result script with myZSQLMethod2 (same DB > table), which takes 5 params (all optional) the pagination breaks and > no-longer passes the query terms. > I have checked and rechecked both scripts and both forms. The > ZSQLMethods both test good. I am out of ideas. For the life of me I > cannot figure out why I'm losing my query terms in one and not the other > when the two are almost identical. > Care to enlighten me with your collective wisdom? In similar situations I have done the following: 1) call a python script/external method which: (i) does the db search; (ii) formats the results as required for display; (iii) returns a tuple that contains: list of search results, url parameters for 'previous' link; url parameters for 'next' link; url parameters for 'first link'; url parameters for 'last' link 2) use a dtml method to call the script/ext.method like <dtml-let rStat="mySearchRoutine(parm1, parm1, ...)"> <dtml-in "rStat[0]"> display code here eg. <dtml-var sequence-item><br> or could be an html/css table, etc. <dtml-if sequence-end> <a href="...?<dtml-var "rStat[1]">">previous</a> <a href="...?<dtml-var "rStat[2]">">next</a> <a href="...?<dtml-var "rStat[3]">">first</a> <a href="...?<dtml-var "rStat[4]">">last</a> </dtml-if> </dtml-in> </dtml-let> This greatly simplifies the dtml and facilitates debugging and future modifications. hth Jonathan _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )