← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 13302: add ?_rev=XXX parameter to all .css/.js includes, should help with stale browser caches when doin...

 

------------------------------------------------------------
revno: 13302
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2013-12-18 12:53:56 +0100
message:
  add ?_rev=XXX parameter to all .css/.js includes, should help with stale browser caches when doing dhis2 upgrades
modified:
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/cacheManifest.vm
  dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/cacheManifest.vm
  dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm
  dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/webportal/interceptor/XWorkPortalParamsInterceptor.java


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/cacheManifest.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/cacheManifest.vm	2013-12-18 10:24:14 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/cacheManifest.vm	2013-12-18 11:53:56 +0000
@@ -5,46 +5,48 @@
 NETWORK:
 *
 CACHE:
-../dhis-web-commons/css/light_blue/light_blue.css
+../dhis-web-commons/css/light_blue/light_blue.css?_rev=$!{buildRevision}
 ../dhis-web-commons/css/light_blue/logo_banner.png
-../dhis-web-commons/css/india/india.css
+../dhis-web-commons/css/india/india.css?_rev=$!{buildRevision}
 ../dhis-web-commons/css/india/logo_banner.png
-../dhis-web-commons/css/green/green.css
+../dhis-web-commons/css/green/green.css?_rev=$!{buildRevision}
 ../dhis-web-commons/css/green/logo_banner.png
-../dhis-web-commons/css/vietnam/vietnam.css
+../dhis-web-commons/css/vietnam/vietnam.css?_rev=$!{buildRevision}
 ../dhis-web-commons/css/vietnam/logo_banner.png
-../dhis-web-commons/css/widgets.css
-../dhis-web-commons/css/print.css
+../dhis-web-commons/css/widgets.css?_rev=$!{buildRevision}
+../dhis-web-commons/css/print.css?_rev=$!{buildRevision}
 ../favicon.ico
-../dhis-web-commons/javascripts/jQuery/jquery.min.js
-../dhis-web-commons/javascripts/jQuery/jquery.utils.js
-../dhis-web-commons/javascripts/jQuery/jquery.metadata.js
-../dhis-web-commons/javascripts/jQuery/jquery.glob.js
-../dhis-web-commons/javascripts/jQuery/jquery.date.js
-../dhis-web-commons/javascripts/jQuery/jquery.tmpl.js
-../dhis-web-commons/javascripts/underscore.min.js
-../dhis-web-commons/i18nJavaScript.action
-../dhis-web-commons/javascripts/commons.js
-../dhis-web-commons/javascripts/lists.js
-../dhis-web-commons/javascripts/periodType.js
-../dhis-web-commons/javascripts/date.js
-../dhis-web-commons/javascripts/dhis2/dhis2.util.js
-../dhis-web-commons/javascripts/dhis2/dhis2.trigger.js
-../dhis-web-commons/javascripts/dhis2/dhis2.array.js
-../dhis-web-commons/javascripts/dhis2/dhis2.select.js
-../dhis-web-commons/javascripts/dhis2/dhis2.comparator.js
-../dhis-web-commons/javascripts/dhis2/dhis2.availability.js
-../dhis-web-commons/javascripts/dhis2/dhis2.storage.ls.js
-../dhis-web-commons/javascripts/dhis2/dhis2.storage.ss.js
-../dhis-web-commons/javascripts/dhis2/dhis2.storage.idb.js
-../dhis-web-commons/javascripts/dhis2/dhis2.storage.memory.js
-../dhis-web-commons/javascripts/dhis2/dhis2.storage.js
-../dhis-web-commons/javascripts/dhis2/dhis2.appcache.js
-../dhis-web-commons/javascripts/jQuery/jquery.cookie.js
-../dhis-web-commons/javascripts/jQuery/jquery.validate.js
-../dhis-web-commons/javascripts/jQuery/jquery.validate.ext.js
-../main.js
-../dhis-web-commons/ouwt/ouwt.js
+../dhis-web-commons/javascripts/es5-shim.min.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/es5-sham.min.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/jquery.min.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/jquery.utils.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/jquery.metadata.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/jquery.glob.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/jquery.date.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/jquery.tmpl.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/underscore.min.js?_rev=$!{buildRevision}
+../dhis-web-commons/i18nJavaScript.action?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/commons.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/lists.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/periodType.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/date.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.util.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.trigger.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.array.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.select.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.comparator.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.availability.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.storage.ls.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.storage.ss.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.storage.idb.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.storage.memory.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.storage.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/dhis2/dhis2.appcache.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/jquery.cookie.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/jquery.validate.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/jquery.validate.ext.js?_rev=$!{buildRevision}
+../main.js?_rev=$!{buildRevision}
+../dhis-web-commons/ouwt/ouwt.js?_rev=$!{buildRevision}
 ../dhis-web-commons/fonts/LiberationSans-Regular-webfont.eot
 ../dhis-web-commons/fonts/LiberationSans-Regular-webfont.woff
 ../dhis-web-commons/fonts/LiberationSans-Regular-webfont.ttf
