Index: lams_admin/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_admin/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_admin/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_build/lib/lams/lams-learning.jar =================================================================== diff -u -re3ce54ff7b473269e6148ad285f0148c61ae20af -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 Binary files differ Index: lams_central/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_central/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_central/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_gradebook/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_gradebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_gradebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java =================================================================== diff -u -rd19a95db673b7cf90351de4d567299c5fa86b450 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java (.../ILearnerService.java) (revision d19a95db673b7cf90351de4d567299c5fa86b450) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java (.../ILearnerService.java) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -23,6 +23,7 @@ package org.lamsfoundation.lams.learning.service; +import java.util.Collection; import java.util.Date; import java.util.List; @@ -59,5 +60,7 @@ void createCommandForLearner(Long lessonId, String userName, String jsonCommand); + void createCommandForLearners(Long toolContentId, Collection userIds, String jsonCommand); + List getCommandsForLesson(Long lessonId, Date laterThan); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== diff -u -r7913826df20868a8bf035076a14ac89d5e615b46 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 7913826df20868a8bf035076a14ac89d5e615b46) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -26,6 +26,7 @@ import java.sql.Timestamp; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -1398,6 +1399,22 @@ } @Override + public void createCommandForLearners(Long toolContentId, Collection userIds, String jsonCommand) { + // find lesson for given tool content ID + ToolActivity activity = activityDAO.getToolActivityByToolContentId(toolContentId); + LearningDesign learningDesign = activity.getLearningDesign(); + Lesson lesson = (Lesson) learningDesign.getLessons().iterator().next(); + Long lessonId = lesson.getLessonId(); + + // go through each user, find his user name and add a command for him + for (Integer userId : userIds) { + User user = (User) activityDAO.find(User.class, userId); + Command command = new Command(lessonId, user.getLogin(), jsonCommand); + commandDAO.insert(command); + } + } + + @Override public List getCommandsForLesson(Long lessonId, Date laterThan) { return commandDAO.getNewCommands(lessonId, laterThan); } Index: lams_learning/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_learning/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_learning/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_monitoring/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_monitoring/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_monitoring/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_assessment/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_assessment/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_assessment/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_bbb/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_bbb/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_bbb/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_chat/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_chat/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_chat/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_daco/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_daco/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_daco/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_doku/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r1bf70a335f5b30a1907ccae506908b05374c6c8c -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_doku/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1bf70a335f5b30a1907ccae506908b05374c6c8c) +++ lams_tool_doku/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_forum/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_forum/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_forum/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_gmap/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_gmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_gmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_images/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_images/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_images/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_imscc/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_imscc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_imscc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_kaltura/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_kaltura/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_kaltura/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_lamc/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_lamc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_lamc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_laqa/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_laqa/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_laqa/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_larsrc/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_larsrc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_larsrc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_leader/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_leader/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_leader/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_mindmap/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_mindmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_mindmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_nb/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_nb/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_nb/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_notebook/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_notebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_notebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_pixlr/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_pixlr/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_pixlr/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_preview/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r1bf70a335f5b30a1907ccae506908b05374c6c8c -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_preview/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1bf70a335f5b30a1907ccae506908b05374c6c8c) +++ lams_tool_preview/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_sbmt/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_sbmt/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_sbmt/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_scratchie/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_scratchie/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_scratchie/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_scribe/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_scribe/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_scribe/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_spreadsheet/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_spreadsheet/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_spreadsheet/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_survey/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_survey/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_survey/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_task/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_task/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_task/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_vote/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_vote/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_vote/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_tool_wiki/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_tool_wiki/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_tool_wiki/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; } Index: lams_www/web/WEB-INF/tags/Page.tag =================================================================== diff -u -rfe29484b119222b63a74e3cdeebd7f25d82d5507 -rb32cbfc76a3cd150823b3696160d5fd4fa6cde84 --- lams_www/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision fe29484b119222b63a74e3cdeebd7f25d82d5507) +++ lams_www/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision b32cbfc76a3cd150823b3696160d5fd4fa6cde84) @@ -112,6 +112,8 @@ commandWebsocketPingTimeout = null, commandWebsocketPingFunc = null, commandWebsocketReconnectAttempts = 0, + commandWebsocketHookTrigger = null, + commandWebsocketHook = null, bars = { 'learnerMainBar' : { @@ -206,6 +208,12 @@ if (command.message) { alert(command.message); } + // if learner's currently displayed page has hookTrigger same as in the JSON + // then a function also defined on that page will run + if (command.hookTrigger && command.hookTrigger == commandWebsocketHookTrigger + && typeof commandWebsocketHook === 'function') { + commandWebsocketHook(command.hookParams); + } if (command.redirectURL) { window.location.href = command.redirectURL; }