Index: lams_tool_assessment/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -48,6 +48,7 @@ label.authoring.basic.option.grade =Grade label.authoring.basic.option.grade.none =None label.authoring.basic.option.feedback =Feedback +label.authoring.basic.option.accepted.error =Accepted error label.authoring.advanced.reflectOnActivity =Add Notebook at end of Shared Resources with the following instructions: label.authoring.basic.resource.title.input =Title label.authoring.basic.resource.url.input =URL @@ -72,6 +73,24 @@ label.authoring.matching.pairs.matching.pairs =Matching Pairs label.authoring.matching.pairs.error.one.matching.pair =You should provide at least 1 matching pair. label.authoring.matching.pairs.add.matching.pair =Add Blank Matching Pair +label.authoring.short.answer.no.case.unimportant =No, case is unimportant +label.authoring.short.answer.yes.case.must.match =Yes, case must match +label.authoring.short.answer.case.sensitivity =Case sensitivity +label.authoring.short.answer.answers =Answers +label.authoring.short.answer.error.answer =You should provide at least one possible answer. +label.authoring.short.answer.add.answer =Add Blank Answer +label.authoring.short.answer.add.short.answer =Add Short Answer +label.authoring.true.false.question =True/False Question +label.authoring.true.false.correct.answer =Correct answer +label.authoring.true.false.false =False +label.authoring.true.false.true =True +label.authoring.true.false.feedback.on.true =Feedback for the reponse 'True'. +label.authoring.true.false.feedback.on.false =Feedback for the reponse 'False'. +label.authoring.numerical.question =Numerical question +label.authoring.numerical.answers =Answers +label.authoring.numerical.error.answer =You should provide at least two possible answer. +label.authoring.numerical.add.answer =Add Blank Answer +label.authoring.numerical.add.numerical =Add Numerical Question label.authoring.essay.add.essay =Add Essay label.authoring.online.file =Upload online file Index: lams_tool_assessment/db/sql/create_lams_tool_assessment.sql =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/db/sql/create_lams_tool_assessment.sql (.../create_lams_tool_assessment.sql) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/db/sql/create_lams_tool_assessment.sql (.../create_lams_tool_assessment.sql) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -59,6 +59,7 @@ feedback_on_incorrect text, shuffle tinyint, case_sensitive tinyint, + correct_answer tinyint DEFAULT 0, hide tinyint, create_by_author tinyint, create_date datetime, @@ -74,7 +75,7 @@ question text, answer_string text, answer_long bigint, - accepted_error bigint, + accepted_error float, grade float, feedback text, primary key (uid) Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -90,6 +90,8 @@ public static final String ATTR_OPTION_GRADE_PREFIX = "optionGrade"; + public static final String ATTR_OPTION_ACCEPTED_ERROR_PREFIX = "optionAcceptedError"; + public static final String ATTR_OPTION_FEEDBACK_PREFIX = "optionFeedback"; public static final String ATTR_OPTION_SEQUENCE_ID_PREFIX = "optionSequenceId"; Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentAnswerOption.hbm.xml =================================================================== diff -u -rc56857991e269aa7f5bd250a05b52c767a9957ad -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentAnswerOption.hbm.xml (.../AssessmentAnswerOption.hbm.xml) (revision c56857991e269aa7f5bd250a05b52c767a9957ad) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentAnswerOption.hbm.xml (.../AssessmentAnswerOption.hbm.xml) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -59,7 +59,7 @@ + + = 0) { form.setQuestionIndex(new Integer(questionIdx).toString()); } short questionType = question.getType(); - if ((questionType == AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE) || - (questionType == AssessmentConstants.QUESTION_TYPE_MATCHING_PAIRS)) { + if ((questionType == AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE) + || (questionType == AssessmentConstants.QUESTION_TYPE_MATCHING_PAIRS) + || (questionType == AssessmentConstants.QUESTION_TYPE_SHORT_ANSWER) + || (questionType == AssessmentConstants.QUESTION_TYPE_NUMERICAL)) { Set optionList = question.getAnswerOptions(); request.setAttribute(AssessmentConstants.ATTR_OPTION_LIST, optionList); } @@ -1160,8 +1163,28 @@ question.setFeedbackOnCorrect(questionForm.getFeedbackOnCorrect()); question.setFeedbackOnPartiallyCorrect(questionForm.getFeedbackOnPartiallyCorrect()); question.setFeedbackOnIncorrect(questionForm.getFeedbackOnIncorrect()); - - // set options + } else if ((type == AssessmentConstants.QUESTION_TYPE_MATCHING_PAIRS)) { + question.setPenaltyFactor(Float.parseFloat(questionForm.getPenaltyFactor())); + question.setShuffle(questionForm.isShuffle()); + } else if ((type == AssessmentConstants.QUESTION_TYPE_SHORT_ANSWER)) { + question.setPenaltyFactor(Float.parseFloat(questionForm.getPenaltyFactor())); + question.setCaseSensitive(questionForm.isCaseSensitive()); + } else if ((type == AssessmentConstants.QUESTION_TYPE_NUMERICAL)) { + question.setPenaltyFactor(Float.parseFloat(questionForm.getPenaltyFactor())); + } else if ((type == AssessmentConstants.QUESTION_TYPE_TRUE_FALSE)) { + question.setPenaltyFactor(1); + question.setCorrectAnswer(questionForm.isCorrectAnswer()); + question.setFeedbackOnCorrect(questionForm.getFeedbackOnCorrect()); + question.setFeedbackOnIncorrect(questionForm.getFeedbackOnIncorrect()); + } else if ((type == AssessmentConstants.QUESTION_TYPE_ESSAY)) { + question.setFeedback(questionForm.getFeedback()); + } + + // set options + if ((type == AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE) + || (type == AssessmentConstants.QUESTION_TYPE_MATCHING_PAIRS) + || (type == AssessmentConstants.QUESTION_TYPE_SHORT_ANSWER) + || (type == AssessmentConstants.QUESTION_TYPE_NUMERICAL)) { Set optionList = getOptionsFromRequest(request, true); Set options = new LinkedHashSet(); int seqId = 0; @@ -1170,21 +1193,6 @@ options.add(option); } question.setAnswerOptions(options); - } else if ((type == AssessmentConstants.QUESTION_TYPE_MATCHING_PAIRS)) { - question.setPenaltyFactor(Float.parseFloat(questionForm.getPenaltyFactor())); - question.setShuffle(questionForm.isShuffle()); - - // set options - Set matchingPairsList = getOptionsFromRequest(request, true); - Set matchingPairs = new LinkedHashSet(); - int seqId = 0; - for (AssessmentAnswerOption matchingPair : matchingPairsList) { - matchingPair.setSequenceId(seqId++); - matchingPairs.add(matchingPair); - } - question.setAnswerOptions(matchingPairs); - }else if ((type == AssessmentConstants.QUESTION_TYPE_ESSAY)) { - question.setFeedback(questionForm.getFeedback()); } } @@ -1219,7 +1227,8 @@ int questionType = WebUtil.readIntParam(request,AssessmentConstants.ATTR_QUESTION_TYPE); TreeSet optionList = new TreeSet(new AssessmentAnswerOptionComparator()); for (int i = 0; i < count; i++) { - if (questionType == AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE) { + if ((questionType == AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE) + || (questionType == AssessmentConstants.QUESTION_TYPE_SHORT_ANSWER)) { String answerString = paramMap.get(AssessmentConstants.ATTR_OPTION_ANSWER_PREFIX + i); float grade = Float.valueOf(paramMap.get(AssessmentConstants.ATTR_OPTION_GRADE_PREFIX + i)); String feedback = paramMap.get(AssessmentConstants.ATTR_OPTION_FEEDBACK_PREFIX + i); @@ -1247,6 +1256,23 @@ option.setAnswerString(answerString); option.setQuestion(question); optionList.add(option); + } else if (questionType == AssessmentConstants.QUESTION_TYPE_NUMERICAL) { + String answerString = paramMap.get(AssessmentConstants.ATTR_OPTION_ANSWER_PREFIX + i); + float acceptedError = Float.valueOf(paramMap.get(AssessmentConstants.ATTR_OPTION_ACCEPTED_ERROR_PREFIX + i)); + float grade = Float.valueOf(paramMap.get(AssessmentConstants.ATTR_OPTION_GRADE_PREFIX + i)); + String feedback = paramMap.get(AssessmentConstants.ATTR_OPTION_FEEDBACK_PREFIX + i); + String sequenceId = paramMap.get(AssessmentConstants.ATTR_OPTION_SEQUENCE_ID_PREFIX + i); + + if ((answerString == null) && skipBlankOptions) { + continue; + } + AssessmentAnswerOption option = new AssessmentAnswerOption(); + option.setSequenceId(NumberUtils.stringToInt(sequenceId)); + option.setAnswerString(answerString); + option.setAcceptedError(acceptedError); + option.setGrade(grade); + option.setFeedback(feedback); + optionList.add(option); } } return optionList; Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java (.../AssessmentQuestionForm.java) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java (.../AssessmentQuestionForm.java) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -55,6 +55,7 @@ private String feedbackOnIncorrect; private boolean shuffle; private boolean caseSensitive; + private boolean correctAnswer; public String getSessionMapID() { return sessionMapID; @@ -191,5 +192,13 @@ public void setCaseSensitive(boolean caseSensitive) { this.caseSensitive = caseSensitive; } + + public boolean isCorrectAnswer() { + return correctAnswer; + } + public void setCorrectAnswer(boolean correctAnswer) { + this.correctAnswer = correctAnswer; + } + } Index: lams_tool_assessment/web/includes/javascript/assessmentoption.js =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/web/includes/javascript/assessmentoption.js (.../assessmentoption.js) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/web/includes/javascript/assessmentoption.js (.../assessmentoption.js) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -8,6 +8,7 @@ function addOption(){ var url= addOptionUrl; var optionList = $("#optionForm").serialize(true); + prepareFCKEditorsForAjaxSubmit(); $(optionTargetDiv).load( url, { @@ -52,5 +53,10 @@ } ); } + function prepareFCKEditorsForAjaxSubmit(){ + //$("input[id^=optionFeedback]").each(function() { + // this.val(FCKeditorAPI.GetInstance($(this).id).GetXHTML()); + //}); + } Fisheye: Tag 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 refers to a dead (removed) revision in file `lams_tool_assessment/web/includes/javascript/jquery.FCKEditor.js'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_assessment/web/pages/authoring/parts/addessay.jsp =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/web/pages/authoring/parts/addessay.jsp (.../addessay.jsp) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/web/pages/authoring/parts/addessay.jsp (.../addessay.jsp) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -35,6 +35,10 @@ }, debug: true, submitHandler: function(form) { + $("#question").val(FCKeditorAPI.GetInstance("question").GetXHTML()); + $("#generalFeedback").val(FCKeditorAPI.GetInstance("generalFeedback").GetXHTML()); + $("#feedback").val(FCKeditorAPI.GetInstance("feedback").GetXHTML()); + var options = { target: parent.jQuery('#questionListArea'), success: afterRatingSubmit // post-submit callback @@ -77,7 +81,9 @@
- + +
@@ -88,12 +94,16 @@
- + +
- + + Index: lams_tool_assessment/web/pages/authoring/parts/addmatchingpairs.jsp =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/web/pages/authoring/parts/addmatchingpairs.jsp (.../addmatchingpairs.jsp) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/web/pages/authoring/parts/addmatchingpairs.jsp (.../addmatchingpairs.jsp) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -59,6 +59,8 @@ debug: true, submitHandler: function(form) { $("#optionList").val($("#optionForm").serialize(true)); + $("#question").val(FCKeditorAPI.GetInstance("question").GetXHTML()); + $("#generalFeedback").val(FCKeditorAPI.GetInstance("generalFeedback").GetXHTML()); var options = { target: parent.jQuery('#questionListArea'), @@ -126,7 +128,9 @@
- + +
Index: lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp (.../addmultiplechoice.jsp) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp (.../addmultiplechoice.jsp) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -25,11 +25,8 @@ - + + + + + +
+ <%@ include file="/common/messages.jsp"%> + + + + + + + + +

+ +

+ +
+ + Required field +
+ + +
+ +
+ + + +
+ + Required field +
+ + +
+ + Required field +
+ + +
+ +
+ + + +

+ + +
+ +
+ +
+ + +
+ <%@ include file="optionlist.jsp"%> + + + +
+ +


+ + + + + + + + + +
+ + + + + + + Index: lams_tool_assessment/web/pages/authoring/parts/addshortanswer.jsp =================================================================== diff -u --- lams_tool_assessment/web/pages/authoring/parts/addshortanswer.jsp (revision 0) +++ lams_tool_assessment/web/pages/authoring/parts/addshortanswer.jsp (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -0,0 +1,173 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + <%@ include file="/common/header.jsp"%> + + + + + + + + + + + + + + + + +
+ <%@ include file="/common/messages.jsp"%> + + + + + + + + +

+ +

+ +
+ + Required field +
+ + +
+ +
+ + + +
+ + Required field +
+ + +
+ + Required field +
+ + +
+ +
+ + + +
+ +
+ + + + + +

+ + +
+ +
+ +
+ + +
+ <%@ include file="optionlist.jsp"%> + + + +
+ + + + + + + + + + +
+ + + + + + +
Index: lams_tool_assessment/web/pages/authoring/parts/addtruefalse.jsp =================================================================== diff -u --- lams_tool_assessment/web/pages/authoring/parts/addtruefalse.jsp (revision 0) +++ lams_tool_assessment/web/pages/authoring/parts/addtruefalse.jsp (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -0,0 +1,151 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + <%@ include file="/common/header.jsp"%> + + + + + + + + + + + + + + +
+ <%@ include file="/common/messages.jsp"%> + + + + + + + +

+ +

+ +
+ + Required field +
+ + +
+ +
+ + + +
+ + Required field +
+ + +
+ + Required field +
+ 1 + +
+ +
+ + + +
+ +
+ + + + + +
+ +
+ + + +
+ +
+ + + +
+ + + + + + + + + + +
+ + + + + + +
Index: lams_tool_assessment/web/pages/authoring/parts/numerical.jsp =================================================================== diff -u --- lams_tool_assessment/web/pages/authoring/parts/numerical.jsp (revision 0) +++ lams_tool_assessment/web/pages/authoring/parts/numerical.jsp (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + 100 % + 90 % + 83.333 % + 80 % + 75% + 70 % + 66.666 % + 60 % + 50 % + 40 % + 33.333 % + 30 % + 25 % + 20 % + 16.666 % + 14.2857 % + 12.5 % + 11.111 % + 10 % + 5 % + + -5 % + -10 % + -11.111 % + -12.5 % + -14.2857 % + -16.666 % + -20 % + -25 % + -30 % + -33.333 % + -40 % + -50 % + -60 % + -66.666 % + -70 % + -75 % + -80 % + -83.333 % + -90 % + -100 % + +
+ + + + + +
Index: lams_tool_assessment/web/pages/authoring/parts/option.jsp =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/web/pages/authoring/parts/option.jsp (.../option.jsp) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/web/pages/authoring/parts/option.jsp (.../option.jsp) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -1,77 +1,77 @@ - - - - - - - - - - - - - - -
- - - - - - -
- - - - - - 100 % - 90 % - 83.333 % - 80 % - 75% - 70 % - 66.666 % - 60 % - 50 % - 40 % - 33.333 % - 30 % - 25 % - 20 % - 16.666 % - 14.2857 % - 12.5 % - 11.111 % - 10 % - 5 % - - -5 % - -10 % - -11.111 % - -12.5 % - -14.2857 % - -16.666 % - -20 % - -25 % - -30 % - -33.333 % - -40 % - -50 % - -60 % - -66.666 % - -70 % - -75 % - -80 % - -83.333 % - -90 % - -100 % - -
- - - - - -
+ + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + + 100 % + 90 % + 83.333 % + 80 % + 75% + 70 % + 66.666 % + 60 % + 50 % + 40 % + 33.333 % + 30 % + 25 % + 20 % + 16.666 % + 14.2857 % + 12.5 % + 11.111 % + 10 % + 5 % + + -5 % + -10 % + -11.111 % + -12.5 % + -14.2857 % + -16.666 % + -20 % + -25 % + -30 % + -33.333 % + -40 % + -50 % + -60 % + -66.666 % + -70 % + -75 % + -80 % + -83.333 % + -90 % + -100 % + +
+ + + + + +
Index: lams_tool_assessment/web/pages/authoring/parts/optionlist.jsp =================================================================== diff -u -rc437e028a3802f01fa80d40d99813c06944d0e9a -r4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6 --- lams_tool_assessment/web/pages/authoring/parts/optionlist.jsp (.../optionlist.jsp) (revision c437e028a3802f01fa80d40d99813c06944d0e9a) +++ lams_tool_assessment/web/pages/authoring/parts/optionlist.jsp (.../optionlist.jsp) (revision 4c539129df9d6fd79ac3d7ba4d964dc8f0e6a9d6) @@ -11,12 +11,15 @@ - + <%@ include file="option.jsp"%> <%@ include file="matchingpair.jsp"%> + + <%@ include file="numerical.jsp"%> +