@@ -68,8 +70,8 @@
 ../images/ajax-loader-bar.gif
 
 # jquery-ui 1.9.1
-../dhis-web-commons/javascripts/jQuery/ui/jquery-ui-1.9.1.custom.min.js
-../dhis-web-commons/javascripts/jQuery/ui/css/redmond/jquery-ui-1.9.1.custom.css
+../dhis-web-commons/javascripts/jQuery/ui/jquery-ui-1.9.1.custom.min.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/ui/css/redmond/jquery-ui-1.9.1.custom.css?_rev=$!{buildRevision}
 ../dhis-web-commons/javascripts/jQuery/ui/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
 ../dhis-web-commons/javascripts/jQuery/ui/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png
 ../dhis-web-commons/javascripts/jQuery/ui/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
@@ -87,9 +89,9 @@
 ../dhis-web-commons/javascripts/jQuery/ui/css/redmond/images/ui-icons_f9bd01_256x240.png
 
 # case-entry
-javascript/commons.js
-javascript/anonymousRegistration.js
-javascript/entry.js
+javascript/commons.js?_rev=$!{buildRevision}
+javascript/anonymousRegistration.js?_rev=$!{buildRevision}
+javascript/entry.js?_rev=$!{buildRevision}
 images/ajax-loader-circle.gif
 images/close.gif
 images/data_entry.png
@@ -101,4 +103,4 @@
 images/rightarrow.png
 images/sms.png
 images/save.png
-style/style.css
+style/style.css?_rev=$!{buildRevision}

=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/cacheManifest.vm'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/cacheManifest.vm	2013-12-18 10:24:14 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/cacheManifest.vm	2013-12-18 11:53:56 +0000
@@ -5,40 +5,48 @@
 NETWORK:
 *
 CACHE:
-css/light_blue/light_blue.css
-css/light_blue/logo_banner.png
-css/widgets.css
-css/print.css
-../dhis-web-dataentry/style/dhis-web-dataentry.css
+../dhis-web-commons/css/light_blue/light_blue.css?_rev=$!{buildRevision}
+../dhis-web-commons/css/light_blue/logo_banner.png
+../dhis-web-commons/css/india/india.css?_rev=$!{buildRevision}
+../dhis-web-commons/css/india/logo_banner.png
+../dhis-web-commons/css/green/green.css?_rev=$!{buildRevision}
+../dhis-web-commons/css/green/logo_banner.png
+../dhis-web-commons/css/vietnam/vietnam.css?_rev=$!{buildRevision}
+../dhis-web-commons/css/vietnam/logo_banner.png
+css/widgets.css?_rev=$!{buildRevision}
+css/print.css?_rev=$!{buildRevision}
+../dhis-web-dataentry/style/dhis-web-dataentry.css?_rev=$!{buildRevision}
 ../favicon.ico
-javascripts/underscore.min.js
-javascripts/jQuery/jquery.min.js
-javascripts/jQuery/jquery.validate.js
-javascripts/jQuery/jquery.validate.ext.js
-javascripts/jQuery/jquery.utils.js
-javascripts/jQuery/jquery.metadata.js
-javascripts/jQuery/jquery.glob.js
-javascripts/jQuery/jquery.date.js
-javascripts/jQuery/jquery.tmpl.js
-i18nJavaScript.action
-javascripts/commons.js
-javascripts/lists.js
-javascripts/periodType.js
-javascripts/date.js
-javascripts/dhis2/dhis2.util.js
-javascripts/dhis2/dhis2.array.js
-javascripts/dhis2/dhis2.select.js
-javascripts/dhis2/dhis2.comparator.js
-javascripts/dhis2/dhis2.availability.js
-javascripts/dhis2/dhis2.storage.memory.js
-javascripts/dhis2/dhis2.storage.ss.js
-javascripts/dhis2/dhis2.storage.ls.js
-javascripts/dhis2/dhis2.storage.idb.js
-javascripts/dhis2/dhis2.storage.js
-javascripts/dhis2/dhis2.appcache.js
-javascripts/jQuery/jquery.cookie.js
-../main.js
-ouwt/ouwt.js 
+javascripts/es5-shim.min.js?_rev=$!{buildRevision}
+javascripts/es5-sham.min.js?_rev=$!{buildRevision}
+javascripts/underscore.min.js?_rev=$!{buildRevision}
+javascripts/jQuery/jquery.min.js?_rev=$!{buildRevision}
+javascripts/jQuery/jquery.validate.js?_rev=$!{buildRevision}
+javascripts/jQuery/jquery.validate.ext.js?_rev=$!{buildRevision}
+javascripts/jQuery/jquery.utils.js?_rev=$!{buildRevision}
+javascripts/jQuery/jquery.metadata.js?_rev=$!{buildRevision}
+javascripts/jQuery/jquery.glob.js?_rev=$!{buildRevision}
+javascripts/jQuery/jquery.date.js?_rev=$!{buildRevision}
+javascripts/jQuery/jquery.tmpl.js?_rev=$!{buildRevision}
+i18nJavaScript.action?_rev=$!{buildRevision}
+javascripts/commons.js?_rev=$!{buildRevision}
+javascripts/lists.js?_rev=$!{buildRevision}
+javascripts/periodType.js?_rev=$!{buildRevision}
+javascripts/date.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.util.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.array.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.select.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.comparator.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.availability.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.storage.memory.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.storage.ss.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.storage.ls.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.storage.idb.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.storage.js?_rev=$!{buildRevision}
+javascripts/dhis2/dhis2.appcache.js?_rev=$!{buildRevision}
+javascripts/jQuery/jquery.cookie.js?_rev=$!{buildRevision}
+../main.js?_rev=$!{buildRevision}
+ouwt/ouwt.js?_rev=$!{buildRevision}
 fonts/LiberationSans-Regular-webfont.eot
 fonts/LiberationSans-Regular-webfont.woff
 fonts/LiberationSans-Regular-webfont.ttf
