[Zope] a batch of inSaNitY!

Programmer programmer at paradigm-corp.com
Thu May 31 12:36:13 EDT 2007


You know I had considered using JS for dealing with this. It does make
it much easier to change the CSS on your links to indicate current page
and such. I might look into this again. Thanks!

________________________________

From: zope-bounces+programmer=paradigm-corp.com at zope.org
[mailto:zope-bounces+programmer=paradigm-corp.com at zope.org] On Behalf Of
SpiderX
Sent: Thursday, May 31, 2007 11:25 AM
To: zope at zope.org
Subject: Re: [Zope] a batch of inSaNitY!


I just use Adobe Labs Spry Framework... this effectively puts the paging
in javascript.


On 5/31/07, Programmer < programmer at paradigm-corp.com
<mailto:programmer at paradigm-corp.com> > wrote: 

	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:dev101 at magma.ca]
	Sent: Wednesday, May 30, 2007 5:22 PM
	To: Programmer; zope at zope.org 
	Subject: Re: [Zope] a batch of inSaNitY!
	
	
	----- Original Message -----
	From: "Programmer" <programmer at paradigm-corp.com>
	To: < zope at zope.org <mailto:zope at 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 at 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 )
	




-- 
Thanks,
Derek Wilson 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zope/attachments/20070531/68f3a1a0/attachment.htm


More information about the Zope mailing list