Author: jfthomps Date: Fri May 18 17:20:11 2012 New Revision: 1340176 URL: http://svn.apache.org/viewvc?rev=1340176&view=rev Log: VCL-576 Finalizing for 2.3 release
added $VCLversion global variable that is set in index.php as the current version of VCL. This is then used when javascript files are included in the page headers as an appended query variable in the form of somefile.js?v=$v where $v is locally set to $VCLversion. This makes browsers reload the javascript file whenever $VCLversion is changed so that people don't end up with old, cached javascript files with new code, resulting in things not working correctly. For whatever, we're regularly seeing apache and browsers think the javascript files have not been modified since the browser last loaded them when they actually have. Modified: incubator/vcl/trunk/web/.ht-inc/utils.php incubator/vcl/trunk/web/index.php incubator/vcl/trunk/web/themes/default/page.php Modified: incubator/vcl/trunk/web/.ht-inc/utils.php URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/.ht-inc/utils.php?rev=1340176&r1=1340175&r2=1340176&view=diff ============================================================================== --- incubator/vcl/trunk/web/.ht-inc/utils.php (original) +++ incubator/vcl/trunk/web/.ht-inc/utils.php Fri May 18 17:20:11 2012 @@ -10485,7 +10485,7 @@ function getExtraCSS() { /// //////////////////////////////////////////////////////////////////////////////// function getDojoHTML($refresh) { - global $mode, $actions, $skin, $locale; + global $mode, $actions, $skin, $locale, $VCLversion; $filename = ''; $dojoRequires = array(); @@ -10774,6 +10774,7 @@ function getDojoHTML($refresh) { $customfile = sprintf("<script type=\"text/javascript\" src=\"dojo/dojo/%s\"></script>\n", $filename); $rt = ''; $jslocale = strtolower(str_replace('_', '-', $locale)); + $v = $VCLversion; switch($mode) { case "connectRequest": $rt .= "<style type=\"text/css\">\n"; @@ -10782,7 +10783,7 @@ function getDojoHTML($refresh) { $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/requests.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/requests.js?v=$v\"></script>\n"; $rt .= $customfile; $rt .= "<script type=\"text/javascript\">\n"; $rt .= " dojo.addOnLoad(function() {\n"; @@ -10800,7 +10801,7 @@ function getDojoHTML($refresh) { $rt .= " @import \"dojo/dojox/layout/resources/FloatingPane.css\";\n"; $rt .= " @import \"dojo/dojox/layout/resources/ResizeHandle.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/requests.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/requests.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -10828,7 +10829,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/requests.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/requests.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -10852,7 +10853,7 @@ function getDojoHTML($refresh) { $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= " @import \"dojo/dojox/grid/resources/Grid.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/blockallocations.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/blockallocations.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -10879,7 +10880,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/blockallocations.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/blockallocations.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -10897,7 +10898,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/blockallocations.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/blockallocations.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -10917,7 +10918,7 @@ function getDojoHTML($refresh) { $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= " @import \"dojo/dojox/grid/resources/Grid.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/schedules.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/schedules.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -10942,7 +10943,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/images.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/images.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -10975,7 +10976,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/images.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/images.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -11022,7 +11023,7 @@ function getDojoHTML($refresh) { else $rt .= " var firstscroll = 0;\n"; $rt .= "</script>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/groups.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/groups.js?v=$v\"></script>\n"; return $rt; case 'editMgmtNode': @@ -11043,15 +11044,15 @@ function getDojoHTML($refresh) { $rt .= " });\n"; $rt .= " dojo.addOnLoad(function() {document.onmousemove = updateMouseXY;});\n"; $rt .= "</script>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/managementnodes.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/managementnodes.js?v=$v\"></script>\n"; return $rt; case "serverProfiles": $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/serverprofiles.js\"></script>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/requests.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/serverprofiles.js?v=$v\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/requests.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -11073,7 +11074,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/computers.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/computers.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -11099,7 +11100,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/computers.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/computers.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -11125,7 +11126,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/vm.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/vm.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -11148,7 +11149,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/privileges.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/privileges.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -11165,7 +11166,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/sitemaintenance.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/sitemaintenance.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -11181,7 +11182,7 @@ function getDojoHTML($refresh) { $rt .= "<style type=\"text/css\">\n"; $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/statistics.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/statistics.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; @@ -11199,7 +11200,7 @@ function getDojoHTML($refresh) { $rt .= " @import \"themes/$skin/css/dojo/$skin.css\";\n"; $rt .= " @import \"css/dashboard.css\";\n"; $rt .= "</style>\n"; - $rt .= "<script type=\"text/javascript\" src=\"js/dashboard.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/dashboard.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\" src=\"dojo/dojo/dojo.js\"\n"; $rt .= " djConfig=\"parseOnLoad: true, locale: '$jslocale'\">\n"; $rt .= "</script>\n"; Modified: incubator/vcl/trunk/web/index.php URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/index.php?rev=1340176&r1=1340175&r2=1340176&view=diff ============================================================================== --- incubator/vcl/trunk/web/index.php (original) +++ incubator/vcl/trunk/web/index.php Fri May 18 17:20:11 2012 @@ -17,6 +17,7 @@ */ # ASF VCL v2.3 +$VCLversion = '2.3'; @include_once("fckeditor/fckeditor.php"); require_once(".ht-inc/conf.php"); Modified: incubator/vcl/trunk/web/themes/default/page.php URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/themes/default/page.php?rev=1340176&r1=1340175&r2=1340176&view=diff ============================================================================== --- incubator/vcl/trunk/web/themes/default/page.php (original) +++ incubator/vcl/trunk/web/themes/default/page.php Fri May 18 17:20:11 2012 @@ -28,7 +28,8 @@ /// //////////////////////////////////////////////////////////////////////////////// function getHeader($refresh) { - global $user, $mode, $authed, $locale; + global $user, $mode, $authed, $locale, $VCLversion; + $v = $VCLversion; #$rt = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\">\n"; $rt = "<!DOCTYPE html>\n"; $rt .= "<html lang=\"$locale\">\n"; @@ -43,9 +44,9 @@ function getHeader($refresh) { $rt .= "<title>VCL :: Virtual Computing Lab</title>\n"; $rt .= "<link rel=stylesheet type=\"text/css\" href=\"css/vcl.css\">\n"; $rt .= "<link rel=stylesheet type=\"text/css\" href=\"themes/default/css/vcl.css\">\n"; - $rt .= "<script src=\"js/code.js\" type=\"text/javascript\"></script>\n"; + $rt .= "<script src=\"js/code.js?v=$v\" type=\"text/javascript\"></script>\n"; if($usenls) - $rt .= "<script type=\"text/javascript\" src=\"js/nls/$locale/messages.js\"></script>\n"; + $rt .= "<script type=\"text/javascript\" src=\"js/nls/$locale/messages.js?v=$v\"></script>\n"; $rt .= "<script type=\"text/javascript\">\n"; $rt .= "var cookiedomain = '" . COOKIEDOMAIN . "';\n"; $rt .= "usenls = $usenlsstr;\n";