Bug 617729

Summary: gwt-based UI requires shift+refresh to see updates
Product: [Other] RHQ Project Reporter: Joseph Marques <jmarques>
Component: Core UIAssignee: Charles Crouch <ccrouch>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: high Docs Contact:
Priority: high    
Version: 3.0.0CC: ccrouch, cwelton, hbrock
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=664567
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-03 13:01:33 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 585306    

Description Joseph Marques 2010-07-23 15:52:24 EDT
See the section called "Perfect Caching" here:

http://code.google.com/webtoolkit/doc/latest/DevGuideCompilingAndDebugging.html

We need to setup our web server to send down headers in the http request of <coregui>.nocache.js, so that devs, QE, customers don't have to shift+refresh to see the latest and greatest.

However, since release-3.0.0 will be cut before this fix goes in, we have one of two options:

1) add the headers to prevent caching the <coregui>.nocache.js file, and put in the release notes "if you're upgrading from release-3.0.0, please shift+refresh to see the latest and greatest".  this is sub-optimal because this item will stay in the release notes for a long time.

2) add the headers to prevent caching the <coregui>.nocache.js file, and rename the <coregui> module to anything else, say, <gwt-portal>.  this way the new file will be called <gwt-portal>.nocache.js and the first time clients pull it down they will read it with the appropriate no-cache headers.  thus users/customers with distributions built off of release-3.0.0 will never have to shift+refresh to see the latest/greatest upon upgrade or fresh installation of a latest version.
Comment 1 Corey Welton 2010-12-20 14:29:24 EST
*** Bug 664565 has been marked as a duplicate of this bug. ***
Comment 2 Corey Welton 2010-12-20 14:37:40 EST
See related linked bug that causes the shift-refresh trick to fail.
Comment 7 Ian Springer 2011-03-23 17:02:03 EDT
Added a servlet filter (CacheControlFilter) that takes care of adding the HTTP headers needed to control caching of GWT-compiled pages - [master c9efcac].
Comment 8 Mike Foley 2011-06-13 11:56:26 EDT
Verifying and documenting the HTTP headers which control caching, below.   The pragma no-cache and Cache-control no-cache are of particular note here.

Host	localhost:7080
User-Agent	Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.6.17-1.fc14 Firefox/3.6.17
Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language	en-us,en;q=0.5
Accept-Encoding	gzip,deflate
Accept-Charset	ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive	115
Connection	keep-alive
RHQ_Session	-497937392
Content-Type	text/x-gwt-rpc; charset=utf-8
X-GWT-Permutation	341D86321ECE4289E0459672BA4BDE1F
X-GWT-Module-Base	http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/
Referer	http://localhost:7080/coregui/org.rhq.enterprise.gui.coregui.CoreGUI/341D86321ECE4289E0459672BA4BDE1F.cache.html
Content-Length	1524
Cookie	RHQ_Session=-497937392; JSESSIONID=471678FABF9B7D36A17463EC1E517125
Pragma	no-cache
Cache-Control	no-cache
Comment 10 Heiko W. Rupp 2013-09-03 13:01:33 EDT
Bulk closing of old issues that are in VERIFIED state.