Index: src/main/webapp/newsession.xhtml
===================================================================
--- src/main/webapp/newsession.xhtml	(revision 12)
+++ src/main/webapp/newsession.xhtml	(revision 13)
@@ -29,5 +29,5 @@
 	<br /> Domain/Profile Server:
 	<input type="url" name="url" id="profilesserverurl"
-		value="localhost:8080/profilesserver-1.3.1"
+		value="localhost:8080/profilesserver-1.4.0"
 		pattern=".*:[0-9]+/profilesserver" size="30"
 		onchange="connectDomain()"> </input>
@@ -43,5 +43,5 @@
 		<br /> <b>Participants</b> <br /> Parties Server: <input type="url"
 			name="url" id="partiesserverurl"
-			value="localhost:8080/partiesserver-1.3.1"
+			value="localhost:8080/partiesserver-1.4.0"
 			pattern=".*:[0-9]+/partiesserver" size="30"
 			onchange="connectParties()"> </input> <br /> <br /> <b>Party
@@ -273,8 +273,8 @@
 	 refresh table: copy all parties elements in there.
 	 Typically parties is something like
-	 [{"uri":"http:130.161.180.1:8080/partiesserver/run/randomparty-1.3.1",
+	 [{"uri":"http:130.161.180.1:8080/partiesserver/run/randomparty-1.4.0",
 		 "capabilities":{"protocols":["SAOP"]},
 		 "description":"places random bids until it can accept an offer with utility >0.6",
-		 "id":"randomparty-1.3.1",
+		 "id":"randomparty-1.4.0",
 		 "partyClass":"geniusweb.exampleparties.randomparty.RandomParty"},
 		 		 ...]
@@ -571,6 +571,6 @@
 	function init() {
 		selectProtocol();
-		document.getElementById("partiesserverurl").value =window.location.hostname+":8080/partiesserver-1.3.1"
-		document.getElementById("profilesserverurl").value =window.location.hostname+":8080/profilesserver-1.3.1"
+		document.getElementById("partiesserverurl").value =window.location.hostname+":8080/partiesserver-1.4.0"
+		document.getElementById("profilesserverurl").value =window.location.hostname+":8080/profilesserver-1.4.0"
 		connectDomain();
 		connectParties();
Index: src/main/webapp/utilstable.xhtml
===================================================================
--- src/main/webapp/utilstable.xhtml	(revision 12)
+++ src/main/webapp/utilstable.xhtml	(revision 13)
@@ -4,5 +4,4 @@
 <title>Show tournament results table</title>
 <link rel="stylesheet" type="text/css" href="style.css" />
-<script src="Chart.min_2.8.0.js"></script>
 </head>
 <style>
@@ -150,20 +149,17 @@
         /**
         This function returns immediately and will add the profile to the profiles dictionary some time later.
+        @param profurl the  profile URL may have ?partial filter.
         @param callwhendone function is called (without arguments) when profiles contains no pending anymore
         */
-        function getProfile(profileurl, callwhendone) {
-        	profiles[profileurl]='pending';
-        	
-			var profileurl1 = profileurl; // idem but possibly without query
-    		if (SHAOP) {
-    			profileurl1 = profileurl1.split('?',1)[0]; // hacky, remove complete query.
-    		}
-
-			setStatus("fetching profile "+profileurl1);
+        function getProfile(profurl, callwhendone) {
+        	profiles[profurl]='pending'; // store ORIGINAL URL 
+    		var	profileurl = profurl.split('?',1)[0]; // hacky, remove complete query.
+
+			setStatus("fetching profile "+profileurl);
 			var ws;
             if ('WebSocket' in window) {
-                ws = new WebSocket(profileurl1);
+                ws = new WebSocket(profileurl);
             } else if ('MozWebSocket' in window) {
-                ws = new MozWebSocket(profileurl1);
+                ws = new MozWebSocket(profileurl);
             } else {
                 setStatus('Fatal: WebSocket is not supported by this browser. Please use a newer browser');
@@ -174,9 +170,9 @@
             	var profile = JSON.parse(event.data);
             	if (profile['LinearAdditiveUtilitySpace']==undefined) {
-                    setStatus('Fatal: profile '+uri+" does not contain a LinearAdditiveUtilitySpace.");
+                    setStatus('Fatal: profile '+profileurl+" does not contain a LinearAdditiveUtilitySpace.");
                     return;
             	}
 
-            	profiles[profileurl]=profile['LinearAdditiveUtilitySpace'];
+            	profiles[profurl]=profile['LinearAdditiveUtilitySpace'];
             	
             	checkAllProfiles(callwhendone);