@@ -64,12 +72,12 @@
 ../images/success_small.png
 ../images/home_small.png
 ../images/extend_menu.png
-../dhis-web-dataentry/javascript/form.js
-../dhis-web-dataentry/javascript/entry.js
+../dhis-web-dataentry/javascript/form.js?_rev=$!{buildRevision}
+../dhis-web-dataentry/javascript/entry.js?_rev=$!{buildRevision}
 
 # jquery-ui 1.9.1
-../dhis-web-commons/javascripts/jQuery/ui/jquery-ui-1.9.1.custom.min.js
-../dhis-web-commons/javascripts/jQuery/ui/css/redmond/jquery-ui-1.9.1.custom.css
+../dhis-web-commons/javascripts/jQuery/ui/jquery-ui-1.9.1.custom.min.js?_rev=$!{buildRevision}
+../dhis-web-commons/javascripts/jQuery/ui/css/redmond/jquery-ui-1.9.1.custom.css?_rev=$!{buildRevision}
 ../dhis-web-commons/javascripts/jQuery/ui/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
 ../dhis-web-commons/javascripts/jQuery/ui/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png
 ../dhis-web-commons/javascripts/jQuery/ui/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png

=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm	2013-12-18 10:48:39 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm	2013-12-18 11:53:56 +0000
@@ -5,13 +5,13 @@
     <meta name="description" content="DHIS 2">
     <meta name="keywords" content="DHIS 2">
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <link type="text/css" rel="stylesheet" href="../dhis-web-commons/font-awesome/css/font-awesome.min.css" />
-    <link type="text/css" rel="stylesheet" media="screen" href="../dhis-web-commons/javascripts/jQuery/ui/css/redmond/jquery-ui-1.9.1.custom.css" />
-    <link type="text/css" rel="stylesheet" media="screen,print" href="../dhis-web-commons/css/${stylesheet}" />
-    <link type="text/css" rel="stylesheet" media="screen,print" href="../dhis-web-commons/css/widgets.css" />
-    <link type="text/css" rel="stylesheet" media="print" href="../dhis-web-commons/css/print.css" />
+    <link type="text/css" rel="stylesheet" href="../dhis-web-commons/font-awesome/css/font-awesome.min.css?_rev=$!{buildRevision}" />
+    <link type="text/css" rel="stylesheet" media="screen" href="../dhis-web-commons/javascripts/jQuery/ui/css/redmond/jquery-ui-1.9.1.custom.css?_rev=$!{buildRevision}" />
+    <link type="text/css" rel="stylesheet" media="screen,print" href="../dhis-web-commons/css/${stylesheet}?_rev=$!{buildRevision}" />
+    <link type="text/css" rel="stylesheet" media="screen,print" href="../dhis-web-commons/css/widgets.css?_rev=$!{buildRevision}" />
+    <link type="text/css" rel="stylesheet" media="print" href="../dhis-web-commons/css/print.css?_rev=$!{buildRevision}" />
     #foreach ( $style in $stylesheets )
-    <link type="text/css" rel="stylesheet" href="$style">
+    <link type="text/css" rel="stylesheet" href="${style}?_rev=$!{buildRevision}">
     #end
     <link rel="shortcut icon" href="../favicon.ico" />
 
