durusmail: quixote-users: New Quixote site, and expire problem
New Quixote site, and expire problem
2005-09-11
2005-09-11
2005-09-11
2005-09-11
2005-09-11
2005-09-11
Re: New Quixote site, and expire problem
Re: New Quixote site, and expire problem
2005-09-13
2005-09-13
2005-09-13
2005-09-14
New Quixote site, and expire problem
Mike Orr
2005-09-11
Here's a Quixote site that shows offshore oil spills and chemical
spills related to Hurricane Katrina.
http://www.incidentnews.gov/
It's got a bunch of photos and some scientific information.  I've got
a caching problem with it, described below.

Background: I work for NOAA's Office of Response & Restoration, which
provides scientific support to the Coast Guard for cleaning up spills
such as the Exxon Valdez, the soybean spill in Alaska in December,
hurricanes, etc.  The site currently contains only Katrina incidents
but we plan to add others as time allows.

It's fed from a larger Quixote site where the responders do their data
entry.  It was developed on Linux and is running on a Mac OS X server
(not my choice), using Quixote 2.1, SCGIMount, session2, MySQL,
Apache, Cheetah and PTL.  The other site has several quixote form
objects and composite widgets (date, latitude/longitude, number range
with units).

Each incident has a number of entries, which are grouped into
categories.  The problem is that if you view one category (list of
entries), then go back and view another, on some browsers you see the
first category again.  Then if you hit Refresh it shows the correct
category.  It seems to be a problem with browser caching.

To reproduce, click "Hurricane Katrina (LA General)".  In the middle
of the page, choose "Other Products".  Click the "Incident" link at
the top of the page and you'll return to the incident details.  Now
choose the "Situation Reports" category.  It may be showing "Other
Products" again.  Press Refresh in the browser, and the correct
category should show.

When you choose a category, it runs a method that searches, puts the
results (a list of record IDs) in the session, and redirects to
'entries'.  'entries' displays the current page of the results.  The
same 'entries' method is used when you view a different category, but
it doesn't seem to be making the request to the server.

I looked through the HTTP RFC and http_response.py, and it looks like
it doesn't cache by default but somehow it is.  self.cache is 0, which
seems to translate to "Expires: -1", but my browser (Firefox) says
"Expires: not specified".  I'd like to put "Expires: 0" but it looks
like I'd have to hack the Publisher to do so.  I figured I'd ask here
first.

--
Mike Orr  or 
reply