Index: lams_tool_scratchie/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r6ab3389a13d007de0abc74bc9df848332037f9dd -r6ec82271ed6bf6f295a9006d88e58996ca7de2dd --- lams_tool_scratchie/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 6ab3389a13d007de0abc74bc9df848332037f9dd) +++ lams_tool_scratchie/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 6ec82271ed6bf6f295a9006d88e58996ca7de2dd) @@ -14,6 +14,7 @@ label.authoring.basic.item.correct = Correct? label.authoring.basic.add.another.scratchie = Add another scratchie label.authoring.save.button = Save +label.authoring.save.new.version.button = Save as new version label.authoring.cancel.button = Cancel error.msg.default.content.not.find = Could not retrieve default content record for this tool. authoring.msg.cancel.save = Do you want to close this window without saving? Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/controller/AuthoringController.java =================================================================== diff -u -r0f6e04d06144f4d55986abbf6fbcf2222cf0d43c -r6ec82271ed6bf6f295a9006d88e58996ca7de2dd --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 0f6e04d06144f4d55986abbf6fbcf2222cf0d43c) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 6ec82271ed6bf6f295a9006d88e58996ca7de2dd) @@ -459,7 +459,8 @@ * persisted. */ @RequestMapping(value = "/saveItem", method = RequestMethod.POST) - private String saveItem(@ModelAttribute("scratchieItemForm") QbQuestionForm form, HttpServletRequest request) { + private String saveItem(@ModelAttribute("scratchieItemForm") QbQuestionForm form, HttpServletRequest request, + @RequestParam(name = "newVersion", required = false) boolean enforceNewVersion) { SessionMap sessionMap = (SessionMap) request.getSession() .getAttribute(form.getSessionMapID()); SortedSet itemList = getItemList(sessionMap); @@ -527,6 +528,9 @@ int isQbQuestionModified = isDefaultQuestion ? IQbService.QUESTION_MODIFIED_ID_BUMP : qbQuestion.isQbQuestionModified(oldQbQuestion); + if (isQbQuestionModified < IQbService.QUESTION_MODIFIED_VERSION_BUMP && enforceNewVersion) { + isQbQuestionModified = IQbService.QUESTION_MODIFIED_VERSION_BUMP; + } QbQuestion updatedQuestion = null; switch (isQbQuestionModified) { case IQbService.QUESTION_MODIFIED_VERSION_BUMP: { Index: lams_tool_scratchie/web/pages/authoring/parts/addItemFooter.jsp =================================================================== diff -u -r8a10262db418fe16a5ac30cb2123feddea6f162e -r6ec82271ed6bf6f295a9006d88e58996ca7de2dd --- lams_tool_scratchie/web/pages/authoring/parts/addItemFooter.jsp (.../addItemFooter.jsp) (revision 8a10262db418fe16a5ac30cb2123feddea6f162e) +++ lams_tool_scratchie/web/pages/authoring/parts/addItemFooter.jsp (.../addItemFooter.jsp) (revision 6ec82271ed6bf6f295a9006d88e58996ca7de2dd) @@ -1,5 +1,16 @@ <%@ include file="/common/taglibs.jsp"%> + +