Index: lams_common/src/java/org/lamsfoundation/lams/qb/service/IQbService.java =================================================================== diff -u -rffd9d97b9e967e027f30a62f888a7f5670b35ba0 -rcee2752fb2ef63145dae66eba09c5c53335822e0 --- lams_common/src/java/org/lamsfoundation/lams/qb/service/IQbService.java (.../IQbService.java) (revision ffd9d97b9e967e027f30a62f888a7f5670b35ba0) +++ lams_common/src/java/org/lamsfoundation/lams/qb/service/IQbService.java (.../IQbService.java) (revision cee2752fb2ef63145dae66eba09c5c53335822e0) @@ -42,6 +42,8 @@ QbStatsDTO getQbQuestionStats(long qbQuestionUid); + QbStatsActivityDTO getActivityStatsByContentId(Long toolContentId, Long qbQuestionUid); + QbStatsActivityDTO getActivityStats(Long activityId, Long qbQuestionUid); QbStatsActivityDTO getActivityStats(Long activityId, Long qbQuestionUid, Collection correctOptionUids); Index: lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java =================================================================== diff -u -rffd9d97b9e967e027f30a62f888a7f5670b35ba0 -rcee2752fb2ef63145dae66eba09c5c53335822e0 --- lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision ffd9d97b9e967e027f30a62f888a7f5670b35ba0) +++ lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision cee2752fb2ef63145dae66eba09c5c53335822e0) @@ -12,6 +12,7 @@ import org.lamsfoundation.lams.gradebook.GradebookUserLesson; import org.lamsfoundation.lams.gradebook.service.IGradebookService; +import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.qb.dao.IQbDAO; import org.lamsfoundation.lams.qb.dto.QbStatsActivityDTO; @@ -116,7 +117,15 @@ return stats; } + @SuppressWarnings("unchecked") @Override + public QbStatsActivityDTO getActivityStatsByContentId(Long toolContentId, Long qbQuestionUid) { + Activity activity = ((List) qbDAO.findByProperty(ToolActivity.class, "toolContentId", toolContentId)) + .get(0); + return getActivityStats(activity.getActivityId(), qbQuestionUid); + } + + @Override public QbStatsActivityDTO getActivityStats(Long activityId, Long qbQuestionUid) { QbQuestion qbQuestion = (QbQuestion) qbDAO.find(QbQuestion.class, qbQuestionUid); Set correctOptionUids = new HashSet<>(); Index: lams_tool_lamc/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rf24a82ae2ef1cbaa92dfd356226f6c3edcd5e404 -rcee2752fb2ef63145dae66eba09c5c53335822e0 --- lams_tool_lamc/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision f24a82ae2ef1cbaa92dfd356226f6c3edcd5e404) +++ lams_tool_lamc/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision cee2752fb2ef63145dae66eba09c5c53335822e0) @@ -1,241 +1,245 @@ -appName = mcq -#language code: en -#locale code: AU - - # Exported from the LAMS Community by Ernie Ghiglione on Thu Dec 27 22:45:28 CST 2018 - -#=================== labels for Multiple Choice Questions =================# - -activity.title =Multiple Choice -activity.description =Creates automated assessment questions. e.g. Multiple choice and true/false questions. Can provide feedback and scores. -activity.helptext =Learner answers a series of automated assessment questions. e.g. Multiple choice and true/false questions. Optional features include feedback on each question and scoring. Questions are weighted for scoring. -tool.display.name =Multiple Choice Tool -tool.description =Tool for learners to answer a series of automated assessment questions. -label.tool.shortname =MCQ -label.basic =Basic -label.advanced =Advanced -label.summary =Summary -label.stats =Stats -label.editActivity =Edit Activity -label.authoring =MCQ Authoring -label.learning =MCQ Learning -label.monitoring =MCQ Monitoring -label.authoring.title =Title -label.authoring.instructions =Instructions -label.Questions =Questions -label.addNewQuestion =Add new question -label.moveDown =Down -label.add.question =Add New -label.add.option =Add New -label.mc.options.col =Candidate answers: -label.learner.message =You can only proceed to the activity after you have reached the passing mark -label.viewAnswers =Summary of responses -label.topMark =Top mark: -label.avMark =Average mark: -label.loMark =Lowest mark: -count.total.user =Total users count: -label.mark =Mark: -label.redo.questions =Redo questions -label.view =View -label.finished =Next Activity -button.submit =Submit -button.continue =Continue -label.isCorrect =Correct? -label.question.only =Question -label.question =Question -radiobox.passmark =Pass mark -radiobox.onepq =One question per page -radiobox.retries =Allow retries -option.correct =Correct -label.outof =out of -label.save =Save -label.cancel =Cancel -feedback =Please address the following issues before submit.
-error.passMark.empty =Please correct this: Pass mark can not be empty. -options.count.zero =Please correct this: There must be at least one candidate answer. -error.passmark.notInteger =Please correct this: Pass mark can only be an integer. -error.file.notPersisted =An error occurred: The file is not viewable yet. Please save all the content first and check back. -error.fileName.empty =Please correct this: Under "Instructions", the file(name) to upload can not be empty. -error.questions.withNoOptions =Please note: The questions with no candidate answers have been automatically removed for you. Please check total question weight. -error.answers.empty =Please correct this: Candidate answers can not be empty. -error.passMark.greater100 =Please correct this: The passmark can not be greater than 100% -error.question.addNotAllowed.thisScreen =The question text can not be modified in this screen since it has options attached . Please use the "Options" button to edit the question text. -error.question.removeNotAllowed.thisScreen =The question can not be removed since one or more of the question texts has been modified. Please try again without any text modifications. -error.selectedIndex.empty =Can not continue. Please select the correct answer and click "Done". -error.content.locked =The content has been locked since it is being used by one mor more learners.
The modification of the content is not allowed. -error.content.inUse =modification of the content is not allowed since one or more learners has attempted the activity. -error.noLearnerActivity =Summary report is not available since no learners attempted the activity yet. -label.answers =Answers: -button.endLearning =Next Activity -label.learning.attemptTime =Attempt date -label.learning.response =Response -label.user =User -label.attemptTime =Attempt date -label.response =Response -label.learning.forceOfflineMessage =This activity is not being done on the computer. Please see your instructor for details. -error.defineLater =Please wait for the instructor to complete the contents of this activity. -group.label =Group -button.summary =Summary -button.editActivity =Edit Activity -button.stats =Stats -label.edit =Edit -label.update =Update -label.selectGroup =Select group: -label.stats.allGroups =All Groups: -label.stats.totalAllGroups =Total count of all learners: -authoring.msg.cancel.save =Do you want to close this window without saving? -label.learning.forceFinishMessage =Responses are no more allowed. Please finish. -label.correct =Correct -label.passingMark =Passing mark -label.mcqSummary =MCQ Summary -label.yourAnswers =Learner's answers: -label.learner =Learner -button.try.again =Try again -label.feedback =Question feedback -label.notEnoughMarks =As you have not achieved the passing mark, you have to try the questions again. -label.tip.moveQuestionDown =Down -label.tip.moveQuestionUp =Up -label.tip.editOptions =Enables editing of candidate answers -label.tip.removeQuestion =Removes question -label.tip.removeCandidate =Removes candidate answer -label.studentMarks =Learner marks -label.authoring.title.col =Title: -label.authoring.instructions.col =Instructions: -label.candidateAnswer =Candidate answer -label.total =Total -label.continue =Continue -label.reflect =Add a notebook at end of MCQ with the following instructions: -label.notebook.entries =Notebook entries -label.reflection =Notebook entry -label.view.reflection =View notebook entries -label.close =Close -label.question.marks =Marks -label.tip.editQuestion =Enables editing of question -candidates.none.correct =Please fix this: There must be 1 correct candidate answer out of at least 2 candidate answers. -count.finished.session =Finished Session Count: -label.add.candidates =Add answer -label.add.new.question =Add -label.marks =mark(s) -label.questions =Questions -label.questions.worth =This question is worth -label.save.question =Add question -label.tip.deleteQuestion =Deletes question -label.tip.editCandidate =Enables editing of candidate answers -label.tip.moveCandidateDown =Moves candidate answer down -label.tip.moveCandidateUp =Moves candidate answer up -question.blank =Question text can not be blank. -question.duplicate =There are duplicate question entries. -questions.none.submitted =No questions submitted. Please add at least one question. -label.edit.question =Edit question -label.feedback.simple =Feedback: -candidates.duplicate.correct =Please fix this: There must be one and only one correct candidate answer. -label.group.results =Group's top and average marks -candidates.groupSize.warning =Please fix this: There must be at least 2 candidate answers. -candidates.unremovable.groupSize =The candidate answer can not be removed since there must be at least 2 candidate answers. -candidates.setFirst =Please be informed that the first candidate answer has been selected for you. -candidates.blank =Please fix this: Candidate answer text can not be blank. -label.showMarks =Show top and average mark -label.randomize =Present answers in randomized order -message.no.reflection.available =No notebook available -label.attempt.count =Attempt count: -label.final.attempt =Final attempt: -output.desc.learner.mark =Total marks -output.desc.learner.all.correct =All answers correct -label.displayAnswers =Display correct answers, score and feedback after last question -label.monitoring.yesDisplayAnswers =Learners are able to see the answers for the questions. -label.monitoring.noDisplayAnswers1 =Learners are not able to see answers, scores or feedback for the questions -label.monitoring.noDisplayAnswers2 =Do you want to allow learners to see the answers now? -button.monitoring.yes =Yes -output.desc.learner.all.correct.true =All correct -output.desc.learner.all.correct.false =Not all correct -label.monitoring.downloadMarks.button =Export marks -label.monitoring.downloadMarks.question.mark =Question {0} (mark: {1}) -label.monitoring.downloadMarks.username =Username -error.monitoring.spreadsheet.download =An error occurred while preparing the marks spreadsheet for download. -label.on =On -label.off =Off -monitor.summary.th.advancedSettings =Advanced settings -monitor.summary.td.addNotebook =Add a notebook at the end of MCQ -monitor.summary.td.notebookInstructions =Notebook instructions -error.pedagogical.planner.empty.answer.selected =In question {0} correct answer cannot be blank. -monitor.summary.date.restriction =Deadline -monitor.summary.when.date.restriction.is.set =Learners will not be able to answer questions after the set date and time. -monitor.summary.after.date =Date/time: -monitor.summary.set.restriction =Set restriction -monitor.summary.unset.restriction =Remove restriction -authoring.info.teacher.set.restriction =The instructor has set a restriction to this activity from {0} onwards. -monitor.summary.notification =Notification -monitor.summary.date.restriction.set =Deadline has been set -monitor.summary.date.restriction.removed =Deadline has been removed -label.authoring.import.qti =Import IMS QTI -error.correct.answer.blank =Please correct this: Correct answer cannot be blank. -label.submit =Finish -label.report.by.question =Report by question -label.report.by.student =Report by learner -label.not.available =N/A -label.legend =Legend -label.denotes.correct.answer =*- Denotes the correct answer -label.correct.answer =Correct answer -label.ave =Average -label.class.mean =Class mean -label.median =Median -label.learning.draft.autosaved =Draft autosaved -label.monitoring.summary.user.name =Name -label.monitoring.summary.total =Total -label.monitoring.summary.learner.summary =Learner summary -label.monitoring.user.summary.response =Response -label.monitoring.user.summary.grade =Grade -label.waiting.for.leader =Please, wait while somebody will become a group leader. -label.users.from.group =Other learners participating in current group: -label.use.select.leader.tool.output =Use leaders from Select Leader tool -label.group.leader =Group leader: {0} -label.refresh =Refresh -label.prefix.sequential.letters.for.each.answer =Prefix sequential letters for each answer -label.info.use.select.leader.outputs =Group leader's option is enabled -label.monitoring.group.leader =Group leader -label.authoring.export.qti =Export IMS QTI -label.select.leader =Select leader -label.question.options =Question options -label.activity.completion =End of activity -label.tool.output =Tool output -label.tool.output.has.been.changed =Tool output has changed -label.operation.failed =Operation failed -answers.submitted.none =Select at least one answer for each of the questions. -label.summary.downloaded =Marks file downloaded. -label.number.learners =Learners -label.number.groups.finished =Number of groups finished -label.graph.help =In the graph(s) below, click on a bar in the graph and then use your mouse wheel to zoom in and out of the graph. Once you zoom in, the grey selection in the bottom graph can be dragged left or right to show a different set of marks. -label.lowest.mark =Lowest mark -label.highest.mark =Highest mark -label.number.learners.in.mark.range =Number of learners in mark range -label.number.groups.in.mark.range =Number of groups in mark range -label.average.mark =Average mark -label.error =Error -error.loaderror =There was an error loading the grid. If this problem persists, please contact your system administrator. -label.ok =OK -message.monitoring.edit.activity.warning =Warning: if you edit and modify a question or change an answer that a learner has already answered, then the mark attained for the modified question will be deleted as it is assumed that the question has changed. If the option for retries is available, then the learner can submit an answer for this question again. -label.enable.confidence.levels =Enable confidence level -label.confidence =How confident are you of your answer? -label.what.is.your.confidence.level =Confidence -label.ira.questions.marks =iRA Questions & Marks -label.attendance =Attendance -label.show.students.choices =Show students' choices -label.hide.students.choices =Hide students' choices -label.print =Print -label.excel.export =Excel export -label.displayFeedbackOnly =Display only the feedback and not the answers or score -label.displayNoAnswersOrFeedback =Do not display answers, score or feedback -label.monitoring.yesDisplayFeedbackOnly =Learners are able to see the feedback but no answers or scores for the questions. -label.monitoring.noDisplayFeedbackOnly1 =Learners are not able to see the feedback for the questions -label.monitoring.noDisplayFeedbackOnly2 =Do you want to allow learners to see the feedback now? -outcome.authoring.title =Learning outcomes -outcome.authoring.input =Search and select by outcome name or code -outcome.authoring.existing =Added outcomes -outcome.authoring.existing.none =none -warn.tool.output.change.none =This will delete all existing marks for this activity. Are you sure? -output.desc.none =No score -message.qb.modified.update =The question in Question Bank will be updated -message.qb.modified.version =A new version of the question will be created in Question Bank -message.qb.modified.new =A new question will be created in Question Bank - -#======= End labels: Exported 228 labels for en AU ===== +appName = mcq +#language code: en +#locale code: AU + + # Exported from the LAMS Community by Ernie Ghiglione on Thu Dec 27 22:45:28 CST 2018 + +#=================== labels for Multiple Choice Questions =================# + +activity.title =Multiple Choice +activity.description =Creates automated assessment questions. e.g. Multiple choice and true/false questions. Can provide feedback and scores. +activity.helptext =Learner answers a series of automated assessment questions. e.g. Multiple choice and true/false questions. Optional features include feedback on each question and scoring. Questions are weighted for scoring. +tool.display.name =Multiple Choice Tool +tool.description =Tool for learners to answer a series of automated assessment questions. +label.tool.shortname =MCQ +label.basic =Basic +label.advanced =Advanced +label.summary =Summary +label.stats =Stats +label.editActivity =Edit Activity +label.authoring =MCQ Authoring +label.learning =MCQ Learning +label.monitoring =MCQ Monitoring +label.authoring.title =Title +label.authoring.instructions =Instructions +label.Questions =Questions +label.addNewQuestion =Add new question +label.moveDown =Down +label.add.question =Add New +label.add.option =Add New +label.mc.options.col =Candidate answers: +label.learner.message =You can only proceed to the activity after you have reached the passing mark +label.viewAnswers =Summary of responses +label.topMark =Top mark: +label.avMark =Average mark: +label.loMark =Lowest mark: +count.total.user =Total users count: +label.mark =Mark: +label.redo.questions =Redo questions +label.view =View +label.finished =Next Activity +button.submit =Submit +button.continue =Continue +label.isCorrect =Correct? +label.question.only =Question +label.question =Question +radiobox.passmark =Pass mark +radiobox.onepq =One question per page +radiobox.retries =Allow retries +option.correct =Correct +label.outof =out of +label.save =Save +label.cancel =Cancel +feedback =Please address the following issues before submit.
+error.passMark.empty =Please correct this: Pass mark can not be empty. +options.count.zero =Please correct this: There must be at least one candidate answer. +error.passmark.notInteger =Please correct this: Pass mark can only be an integer. +error.file.notPersisted =An error occurred: The file is not viewable yet. Please save all the content first and check back. +error.fileName.empty =Please correct this: Under "Instructions", the file(name) to upload can not be empty. +error.questions.withNoOptions =Please note: The questions with no candidate answers have been automatically removed for you. Please check total question weight. +error.answers.empty =Please correct this: Candidate answers can not be empty. +error.passMark.greater100 =Please correct this: The passmark can not be greater than 100% +error.question.addNotAllowed.thisScreen =The question text can not be modified in this screen since it has options attached . Please use the "Options" button to edit the question text. +error.question.removeNotAllowed.thisScreen =The question can not be removed since one or more of the question texts has been modified. Please try again without any text modifications. +error.selectedIndex.empty =Can not continue. Please select the correct answer and click "Done". +error.content.locked =The content has been locked since it is being used by one mor more learners.
The modification of the content is not allowed. +error.content.inUse =modification of the content is not allowed since one or more learners has attempted the activity. +error.noLearnerActivity =Summary report is not available since no learners attempted the activity yet. +label.answers =Answers: +button.endLearning =Next Activity +label.learning.attemptTime =Attempt date +label.learning.response =Response +label.user =User +label.attemptTime =Attempt date +label.response =Response +label.learning.forceOfflineMessage =This activity is not being done on the computer. Please see your instructor for details. +error.defineLater =Please wait for the instructor to complete the contents of this activity. +group.label =Group +button.summary =Summary +button.editActivity =Edit Activity +button.stats =Stats +label.edit =Edit +label.update =Update +label.selectGroup =Select group: +label.stats.allGroups =All Groups: +label.stats.totalAllGroups =Total count of all learners: +authoring.msg.cancel.save =Do you want to close this window without saving? +label.learning.forceFinishMessage =Responses are no more allowed. Please finish. +label.correct =Correct +label.passingMark =Passing mark +label.mcqSummary =MCQ Summary +label.yourAnswers =Learner's answers: +label.learner =Learner +button.try.again =Try again +label.feedback =Question feedback +label.notEnoughMarks =As you have not achieved the passing mark, you have to try the questions again. +label.tip.moveQuestionDown =Down +label.tip.moveQuestionUp =Up +label.tip.editOptions =Enables editing of candidate answers +label.tip.removeQuestion =Removes question +label.tip.removeCandidate =Removes candidate answer +label.studentMarks =Learner marks +label.authoring.title.col =Title: +label.authoring.instructions.col =Instructions: +label.candidateAnswer =Candidate answer +label.total =Total +label.continue =Continue +label.reflect =Add a notebook at end of MCQ with the following instructions: +label.notebook.entries =Notebook entries +label.reflection =Notebook entry +label.view.reflection =View notebook entries +label.close =Close +label.question.marks =Marks +label.tip.editQuestion =Enables editing of question +candidates.none.correct =Please fix this: There must be 1 correct candidate answer out of at least 2 candidate answers. +count.finished.session =Finished Session Count: +label.add.candidates =Add answer +label.add.new.question =Add +label.marks =mark(s) +label.questions =Questions +label.questions.worth =This question is worth +label.save.question =Add question +label.tip.deleteQuestion =Deletes question +label.tip.editCandidate =Enables editing of candidate answers +label.tip.moveCandidateDown =Moves candidate answer down +label.tip.moveCandidateUp =Moves candidate answer up +question.blank =Question text can not be blank. +question.duplicate =There are duplicate question entries. +questions.none.submitted =No questions submitted. Please add at least one question. +label.edit.question =Edit question +label.feedback.simple =Feedback: +candidates.duplicate.correct =Please fix this: There must be one and only one correct candidate answer. +label.group.results =Group's top and average marks +candidates.groupSize.warning =Please fix this: There must be at least 2 candidate answers. +candidates.unremovable.groupSize =The candidate answer can not be removed since there must be at least 2 candidate answers. +candidates.setFirst =Please be informed that the first candidate answer has been selected for you. +candidates.blank =Please fix this: Candidate answer text can not be blank. +label.showMarks =Show top and average mark +label.randomize =Present answers in randomized order +message.no.reflection.available =No notebook available +label.attempt.count =Attempt count: +label.final.attempt =Final attempt: +output.desc.learner.mark =Total marks +output.desc.learner.all.correct =All answers correct +label.displayAnswers =Display correct answers, score and feedback after last question +label.monitoring.yesDisplayAnswers =Learners are able to see the answers for the questions. +label.monitoring.noDisplayAnswers1 =Learners are not able to see answers, scores or feedback for the questions +label.monitoring.noDisplayAnswers2 =Do you want to allow learners to see the answers now? +button.monitoring.yes =Yes +output.desc.learner.all.correct.true =All correct +output.desc.learner.all.correct.false =Not all correct +label.monitoring.downloadMarks.button =Export marks +label.monitoring.downloadMarks.question.mark =Question {0} (mark: {1}) +label.monitoring.downloadMarks.username =Username +error.monitoring.spreadsheet.download =An error occurred while preparing the marks spreadsheet for download. +label.on =On +label.off =Off +monitor.summary.th.advancedSettings =Advanced settings +monitor.summary.td.addNotebook =Add a notebook at the end of MCQ +monitor.summary.td.notebookInstructions =Notebook instructions +error.pedagogical.planner.empty.answer.selected =In question {0} correct answer cannot be blank. +monitor.summary.date.restriction =Deadline +monitor.summary.when.date.restriction.is.set =Learners will not be able to answer questions after the set date and time. +monitor.summary.after.date =Date/time: +monitor.summary.set.restriction =Set restriction +monitor.summary.unset.restriction =Remove restriction +authoring.info.teacher.set.restriction =The instructor has set a restriction to this activity from {0} onwards. +monitor.summary.notification =Notification +monitor.summary.date.restriction.set =Deadline has been set +monitor.summary.date.restriction.removed =Deadline has been removed +label.authoring.import.qti =Import IMS QTI +error.correct.answer.blank =Please correct this: Correct answer cannot be blank. +label.submit =Finish +label.report.by.question =Report by question +label.report.by.student =Report by learner +label.not.available =N/A +label.legend =Legend +label.denotes.correct.answer =*- Denotes the correct answer +label.correct.answer =Correct answer +label.ave =Average +label.class.mean =Class mean +label.median =Median +label.learning.draft.autosaved =Draft autosaved +label.monitoring.summary.user.name =Name +label.monitoring.summary.total =Total +label.monitoring.summary.learner.summary =Learner summary +label.monitoring.user.summary.response =Response +label.monitoring.user.summary.grade =Grade +label.waiting.for.leader =Please, wait while somebody will become a group leader. +label.users.from.group =Other learners participating in current group: +label.use.select.leader.tool.output =Use leaders from Select Leader tool +label.group.leader =Group leader: {0} +label.refresh =Refresh +label.prefix.sequential.letters.for.each.answer =Prefix sequential letters for each answer +label.info.use.select.leader.outputs =Group leader's option is enabled +label.monitoring.group.leader =Group leader +label.authoring.export.qti =Export IMS QTI +label.select.leader =Select leader +label.question.options =Question options +label.activity.completion =End of activity +label.tool.output =Tool output +label.tool.output.has.been.changed =Tool output has changed +label.operation.failed =Operation failed +answers.submitted.none =Select at least one answer for each of the questions. +label.summary.downloaded =Marks file downloaded. +label.number.learners =Learners +label.number.groups.finished =Number of groups finished +label.graph.help =In the graph(s) below, click on a bar in the graph and then use your mouse wheel to zoom in and out of the graph. Once you zoom in, the grey selection in the bottom graph can be dragged left or right to show a different set of marks. +label.lowest.mark =Lowest mark +label.highest.mark =Highest mark +label.number.learners.in.mark.range =Number of learners in mark range +label.number.groups.in.mark.range =Number of groups in mark range +label.average.mark =Average mark +label.error =Error +error.loaderror =There was an error loading the grid. If this problem persists, please contact your system administrator. +label.ok =OK +message.monitoring.edit.activity.warning =Warning: if you edit and modify a question or change an answer that a learner has already answered, then the mark attained for the modified question will be deleted as it is assumed that the question has changed. If the option for retries is available, then the learner can submit an answer for this question again. +label.enable.confidence.levels =Enable confidence level +label.confidence =How confident are you of your answer? +label.what.is.your.confidence.level =Confidence +label.ira.questions.marks =iRA Questions & Marks +label.attendance =Attendance +label.show.students.choices =Show students' choices +label.hide.students.choices =Hide students' choices +label.print =Print +label.excel.export =Excel export +label.displayFeedbackOnly =Display only the feedback and not the answers or score +label.displayNoAnswersOrFeedback =Do not display answers, score or feedback +label.monitoring.yesDisplayFeedbackOnly =Learners are able to see the feedback but no answers or scores for the questions. +label.monitoring.noDisplayFeedbackOnly1 =Learners are not able to see the feedback for the questions +label.monitoring.noDisplayFeedbackOnly2 =Do you want to allow learners to see the feedback now? +outcome.authoring.title =Learning outcomes +outcome.authoring.input =Search and select by outcome name or code +outcome.authoring.existing =Added outcomes +outcome.authoring.existing.none =none +warn.tool.output.change.none =This will delete all existing marks for this activity. Are you sure? +output.desc.none =No score +message.qb.modified.update =The question in Question Bank will be updated +message.qb.modified.version =A new version of the question will be created in Question Bank +message.qb.modified.new =A new question will be created in Question Bank +label.qb.stats =Question indexes +label.qb.participant.count =Test participant count +label.qb.difficulty.index =Difficulty index +label.qb.discrimination.index =Discrimination index +label.qb.point.biserial =Point biserial +#======= End labels: Exported 228 labels for en AU ===== Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McMonitoringController.java =================================================================== diff -u -r9ca39edffd0c57ba7deeb38316f5a0f7b0d8fe44 -rcee2752fb2ef63145dae66eba09c5c53335822e0 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McMonitoringController.java (.../McMonitoringController.java) (revision 9ca39edffd0c57ba7deeb38316f5a0f7b0d8fe44) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/controller/McMonitoringController.java (.../McMonitoringController.java) (revision cee2752fb2ef63145dae66eba09c5c53335822e0) @@ -27,8 +27,10 @@ import java.util.ArrayList; import java.util.Date; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.TimeZone; import java.util.TreeSet; @@ -43,6 +45,8 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; +import org.lamsfoundation.lams.qb.dto.QbStatsActivityDTO; +import org.lamsfoundation.lams.qb.service.IQbService; import org.lamsfoundation.lams.tool.mc.McAppConstants; import org.lamsfoundation.lams.tool.mc.dto.LeaderResultsDTO; import org.lamsfoundation.lams.tool.mc.dto.McGeneralLearnerFlowDTO; @@ -71,7 +75,6 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.context.WebApplicationContext; import org.springframework.web.util.HtmlUtils; import com.fasterxml.jackson.databind.node.ArrayNode; @@ -92,10 +95,10 @@ @Autowired @Qualifier("lamcMessageService") - private static MessageService messageService; + private MessageService messageService; @Autowired - private WebApplicationContext applicationContext; + private IQbService qbService; @RequestMapping("/monitoring") public String execute(HttpServletRequest request) { @@ -535,6 +538,14 @@ request.setAttribute("sessionDtos", sessionDtos); } request.setAttribute("useSelectLeaderToolOutput", mcContent.isUseSelectLeaderToolOuput()); + + Map qbStats = new LinkedHashMap<>(); + for (McQueContent question : mcContent.getMcQueContents()) { + QbStatsActivityDTO questionStats = qbService.getActivityStatsByContentId(mcContent.getMcContentId(), + question.getQbQuestion().getUid()); + qbStats.put(question.getName(), questionStats); + } + request.setAttribute("qbStats", qbStats); } // prepare toolOutputDefinitions and activityEvaluation Index: lams_tool_lamc/web/monitoring/parts/statsPart.jsp =================================================================== diff -u -r66b044dc18d78c8a61a15c197d0c2d6a1f989c18 -rcee2752fb2ef63145dae66eba09c5c53335822e0 --- lams_tool_lamc/web/monitoring/parts/statsPart.jsp (.../statsPart.jsp) (revision 66b044dc18d78c8a61a15c197d0c2d6a1f989c18) +++ lams_tool_lamc/web/monitoring/parts/statsPart.jsp (.../statsPart.jsp) (revision cee2752fb2ef63145dae66eba09c5c53335822e0) @@ -1,164 +1,229 @@ -<%@ include file="/common/taglibs.jsp"%> - - - - - - - - - - - - - - -

- - - -
-
- - - - - - - - - - - - - - -
- : - - - - : - - -
- - - - - - - -
-
-
-
-
-
-
-
- - - -
- -
- - : - -
-
-
- - - - - - - - - - - - - - - -
- : - - - - : - - -
- - - - - - - -
-
-
-
-
-
-
-
-
-
- -
-
- - -<%@ include file="toolOutput.jsp"%> +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + +

+ + + +
+
+ + + + + + + + + + + + + + +
+ : + + + + : + + +
+ + + + + + + +
+
+
+
+
+
+
+
+ + + +
+ +
+ + : + +
+
+
+ + + + + + + + + + + + + + + +
+ : + + + + : + + +
+ + + + + + + +
+
+
+
+
+
+
+
+
+
+ +
+
+ + +
+
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ # + + + + + + + + + + +
+ ${i.index + 1} + + + + + ---
+ +
+
+ +<%@ include file="toolOutput.jsp"%>