Index: lams_tool_scratchie/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rf619aa5955dca265aae7744ea3319f3ec468801e -r714c2ac0cb292aa17fa8457442df8c4d6d2a13a9 --- lams_tool_scratchie/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision f619aa5955dca265aae7744ea3319f3ec468801e) +++ lams_tool_scratchie/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 714c2ac0cb292aa17fa8457442df8c4d6d2a13a9) @@ -177,6 +177,7 @@ label.authoring.advanced.burning.questions = Enable burning questions label.burning.questions = Burning questions label.burning.question = Burning question? +label.burning.questions.none = No burning questions yet... label.time.limit = Time limit (minutes) label.countdown.time.left = Time left label.time.is.over = Time is over. Processing answers... Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/ScratchieConstants.java =================================================================== diff -u -r10d16b726979dd7b3c41def7038e8958b46b638b -r714c2ac0cb292aa17fa8457442df8c4d6d2a13a9 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/ScratchieConstants.java (.../ScratchieConstants.java) (revision 10d16b726979dd7b3c41def7038e8958b46b638b) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/ScratchieConstants.java (.../ScratchieConstants.java) (revision 714c2ac0cb292aa17fa8457442df8c4d6d2a13a9) @@ -194,6 +194,8 @@ //flux management public static final String ANSWERS_UPDATED_SINK_NAME = "scratchie learner answers updated"; - public static final String STUDENT_CHOICES_UPDATE_FLUX_NAME = "scratchie student choices updated"; + + public static final String BURNING_QUESTIONS_UPDATED_SINK_NAME = "scratchie burning questions updated"; + public static final String BURNING_QUESTIONS_UPDATED_FLUX_NAME = "scratchie burning questions updated"; } Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java =================================================================== diff -u -r2ce293098ac08d8e7b214bf53e0fe2f4c1f329a5 -r714c2ac0cb292aa17fa8457442df8c4d6d2a13a9 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision 2ce293098ac08d8e7b214bf53e0fe2f4c1f329a5) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision 714c2ac0cb292aa17fa8457442df8c4d6d2a13a9) @@ -178,9 +178,13 @@ private ScratchieOutputFactory scratchieOutputFactory; public ScratchieServiceImpl() { - FluxRegistry.initFluxMap(ScratchieConstants.ANSWERS_UPDATED_SINK_NAME, + FluxRegistry.initFluxMap(ScratchieConstants.STUDENT_CHOICES_UPDATE_FLUX_NAME, ScratchieConstants.ANSWERS_UPDATED_SINK_NAME, null, toolContentId -> "doRefresh", FluxMap.SHORT_THROTTLE, FluxMap.STANDARD_TIMEOUT); + + FluxRegistry.initFluxMap(ScratchieConstants.BURNING_QUESTIONS_UPDATED_FLUX_NAME, + ScratchieConstants.BURNING_QUESTIONS_UPDATED_SINK_NAME, null, toolContentId -> "doRefresh", + FluxMap.STANDARD_THROTTLE, FluxMap.STANDARD_TIMEOUT); } // ******************************************************************************* @@ -724,6 +728,10 @@ burningQuestion.setGeneralQuestion(isGeneralBurningQuestion); burningQuestion.setSessionId(sessionId); burningQuestion.setAccessDate(new Date()); + + ScratchieSession session = getScratchieSessionBySessionId(sessionId); + FluxRegistry.emit(ScratchieConstants.BURNING_QUESTIONS_UPDATED_SINK_NAME, + session.getScratchie().getContentId()); } burningQuestion.setQuestion(question); Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/controller/TblMonitorController.java =================================================================== diff -u -r997fdd2943e80dbf4e00dfeffb195503646d3447 -r714c2ac0cb292aa17fa8457442df8c4d6d2a13a9 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/controller/TblMonitorController.java (.../TblMonitorController.java) (revision 997fdd2943e80dbf4e00dfeffb195503646d3447) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/controller/TblMonitorController.java (.../TblMonitorController.java) (revision 714c2ac0cb292aa17fa8457442df8c4d6d2a13a9) @@ -153,9 +153,16 @@ @ResponseBody public Flux getTraStudentChoicesFlux(@RequestParam long toolContentId) throws JsonProcessingException, IOException { - return FluxRegistry.get(ScratchieConstants.ANSWERS_UPDATED_SINK_NAME, toolContentId); + return FluxRegistry.get(ScratchieConstants.STUDENT_CHOICES_UPDATE_FLUX_NAME, toolContentId); } + @RequestMapping(path = "/burningQuestionsFlux", method = RequestMethod.GET, produces = MediaType.TEXT_EVENT_STREAM_VALUE) + @ResponseBody + public Flux getBurningQuestionsFlux(@RequestParam long toolContentId) + throws JsonProcessingException, IOException { + return FluxRegistry.get(ScratchieConstants.BURNING_QUESTIONS_UPDATED_FLUX_NAME, toolContentId); + } + /** * Exports tool results into excel. * @@ -199,17 +206,29 @@ } /** - * Shows Teams page + * Shows Burning Questions container page */ @RequestMapping("/burningQuestions") public String burningQuestions(HttpServletRequest request) throws IOException, ServletException { long toolContentId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); Scratchie scratchie = scratchieService.getScratchieByContentId(toolContentId); + request.setAttribute("discussionSentimentEnabled", scratchie.isDiscussionSentimentEnabled()); + return "pages/monitoring/parts/burningQuestions5"; + } + + /** + * Shows Burning Questions content page + */ + @RequestMapping("/burningQuestionsTable") + public String burningQuestionsTable(HttpServletRequest request) throws IOException, ServletException { + long toolContentId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); + Scratchie scratchie = scratchieService.getScratchieByContentId(toolContentId); + //find available burningQuestionDtos, if any if (scratchie.isBurningQuestionsEnabled()) { List burningQuestionItemDtos = scratchieService.getBurningQuestionDtos(scratchie, - null, true, true); + null, false, true); MonitoringController.setUpBurningQuestions(burningQuestionItemDtos); @@ -218,13 +237,10 @@ ScratchieConfigItem hideTitles = scratchieService.getConfigItem(ScratchieConfigItem.KEY_HIDE_TITLES); request.setAttribute(ScratchieConfigItem.KEY_HIDE_TITLES, Boolean.valueOf(hideTitles.getConfigValue())); + request.setAttribute("discussionSentimentEnabled", scratchie.isDiscussionSentimentEnabled()); } - request.setAttribute("isTbl", true); - request.setAttribute(AttributeNames.PARAM_TOOL_CONTENT_ID, scratchie.getContentId()); - request.setAttribute("discussionSentimentEnabled", scratchie.isDiscussionSentimentEnabled()); - - return "pages/monitoring/parts/burningQuestions5"; + return "pages/monitoring/parts/burningQuestionsTable"; } /** Index: lams_tool_scratchie/web/pages/monitoring/parts/burningQuestions5.jsp =================================================================== diff -u -rf619aa5955dca265aae7744ea3319f3ec468801e -r714c2ac0cb292aa17fa8457442df8c4d6d2a13a9 --- lams_tool_scratchie/web/pages/monitoring/parts/burningQuestions5.jsp (.../burningQuestions5.jsp) (revision f619aa5955dca265aae7744ea3319f3ec468801e) +++ lams_tool_scratchie/web/pages/monitoring/parts/burningQuestions5.jsp (.../burningQuestions5.jsp) (revision 714c2ac0cb292aa17fa8457442df8c4d6d2a13a9) @@ -1,7 +1,6 @@ <%@ include file="/common/taglibs.jsp"%>