Index: lams_admin/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_admin/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_admin/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_admin/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_admin/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_admin/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_admin/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_admin/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_admin/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + }
@@ -216,4 +219,4 @@ - + \ No newline at end of file Index: lams_admin/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_admin/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_admin/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_central/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r0993bbd812a25ddb84feec64dd0e4847ce32d164 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_central/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0993bbd812a25ddb84feec64dd0e4847ce32d164) +++ lams_central/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } Index: lams_central/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r0993bbd812a25ddb84feec64dd0e4847ce32d164 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_central/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0993bbd812a25ddb84feec64dd0e4847ce32d164) +++ lams_central/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } Index: lams_central/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_central/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_central/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_gradebook/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_gradebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_gradebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_gradebook/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_gradebook/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_gradebook/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_gradebook/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_gradebook/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_gradebook/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_gradebook/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_gradebook/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_gradebook/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_learning/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_learning/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_learning/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_learning/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_learning/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_learning/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_learning/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_learning/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_learning/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_learning/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_learning/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_learning/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_monitoring/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_monitoring/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_monitoring/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_monitoring/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_monitoring/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_monitoring/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_monitoring/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_monitoring/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_monitoring/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_monitoring/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_monitoring/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_monitoring/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_assessment/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rad2e7ba2aba306cecdd57743c3cc455f7acea16d -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision ad2e7ba2aba306cecdd57743c3cc455f7acea16d) +++ lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -432,6 +432,7 @@ label.authoring.preview.skip.validation = As a learner you should answer all required questions. In preview mode you are allowed to press this button again to continue. label.monitoring.student.choices.none = No learners have answered questions yet label.monitoring.user.summary.grade.required = requires grading +label.monitoring.user.summary.grade.auto = auto-graded label.monitoring.user.summary.grade.by = graded by {0} label.learning.page.next = Next page label.learning.page.previous = Previous page Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== diff -u -r0edec29c40635712f7efedfea92d27fb263b841d -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 0edec29c40635712f7efedfea92d27fb263b841d) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -857,14 +857,29 @@ } } + StringBuilder autosaveLogBuilder = null; + if (StringUtils.isNotBlank(questionResult.getAnswer()) && "".equals(questionDto.getAnswer())) { + autosaveLogBuilder = new StringBuilder("For learner ").append(assessmentResult.getUser().getUid()) + .append(" \"").append(assessmentResult.getUser().getLoginName()).append("\" for question ") + .append(questionDto.getUid()).append(" for question result ").append(questionResult.getUid()) + .append(" answer was \"").append(questionResult.getAnswer()) + .append("\" and it is now blank, skipping save."); + log.warn(autosaveLogBuilder); + if (logAutosave.isTraceEnabled()) { + logAutosave.trace(autosaveLogBuilder); + } + questionResult.setAnswerModified(false); + return questionResult; + } + boolean isAnswerModified = !Objects.equals(questionResult.getAnswerBoolean(), questionDto.getAnswerBoolean()) || !Objects.equals( questionResult.getAnswerFloat(), questionDto.getAnswerFloat()) || !Objects.equals( questionResult.getAnswer(), questionDto.getAnswer()); // this is for logging every autosave as requested by Imperial // it produces a lot of logs, so it goes to a separate file - StringBuilder autosaveLogBuilder = null; + if (logAutosave.isTraceEnabled()) { autosaveLogBuilder = new StringBuilder("For learner ").append(assessmentResult.getUser().getUid()) .append(" \"").append(assessmentResult.getUser().getLoginName()).append("\" for question ") @@ -932,8 +947,9 @@ } // store justification entered by the learner - if (assessment.isAllowAnswerJustification() || (questionDto.getType().equals(QbQuestion.TYPE_MARK_HEDGING) - && questionDto.isHedgingJustificationEnabled())) { + if (assessment.isAllowAnswerJustification() || (questionDto.getType(). + + equals(QbQuestion.TYPE_MARK_HEDGING) && questionDto.isHedgingJustificationEnabled())) { isAnswerModified |= !Objects.equals(questionResult.getJustification(), questionDto.getJustification()); questionResult.setJustification(questionDto.getJustification()); } @@ -3075,9 +3091,9 @@ } } - // ***************************************************************************** - // private methods - // ***************************************************************************** +// ***************************************************************************** +// private methods +// ***************************************************************************** private Assessment getDefaultAssessment() throws AssessmentApplicationException { Long defaultAssessmentId = getToolDefaultContentIdBySignature(AssessmentConstants.TOOL_SIGNATURE); @@ -3101,9 +3117,9 @@ return contentId; } - // ***************************************************************************** - // set methods for Spring Bean - // ***************************************************************************** +// ***************************************************************************** +// set methods for Spring Bean +// ***************************************************************************** public void setLogEventService(ILogEventService logEventService) { this.logEventService = logEventService; @@ -3149,9 +3165,9 @@ this.assessmentConfigDao = assessmentConfigDao; } - // ******************************************************************************* - // ToolContentManager, ToolSessionManager methods - // ******************************************************************************* +// ******************************************************************************* +// ToolContentManager, ToolSessionManager methods +// ******************************************************************************* @Override public void exportToolContent(Long toolContentId, String rootPath) throws DataMissingException, ToolException { Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java =================================================================== diff -u -r0edec29c40635712f7efedfea92d27fb263b841d -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 0edec29c40635712f7efedfea92d27fb263b841d) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -650,11 +650,24 @@ //LDEV_NTU-11 Swapping Mark and Response columns in Assessment Monitor userData.add(questionResult.getQbQuestion().getType().equals(QbQuestion.TYPE_ESSAY) && questionResult.getMarkedBy() == null ? "-" : questionResult.getMark().toString()); - userData.add(questionResult.getMarkedBy() == null - ? (questionResult.getQbQuestion().getType().equals(QbQuestion.TYPE_ESSAY) ? service.getMessage( - "label.monitoring.user.summary.grade.required") : "") - : questionResult.getMarkedBy().getFullName()); - userData.add(questionResult.getMarkerComment()); + + String marker = ""; + if (questionResult.getMarkedBy() == null) { + if (questionResult.getQbQuestion().getType().equals(QbQuestion.TYPE_ESSAY)) { + marker = "(" + service.getMessage("label.monitoring.user.summary.grade.required") + ")"; + } else { + marker = "(" + service.getMessage("label.monitoring.user.summary.grade.auto") + ")"; + } + } else { + marker = questionResult.getMarkedBy().getFullName(); + } + userData.add(marker); + + String markerCommentEscaped = ""; + if (StringUtils.isNotBlank(questionResult.getMarkerComment())) { + markerCommentEscaped = questionResult.getMarkerComment().replace("\n", "
"); + } + userData.add(markerCommentEscaped); } else { userData.add(""); userData.add(""); Index: lams_tool_assessment/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_assessment/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_assessment/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_assessment/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_assessment/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_assessment/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_assessment/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_assessment/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_assessment/web/pages/learning/learning.jsp =================================================================== diff -u -r21aea119939539ce08a947354f84cb7dc6980d38 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 21aea119939539ce08a947354f84cb7dc6980d38) +++ lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -268,13 +268,14 @@ //autosave feature - var autosaveInterval = ${isLeadershipEnabled and isUserLeader ? 10000 : 30000}; // 30 or 10 seconds interval + var autosaveInterval = ${isLeadershipEnabled and isUserLeader ? 10000 : 30000}, // 30 or 10 seconds interval + autosaveWindowId = new Date().getTime(); // all we need for this ID is to be unique function learnerAutosave(isCommand){ // isCommand means that the autosave was triggered by force complete or another command websocket message // in this case do not check multiple tabs open, just autosave if (!isCommand) { - let shouldAutosave = preventLearnerAutosaveFromMultipleTabs(autosaveInterval); + let shouldAutosave = preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval); if (!shouldAutosave) { return; } @@ -348,9 +349,9 @@ // validate only if time limit is not expired // otherwise confirm with learner that he wants to submit if (!isTimelimitExpired && (!validateAnswers() - || (!isResubmitAllowed && - !confirm("")))) { - return; + || (!isResubmitAllowed && + !confirm("")))) { + return; } disableButtons(); @@ -617,9 +618,9 @@
- +
-
+
<%@ include file="parts/paging.jsp"%> @@ -638,4 +639,4 @@
- + \ No newline at end of file Index: lams_tool_assessment/web/pages/monitoring/parts/usersummary.jsp =================================================================== diff -u -r0edec29c40635712f7efedfea92d27fb263b841d -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/web/pages/monitoring/parts/usersummary.jsp (.../usersummary.jsp) (revision 0edec29c40635712f7efedfea92d27fb263b841d) +++ lams_tool_assessment/web/pages/monitoring/parts/usersummary.jsp (.../usersummary.jsp) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -4,367 +4,377 @@ - - <%@ include file="/common/header.jsp"%> - - - - - - - - - - - - - - - - - - - <%-- codeStyles is a set, so each code style will be listed only once --%> - - - - - - - - - - - - - - - - - - + + + + + + -
-
-
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - ${userSummary.numberOfAttempts} -
- - - - -
- - -
${userSummary.lastAttemptGrade}
-
- - -
-
-
-
- - - - - - - - - -
- - - -
- - - -
-
-
- + -
- - - - + + + -
- + + + + + <%-- codeStyles is a set, so each code style will be listed only once --%> + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + ${userSummary.numberOfAttempts} +
+ + + + +
+ + +
${userSummary.lastAttemptGrade}
+
+ + +
+
+
+
+ + + + + + + + + +
+ + + +
+ + + +
+
+
+ + + +
+
+
+ + <%--Display Etherpad for each question --%> + +
+ + +
+
+ +
+
+
+
+
+ + + + + +
+ + + + + +
+ \ No newline at end of file Index: lams_tool_assessment/web/pages/monitoring/summary.jsp =================================================================== diff -u -r0edec29c40635712f7efedfea92d27fb263b841d -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_assessment/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 0edec29c40635712f7efedfea92d27fb263b841d) +++ lams_tool_assessment/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -193,20 +193,29 @@ {name:'grade', index:'grade', width:80, sorttype:"float", editable:true, editoptions: {size:4, maxlength: 4}, align:"right", classes: 'vertical-align', title : false }, - {name:'marker', index:'marker', width: 80, title: false}, - {name:'markerComment', index:'markerComment', width:120, editable:true, sortable: false, - editoptions: {maxlength: 600}, align:"left", classes: 'vertical-align', title : false } + {name:'marker', index:'marker', width: 110, title: false}, + {name:'markerComment', index:'markerComment', width:300, editable:true, edittype: 'textarea', + sortable: false, editoptions: {maxlength: 3000, rows: 6}, title : false, + formatter:function(cellvalue, options, rowObject, event) { + if (event == "edit") { + cellvalue = cellvalue.replace(/\n/g, '\n
'); + } + return cellvalue; + }, + unformat:function(cellvalue, options, rowObject) { + return rowObject.innerText; + } + } ], multiselect: false, - cellurl: '&', cellEdit: true, formatCell: function(rowid, name, value, iRow, iCol){ if (name != "grade") { return value; } if (value == "-") { - value = "0"; + value = ""; } return value; }, Index: lams_tool_chat/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_chat/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_chat/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_chat/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_chat/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_chat/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_chat/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_chat/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_chat/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_chat/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_chat/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_chat/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_daco/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_daco/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_daco/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_daco/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_daco/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_daco/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_daco/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_daco/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_daco/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_daco/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_daco/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_daco/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_doku/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_doku/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_doku/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_doku/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_doku/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_doku/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_doku/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_doku/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_doku/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_doku/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_doku/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_doku/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_forum/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_forum/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_forum/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_forum/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_forum/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_forum/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_forum/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_forum/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_forum/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_forum/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_forum/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_forum/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_gmap/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_gmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_gmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_gmap/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_gmap/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_gmap/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_gmap/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_gmap/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_gmap/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_gmap/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_gmap/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_gmap/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_images/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_images/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_images/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_images/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_images/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_images/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_images/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_images/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_images/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_images/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_images/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_images/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_imscc/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_imscc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_imscc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_imscc/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_imscc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_imscc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_imscc/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_imscc/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_imscc/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_imscc/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_imscc/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_imscc/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_lamc/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_lamc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_lamc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_lamc/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_lamc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_lamc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_lamc/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_lamc/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_lamc/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_lamc/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_lamc/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_lamc/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_lamc/web/learning/AnswersContent.jsp =================================================================== diff -u -rdf77b7fe375d1d68d4e064748653be8ac8816f93 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_lamc/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision df77b7fe375d1d68d4e064748653be8ac8816f93) +++ lams_tool_lamc/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -9,158 +9,159 @@ - + - - - + + + -
- - - - - - - - - - +
+ + + + + + + + + + - - - ( ) - - + + + ( ) + + - - - - - -
- -
+ + + + -
- - - - - - - +
+ +
- +
+ + + + + + + - - - - - - - - - -
-
- + + + + + + + + + + + +
+
+
\ No newline at end of file Index: lams_tool_laqa/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_laqa/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_laqa/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_laqa/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_laqa/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_laqa/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_laqa/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_laqa/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_laqa/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_laqa/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_laqa/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_laqa/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_laqa/web/learning/AnswersContent.jsp =================================================================== diff -u -r7a1a9b453d15b75fbdbd78906aa7ced81f4c711e -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_laqa/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision 7a1a9b453d15b75fbdbd78906aa7ced81f4c711e) +++ lams_tool_laqa/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -2,7 +2,7 @@ <%@ include file="/common/taglibs.jsp"%> - + @@ -14,281 +14,282 @@ - - -
- + - - - - - +
+ - - - - - - - - - + + + + + - - - + + + + + + + + + - + + + -
- -
+ - - - - - - - +
+ +
-
- -
+ + + + + + + -
- - - - - -   -   - - - - +
+ +
- - -   -   - - +
+ + + + + +   +   + + + + - - + + +   +   + + - - - -   -   - - - + + - - - -
- -
+ + + +   +   + + + - - - - - - - - + + + + + + + <%-- Connect to command websocket only if it is learner UI --%> + + // command websocket stuff for refreshing + // trigger is an unique ID of page and action that command websocket code in Page.tag recognises + commandWebsocketHookTrigger = 'qa-leader-change-refresh-${generalLearnerFlowDTO.toolSessionID}'; + // if the trigger is recognised, the following action occurs + commandWebsocketHook = function() { + location.reload(); + }; + + }); + + \ No newline at end of file Index: lams_tool_larsrc/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_larsrc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_larsrc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_larsrc/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_larsrc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_larsrc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_larsrc/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_larsrc/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_larsrc/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_larsrc/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_larsrc/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_larsrc/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_leader/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_leader/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_leader/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_leader/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_leader/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_leader/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_leader/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_leader/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_leader/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_leader/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_leader/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_leader/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_mindmap/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_mindmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_mindmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_mindmap/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_mindmap/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_mindmap/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_mindmap/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_mindmap/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_mindmap/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_mindmap/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_mindmap/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_mindmap/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_nb/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_nb/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_nb/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_nb/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_nb/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_nb/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_nb/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_nb/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_nb/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_nb/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_nb/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_nb/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_notebook/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_notebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_notebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_notebook/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_notebook/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_notebook/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_notebook/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_notebook/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_notebook/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_notebook/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_notebook/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_notebook/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_pixlr/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_pixlr/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_pixlr/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_pixlr/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_pixlr/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_pixlr/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_pixlr/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_pixlr/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_pixlr/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_pixlr/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_pixlr/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_pixlr/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_preview/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_preview/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_preview/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_preview/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_preview/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_preview/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_preview/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_preview/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_preview/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_sbmt/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_sbmt/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_sbmt/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_sbmt/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_sbmt/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_sbmt/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_sbmt/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_sbmt/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_sbmt/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_sbmt/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_sbmt/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_sbmt/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_scratchie/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_scratchie/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_scratchie/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_scratchie/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_scratchie/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_scratchie/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_scratchie/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_scratchie/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_scratchie/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_scratchie/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_scratchie/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_scratchie/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_scratchie/web/pages/learning/learning.jsp =================================================================== diff -u -r8954302ed9109e5bd84df58c2eb95f2cbc447892 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_scratchie/web/pages/learning/learning.jsp (.../learning.jsp) (revision 8954302ed9109e5bd84df58c2eb95f2cbc447892) +++ lams_tool_scratchie/web/pages/learning/learning.jsp (.../learning.jsp) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -281,7 +281,7 @@ } function checkAllCorrectMcqAnswersFound() { - var numberOfAvailableScratches = $('[id^=imageLink-][${scratchie.revealOnDoubleClick ? "ondblclick" : "onclick"}]').length; + var numberOfAvailableScratches = $('[id^=imageLink-][${scratchie.revealOnDoubleClick ? "ondblclick" : "onclick"}]').length; if (numberOfAvailableScratches > 0) { $('#finishButton') .prop('disabled', true) @@ -451,14 +451,15 @@ //autosave feature - var autosaveInterval = "60000"; // 60 seconds interval + var autosaveInterval = "60000", // 60 seconds interval + autosaveWindowId = new Date().getTime(); // all we need for this ID is to be unique window.setInterval(learnerAutosave, autosaveInterval); function learnerAutosave(isCommand){ // isCommand means that the autosave was triggered by force complete or another command websocket message // in this case do not check multiple tabs open, just autosave if (!isCommand) { - let shouldAutosave = preventLearnerAutosaveFromMultipleTabs(autosaveInterval); + let shouldAutosave = preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval); if (!shouldAutosave) { return; } @@ -481,7 +482,7 @@ var proceed = true; // ask for leave confirmation only if time limit is not expired if (!isTimelimitExpired) { - var numberOfAvailableScratches = $("[id^=imageLink-][${scratchie.revealOnDoubleClick ? "ondblclick" : "onclick"}], [id^=type-your-answer-]:visible").length; + var numberOfAvailableScratches = $("[id^=imageLink-][${scratchie.revealOnDoubleClick ? "ondblclick" : "onclick"}], [id^=type-your-answer-]:visible").length; proceed = numberOfAvailableScratches == 0 || confirm(""); } @@ -557,6 +558,6 @@
- +
\ No newline at end of file Index: lams_tool_scribe/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_scribe/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_scribe/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_scribe/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_scribe/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_scribe/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_scribe/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_scribe/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_scribe/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_scribe/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_scribe/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_scribe/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_spreadsheet/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_spreadsheet/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_spreadsheet/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_spreadsheet/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_spreadsheet/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_spreadsheet/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_spreadsheet/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_spreadsheet/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_spreadsheet/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_spreadsheet/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_spreadsheet/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_spreadsheet/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_survey/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_survey/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_survey/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_survey/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_survey/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_survey/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_survey/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_survey/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_survey/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_survey/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_survey/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_survey/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_task/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_task/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_task/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_task/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_task/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_task/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_task/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_task/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_task/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_task/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_task/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_task/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_vote/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_vote/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_vote/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_vote/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_vote/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_vote/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_vote/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_vote/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_vote/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_vote/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_vote/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_vote/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_whiteboard/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_whiteboard/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_whiteboard/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_whiteboard/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_whiteboard/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_whiteboard/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_whiteboard/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_whiteboard/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_whiteboard/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_whiteboard/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_whiteboard/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_whiteboard/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_wiki/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_wiki/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_wiki/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_wiki/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_wiki/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_wiki/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_wiki/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_wiki/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_wiki/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_wiki/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_wiki/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_wiki/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_tool_zoom/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_zoom/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_tool_zoom/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_zoom/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_zoom/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_zoom/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_tool_zoom/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_zoom/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_tool_zoom/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_tool_zoom/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_tool_zoom/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_tool_zoom/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes} Index: lams_www/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_www/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6) +++ lams_www/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -48,7 +48,7 @@ - <%-- only have sidebar and presence in learner main window, not in popup windows --%> + <%-- only have sidebar in learner main window, not in popup windows --%> <%-- Links placed in body instead of head. Ugly, but it works. --%> @@ -163,16 +163,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -215,21 +218,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -379,10 +367,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_www/web/WEB-INF/tags/Page5.tag =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_www/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_www/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -165,16 +165,19 @@ $('#sidebar').show(); } - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { // this label is required only in tool which implement autosave alert(''); return false; } localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); return true; } @@ -217,21 +220,6 @@ } else if ( showControlBar == 2 ) { $('#navcontent').addClass('navcontent'); } - - var presenceEnabledPatch = result.presenceEnabledPatch; - var presenceImEnabled = result.presenceImEnabled; - if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) { - presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch - +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId; - - presenceURL = presenceURL + "&reloadBootstrap=true"; - - $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) { - if ( status == "error" ) { - alert("Unable to load IM: " + xhr.status); - } - }); - } initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws') + 'commandWebsocket?lessonID=' + lessonId, @@ -381,10 +369,6 @@ - <%-- only have sidebar and presence in learner --%> - -
-
Index: lams_www/web/WEB-INF/tags/PageLearner.tag =================================================================== diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_www/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2) +++ lams_www/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -69,19 +69,22 @@ lessonID = ${empty lessonID ? 'null' : lessonID}; initLearnerPage(toolSessionID, lessonID); }); - - function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) { - let currentTime = new Date().getTime(), - lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'); - // check if autosave does not happen too often - if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) { - // this label is required only in tool which implement autosave - alert(''); - return false; - } - localStorage.setItem('lamsAutosaveTimestamp', currentTime); - return true; - } + + function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) { + let currentTime = new Date().getTime(), + lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'), + lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId'); + // check if autosave does not happen too often + if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime + && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) { + // this label is required only in tool which implement autosave + alert(''); + return false; + } + localStorage.setItem('lamsAutosaveTimestamp', currentTime); + localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId); + return true; + } @@ -216,4 +219,4 @@
- + \ No newline at end of file Index: lams_www/web/WEB-INF/tags/StyledRating5.tag =================================================================== diff -u -rb6e8dca20bffba9ce751b917ab4af7b252115f67 -r0b1d534ce1915b907afff0171909f90226b31921 --- lams_www/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision b6e8dca20bffba9ce751b917ab4af7b252115f67) +++ lams_www/web/WEB-INF/tags/StyledRating5.tag (.../StyledRating5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921) @@ -96,18 +96,23 @@ -
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars
- ${rating.userRating} -
+ +
- + - ${userRating} + ${rating.userRating}
@@ -135,10 +140,17 @@
-
+
${criteriaRatings.ratingCriteria.ratingCriteriaId}-${rating.itemId} -
-
+ + + ${(rating.averageRating%1) >= 0.5 ? '.5' : ''} + +
+ Rated: ${dataRating} stars +
+ +
${rating.averageRating} ${rating.numberOfVotes}