@@ -19,52 +19,52 @@
       var dateFormat = 'yy-mm-dd';
     </script>
 
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/es5-shim.min.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/es5-sham.min.js"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/es5-shim.min.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/es5-sham.min.js?_rev=$!{buildRevision}"></script>
 
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.min.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.utils.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.ext.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.metadata.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.tablesorter.min.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.upload-1.0.2.min.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.dhisAjaxSelect.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/ui/jquery-ui-1.9.1.custom.min.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/ui/jquery.blockUI.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.validate.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.validate.ext.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.cookie.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.glob.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.date.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.tmpl.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.autogrow.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/underscore.min.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.util.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/commons.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/commons.ajax.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/lists.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/periodType.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/date.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/json2.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/validationRules.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.array.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.select.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.comparator.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.availability.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.trigger.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.sharing.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.ss.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.ls.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.idb.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.memory.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.contextmenu.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.appcache.js"></script>
-    <script type="text/javascript" src="../dhis-web-commons/i18nJavaScript.action"></script>
-    <script type="text/javascript" src="../main.js"></script>
-    <script type="text/javascript" src="../request.js"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.min.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.utils.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.ext.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.metadata.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.tablesorter.min.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.upload-1.0.2.min.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.dhisAjaxSelect.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/ui/jquery-ui-1.9.1.custom.min.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/ui/jquery.blockUI.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.validate.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.validate.ext.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.cookie.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.glob.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.date.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.tmpl.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.autogrow.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/underscore.min.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.util.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/commons.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/commons.ajax.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/lists.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/periodType.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/date.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/json2.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/validationRules.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.array.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.select.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.comparator.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.availability.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.trigger.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.sharing.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.ss.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.ls.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.idb.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.memory.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.storage.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.contextmenu.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/javascripts/dhis2/dhis2.appcache.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../dhis-web-commons/i18nJavaScript.action?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../main.js?_rev=$!{buildRevision}"></script>
+    <script type="text/javascript" src="../request.js?_rev=$!{buildRevision}"></script>
     #foreach( $javascript in $javascripts )
-    <script type="text/javascript" src="$javascript"></script>
+    <script type="text/javascript" src="${javascript}?_rev=$!{buildRevision}"></script>
     #end
   </head>
 

=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/webportal/interceptor/XWorkPortalParamsInterceptor.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/webportal/interceptor/XWorkPortalParamsInterceptor.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/webportal/interceptor/XWorkPortalParamsInterceptor.java	2013-12-18 11:53:56 +0000
@@ -28,15 +28,18 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.config.entities.ActionConfig;
+import com.opensymphony.xwork2.interceptor.Interceptor;
+import org.hisp.dhis.system.SystemService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.config.entities.ActionConfig;
-import com.opensymphony.xwork2.interceptor.Interceptor;
-
 /**
  * @author Torgeir Lorange Ostby
  * @version $Id: WebWorkPortalParamsInterceptor.java 4559 2008-02-09 18:47:24Z torgeilo $
@@ -50,6 +53,18 @@
     private static final long serialVersionUID = 4915716647953480053L;
 
     // -------------------------------------------------------------------------
+    // Dependencies
+    // -------------------------------------------------------------------------
+
+    private SystemService systemService;
+
+    @Autowired
+    public void setSystemService( SystemService systemService )
+    {
+        this.systemService = systemService;
+    }
+
+    // -------------------------------------------------------------------------
     // External configuration
     // -------------------------------------------------------------------------
 
@@ -87,13 +102,13 @@
         final Map<String, String> staticParams = actionConfig.getParams();
 
         if ( staticParams != null )
-        {            
+        {
             // ---------------------------------------------------------------------
             // Push the specified static parameters onto the value stack
             // ---------------------------------------------------------------------
-    
+
             Map<String, Object> matches = new HashMap<String, Object>();
-    
+
             for ( Map.Entry<String, String> entry : staticParams.entrySet() )
             {
                 if ( standardParams.contains( entry.getKey() ) )
@@ -103,19 +118,32 @@
                 else if ( commaSeparatedParams.contains( entry.getKey() ) )
                 {
                     String[] values = entry.getValue().split( "," );
-    
+
                     for ( int i = 0; i < values.length; i++ )
                     {
                         values[i] = values[i].trim();
                     }
-                    
+
                     matches.put( entry.getKey(), values );
                 }
             }
-    
+
             actionInvocation.getStack().push( matches );
         }
-        
+
+        // TODO: move this to its own systemInfoInterceptor?
+        Map<String, Object> systemInfo = new HashMap<String, Object>();
+
+        String revision = systemService.getSystemInfo().getRevision();
+
+        if ( StringUtils.isEmpty( revision ) )
+        {
+            revision = "__dev__";
+        }
+
+        systemInfo.put( "buildRevision", revision );
+        actionInvocation.getStack().push( systemInfo );
+
         return actionInvocation.invoke();
     }
 }