Index: lams_central/conf/language/lams/ApplicationResources.properties
===================================================================
diff -u -r3f18890e24de43c31ac23d49e2c1a4906e479863 -r5d865502ffc41ad5759af87eb091d9627e6965a1
--- lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 3f18890e24de43c31ac23d49e2c1a4906e479863)
+++ lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 5d865502ffc41ad5759af87eb091d9627e6965a1)
@@ -851,8 +851,8 @@
authoring.error.numlearners =Number of learners must be 1 to 99.
authoring.error.group.data =Group settings are not correct.
authoring.section.lessondetails =Lesson Details
-authoring.section.questions =Questions
-authoring.section.applicationexercise =Application Exercise
+authoring.section.questions =RAT Questions
+authoring.section.applicationexercise =Application Exercises
authoring.section.introduction =Introduction
authoring.create.question =Create Question
authoring.create.essay.question =Create Essay Question
@@ -876,7 +876,7 @@
authoring.label.none =None
authoring.tbl.template.title =Team Based Learning
authoring.tbl.template.description =Individual and Team Readiness Assessments followed by Application Exercises.
-authoring.tbl.desc.question =These questions are for iRA and tRA. Click "Create Question" to add more questions. Turn on "Enable confidence levels" to have the learners' confidence levels from the iRA shown on the tRA screen.
+authoring.tbl.desc.question =These questions are for IRA and TRA. Click "Create Question" to add more questions. Turn on "Enable confidence levels" to have the learners' confidence levels from the iRA shown on the tRA screen.
authoring.tbl.desc.ae =State the questions for AE. Click "Create Question" to add more questions.
authoring.template.basic.import.qti =Import IMS QTI
Index: lams_central/conf/language/lams/ApplicationResources_en_AU.properties
===================================================================
diff -u -r427b1699f540858bcf2d07288f0f5be431e8881b -r5d865502ffc41ad5759af87eb091d9627e6965a1
--- lams_central/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 427b1699f540858bcf2d07288f0f5be431e8881b)
+++ lams_central/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 5d865502ffc41ad5759af87eb091d9627e6965a1)
@@ -851,14 +851,15 @@
authoring.error.numlearners =Number of learners must be 1 to 99.
authoring.error.group.data =Group settings are not correct.
authoring.section.lessondetails =Lesson Details
-authoring.section.questions =Questions
-authoring.section.applicationexercise =Application Exercise
+authoring.section.questions =RAT Questions
+authoring.section.applicationexercise =Application Exercises
authoring.section.introduction =Introduction
authoring.create.question =Create Question
authoring.create.essay.question =Create Essay Question
authoring.create.mc.question =Create Multiple Choice Question
authoring.label.application.exercise.num =Application Exercise {0}
authoring.error.application.exercise.num =Application Exercise {0} may not be blank.
+authoring.label.question.text =Question text
authoring.label.question.num =Question {0}
authoring.label.option.num =Option {0}
authoring.error.option =Option may not be blank
@@ -869,15 +870,16 @@
button.return.to.template.list =Go back to Template list
authoring.error.content.id =Content ID is missing
authoring.error.question.must.have.answer.num =Question {0} must have at least one answer.
-authoring.error.application.exercise.must.have.answer.num =Application Exercise {0} must have at least one answer.
-authoring.error.application.exercise.must.have.100.percent =Application Exercise {0} must have at least one answer worth 100%.
-authoring.error.application.exercise.not.blank.and.grade =Application Exercise {0} may not be blank and must have a grade.
+authoring.error.application.exercise.question.must.not.be.blank.num =Application Exercise {0} Question {1} may not be blank.
+authoring.error.application.exercise.must.have.answer.num =Application Exercise {0} Question {1} must have at least one answer.
+authoring.error.application.exercise.must.have.100.percent =Application Exercise {0} Question {1} must have at least one answer worth 100%.
+authoring.error.application.exercise.not.blank.and.grade =Application Exercise {0} Question {1} may not be blank and must have a grade.
authoring.label.grade =Grade
authoring.label.none =None
authoring.tbl.template.title =Team Based Learning
authoring.tbl.template.description =Individual and Team Readiness Assessments followed by Application Exercises.
authoring.tbl.desc.question =These questions are for iRA and tRA. Click "Create Question" to add more questions. Turn on "Enable confidence levels" to have the learners' confidence levels from the iRA shown on the tRA screen.
-authoring.tbl.desc.ae =State the questions for AE. Click "Create Question" to add more questions.
-
-
+authoring.tbl.desc.ae =Enter the questions for the Application Exercises. You can have one or more Application Exercises and each Application Exercise can have one or more Questions. If you turn on Add A Notebook for the Application Exercise then a Notebook activity will be created after that Application Exercise.
+authoring.tbl.use.notebook=Add a Notebook after the Application Exercise with the following instructions:
+authoring.create.application.exercise=Create Application Exercise
#======= End labels: Exported 872 labels for en AU =====
Index: lams_central/conf/language/lams/TBLResources.properties
===================================================================
diff -u -r3f18890e24de43c31ac23d49e2c1a4906e479863 -r5d865502ffc41ad5759af87eb091d9627e6965a1
--- lams_central/conf/language/lams/TBLResources.properties (.../TBLResources.properties) (revision 3f18890e24de43c31ac23d49e2c1a4906e479863)
+++ lams_central/conf/language/lams/TBLResources.properties (.../TBLResources.properties) (revision 5d865502ffc41ad5759af87eb091d9627e6965a1)
@@ -1,20 +1,25 @@
boilerplate.introduction.title=Introduction to TBL
boilerplate.introduction.instructions=
You would have gone through pre-class activities designated by your instructor. \
-You would form groups before completing the Individual Readiness Assessment (iRA). You would then attempt the Team Readiness Assessment (tRA), where your group leader would submit the group's answer. \
+You would form groups before completing the Individual Readiness Assessment (IRA). You would then attempt the Team Readiness Assessment (TRA), where your group leader would submit the group's answer. \
Next, your group would complete the application exercises. \
As a post-class activity, you would complete a personal reflection on the key learning points.
-boilerplate.ira.title=iRA Test
-boilerplate.ira.instructions=Please complete the MCQ before proceed to the next activity
+boilerplate.ira.title=IRA
+boilerplate.ira.instructions=Please complete the MCQ before proceeding to the next activity.
boilerplate.leader.title=Leader Selection
boilerplate.leader.instructions=Instructions
-boilerplate.tra.title=tRA Test
-boilerplate.tra.instructions=Please give your input on what the answer given by your peer
-boilerplate.ae.instructions=Instructions to students
-boilerplate.ae.application.exercise.num=Application Exercise {0}
+boilerplate.tra.title=Scratchie / TRA
+boilerplate.tra.instructions=Please give your input based on the answers given by your peers.
+boilerplate.ae.instructions=
+boilerplate.ae.application.exercise.num=Assessment / AE {0}
+boilerplate.ae.question.num =Question {0}
+boilerplate.grouped.notebook.num=Notebook for Assessment / AE {0}
boilerplate.individual.reflection.title=Notebook
boilerplate.individual.reflection.instructions=What are your key learning points?
boilerplate.peerreview=Peer Review
boilerplate.peerreview.instructions=Please rate your peers' interaction with the group.
-boilerplate.before.ira.gate=Gate for iRA Test
-boilerplate.before.tra.gate=Gate for tRA Test
-boilerplate.before.app.ex=Gate for Application Exercise(s)
\ No newline at end of file
+boilerplate.before.ira.gate=Gate for IRA
+boilerplate.before.tra.gate=Gate for TRA
+boilerplate.before.app.ex=Gate for Application Exercise
+boilerplate.before.app.ex.notebook=Gate for Notebook
+boilerplate.before.peer.review=Gate for Peer Review
+boilerplate.grouping.title=Group Setup
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/template/Assessment.java
===================================================================
diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r5d865502ffc41ad5759af87eb091d9627e6965a1
--- lams_central/src/java/org/lamsfoundation/lams/authoring/template/Assessment.java (.../Assessment.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80)
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/template/Assessment.java (.../Assessment.java) (revision 5d865502ffc41ad5759af87eb091d9627e6965a1)
@@ -129,16 +129,16 @@
}
/** If no errors exist, returns null */
- public List validate(ResourceBundle appBundle, MessageFormat formatter, Integer questionNumber) {
+ public List validate(ResourceBundle appBundle, MessageFormat formatter, Integer applicationExerciseNumber, Integer questionNumber) {
List errorMessages = null;
if (questionText == null || questionText.length() == 0) {
errorMessages = addError(errorMessages, TextUtil.getText(appBundle, formatter,
- "authoring.error.application.exercise.num", new Object[] { questionNumber }));
+ "authoring.error.application.exercise.question.must.not.be.blank.num", new Object[] { questionNumber }));
}
if (type == ASSESSMENT_QUESTION_TYPE_MULTIPLE_CHOICE) {
if (answers.size() == 0) {
errorMessages = addError(errorMessages, TextUtil.getText(appBundle, formatter,
- "authoring.error.application.exercise.must.have.answer.num", new Object[] { questionNumber }));
+ "authoring.error.application.exercise.must.have.answer.num", new Object[] { applicationExerciseNumber, questionNumber }));
} else {
boolean found100percent = false;
for (AssessMCAnswer answer : answers) {
@@ -151,7 +151,7 @@
errorMessages = addError(errorMessages,
TextUtil.getText(appBundle, formatter,
"authoring.error.application.exercise.must.have.100.percent",
- new Object[] { questionNumber }));
+ new Object[] { applicationExerciseNumber, questionNumber }));
}
}
}
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/LdTemplateController.java
===================================================================
diff -u -r3f18890e24de43c31ac23d49e2c1a4906e479863 -r5d865502ffc41ad5759af87eb091d9627e6965a1
--- lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/LdTemplateController.java (.../LdTemplateController.java) (revision 3f18890e24de43c31ac23d49e2c1a4906e479863)
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/LdTemplateController.java (.../LdTemplateController.java) (revision 5d865502ffc41ad5759af87eb091d9627e6965a1)
@@ -753,12 +753,12 @@
* to be expanded.
*/
protected Long createAssessmentToolContent(UserDTO user, String title, String instructions,
- String reflectionInstructions, boolean selectLeaderToolOutput, ArrayNode questions) throws IOException {
+ String reflectionInstructions, boolean selectLeaderToolOutput, boolean enableNumbering, ArrayNode questions) throws IOException {
ObjectNode toolContentJSON = createStandardToolContent(title, instructions, reflectionInstructions, null, null,
user);
toolContentJSON.put(RestTags.USE_SELECT_LEADER_TOOL_OUTPUT, selectLeaderToolOutput);
-
+ toolContentJSON.put("numbered", enableNumbering);
toolContentJSON.set(RestTags.QUESTIONS, questions);
ArrayNode references = JsonNodeFactory.instance.arrayNode();
@@ -961,12 +961,13 @@
* details of questions). Other fields are optional.
*/
protected Long createMCQToolContent(UserDTO user, String title, String instructions,
- boolean useSelectLeaderToolOuput, boolean enableConfidenceLevel, ArrayNode questions) throws IOException {
+ boolean useSelectLeaderToolOuput, boolean enableConfidenceLevel, boolean prefixAnswersWithLetters, ArrayNode questions) throws IOException {
ObjectNode toolContentJSON = createStandardToolContent(title, instructions, null, null, null, null);
toolContentJSON.put(RestTags.USE_SELECT_LEADER_TOOL_OUTPUT, useSelectLeaderToolOuput);
toolContentJSON.set(RestTags.QUESTIONS, questions);
toolContentJSON.put(RestTags.ENABLE_CONFIDENCE_LEVELS, enableConfidenceLevel);
+ toolContentJSON.put("prefixAnswersWithLetters", prefixAnswersWithLetters);
return createToolContent(user, LdTemplateController.MCQ_TOOL_SIGNATURE, toolContentJSON);
}
@@ -1324,6 +1325,7 @@
@RequestMapping("/createAssessment")
public String createAssessment(HttpServletRequest request) {
request.setAttribute("questionNumber", WebUtil.readIntParam(request, "questionNumber"));
+ request.setAttribute("containingDivName", WebUtil.readStrParam(request, "containingDivName", true));
String questionType = WebUtil.readStrParam(request, "questionType");
if (questionType == null || !questionType.equalsIgnoreCase("mcq")) {
@@ -1334,13 +1336,15 @@
}
- @RequestMapping("/importQTI")
+ @RequestMapping("/importQTI")
public String importAssessmentQTI(HttpServletRequest request) throws UnsupportedEncodingException {
String contentFolderID = WebUtil.readStrParam(request, "contentFolderID");
String templatePage = WebUtil.readStrParam(request, "templatePage");
Question[] updatedQuestions = preprocessQuestions(QuestionParser.parseQuestionChoiceForm(request), contentFolderID);
request.setAttribute("questions", updatedQuestions);
request.setAttribute("questionNumber", WebUtil.readIntParam(request, "questionNumber"));
+ request.setAttribute("numQuestionsFieldname", WebUtil.readStrParam(request, "numQuestionsFieldname"));
+ request.setAttribute("containingDivName", WebUtil.readStrParam(request, "containingDivName", true));
return "/authoring/template/tool/" + templatePage;
}
@@ -1468,9 +1472,11 @@
Integer questionNumber = WebUtil.readIntParam(request, "questionNumber", true);
Integer delete = WebUtil.readIntParam(request, "optionNumber");
+
boolean useAssessmentVersion = WebUtil.readBooleanParam(request, "assess", false);
-
- TreeMap optionsMap = getOptions(request, questionNumber, useAssessmentVersion);
+ String containingDivName = WebUtil.readStrParam(request, "containingDivName", true);
+ String prefixParam = containingDivName != null ? containingDivName + "assmcq" : "question";
+ TreeMap optionsMap = getOptions(request, questionNumber, prefixParam);
optionsMap.remove(delete);
// reorder the displayOrder and setup the return value
LinkedList