Index: lams_build/lib/lams/lams-learning.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams-learning.jar,v diff -u -r1.50 -r1.51 Binary files differ Index: lams_build/lib/lams/lams.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams.jar,v diff -u -r1.363 -r1.364 Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java,v diff -u -r1.30 -r1.31 --- lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java 13 Aug 2009 09:47:16 -0000 1.30 +++ lams_common/src/java/org/lamsfoundation/lams/web/util/AttributeNames.java 9 Apr 2013 12:46:58 -0000 1.31 @@ -82,6 +82,7 @@ public static final String ATTR_USERNAME = "username"; public static final String ATTR_UPDATE_PROGRESS_BAR = "updateProgressBar"; public static final String ATTR_SESSION_STATUS = "sessionStatus"; + public static final String ATTR_ACTIVITY_POSITION = "activityPosition"; // for Pedagogical Planner public static final String PARAM_COMMAND = "command"; Index: lams_learning/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_learning/conf/language/lams/ApplicationResources.properties,v diff -u -r1.53 -r1.54 --- lams_learning/conf/language/lams/ApplicationResources.properties 3 Dec 2012 10:17:09 -0000 1.53 +++ lams_learning/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:03 -0000 1.54 @@ -18,6 +18,7 @@ exit.message =You can resume this lesson using the Resume button. label.next.button =Next label.finish.button =Next Activity +label.submit.button =Submit message.activity.parallel.partialComplete =You have to complete the other task before progressing to the next activity.... message.activity.parallel.noFrames =Your browser does not handle frames! message.activity.options.noActivitySelected =Please select an activity from the list Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java,v diff -u -r1.33 -r1.34 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java 2 Jul 2009 13:03:16 -0000 1.33 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java 9 Apr 2013 12:46:02 -0000 1.34 @@ -24,6 +24,7 @@ /* $$Id$$ */ package org.lamsfoundation.lams.learning.service; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; import org.lamsfoundation.lams.tool.ToolOutput; /** @@ -37,15 +38,19 @@ * * Do not change learnerId to Integer (to match the other calls) as all the tools expect this to be a Long. * - * @param toolSessionId, - * session ID for completed tool + * @param toolSessionId + * , session ID for completed tool * @param learnerId - * the learner who is completing the tool session. + * the learner who is completing the tool session. * @return the URL for the next activity * @throws LearnerServiceException - * in case of problems. + * in case of problems. */ public String completeToolSession(Long toolSessionId, Long learnerId); ToolOutput getToolInput(Long requestingToolContentId, Integer assigmentId, Integer learnerId); + + ActivityPositionDTO getActivityPosition(Long activityId); + + ActivityPositionDTO getActivityPositionByToolSessionId(Long toolSessionId); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java,v diff -u -r1.105 -r1.106 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 7 Jan 2013 10:02:24 -0000 1.105 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 9 Apr 2013 12:46:02 -0000 1.106 @@ -41,8 +41,10 @@ import org.lamsfoundation.lams.learning.progress.ProgressBuilder; import org.lamsfoundation.lams.learning.progress.ProgressEngine; import org.lamsfoundation.lams.learning.progress.ProgressException; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; import org.lamsfoundation.lams.learning.web.bean.GateActivityDTO; import org.lamsfoundation.lams.learning.web.util.ActivityMapping; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.ActivityEvaluation; import org.lamsfoundation.lams.learningdesign.BranchActivityEntry; @@ -57,9 +59,11 @@ import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.learningdesign.LearnerChoiceGrouper; import org.lamsfoundation.lams.learningdesign.LearnerChoiceGrouping; +import org.lamsfoundation.lams.learningdesign.OptionsActivity; import org.lamsfoundation.lams.learningdesign.SequenceActivity; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.learningdesign.ToolBranchingActivity; +import org.lamsfoundation.lams.learningdesign.Transition; import org.lamsfoundation.lams.learningdesign.dao.IActivityDAO; import org.lamsfoundation.lams.learningdesign.dao.IDataFlowDAO; import org.lamsfoundation.lams.learningdesign.dao.IGroupUserDAO; @@ -138,29 +142,30 @@ this.messageService = messageService; } + @Override public MessageService getMessageService() { return messageService; } /** * @param lessonDAO - * The lessonDAO to set. + * The lessonDAO to set. */ public void setLessonDAO(ILessonDAO lessonDAO) { this.lessonDAO = lessonDAO; } /** * @param learnerProgressDAO - * The learnerProgressDAO to set. + * The learnerProgressDAO to set. */ public void setLearnerProgressDAO(ILearnerProgressDAO learnerProgressDAO) { this.learnerProgressDAO = learnerProgressDAO; } /** * @param lamsToolService - * The lamsToolService to set. + * The lamsToolService to set. */ public void setLamsCoreToolService(ILamsCoreToolService lamsToolService) { lamsCoreToolService = lamsToolService; @@ -172,20 +177,20 @@ /** * @param activityDAO - * The activityDAO to set. + * The activityDAO to set. */ public void setActivityDAO(IActivityDAO activityDAO) { this.activityDAO = activityDAO; } /** * @param groupingDAO - * The groupingDAO to set. + * The groupingDAO to set. */ public void setGroupingDAO(IGroupingDAO groupingDAO) { this.groupingDAO = groupingDAO; } - + /** * @return the groupUserDAO */ @@ -195,7 +200,7 @@ /** * @param groupUserDAO - * groupUserDAO + * groupUserDAO */ public void setGroupUserDAO(IGroupUserDAO groupUserDAO) { this.groupUserDAO = groupUserDAO; @@ -204,13 +209,14 @@ /** * @return the User Management Service */ + @Override public IUserManagementService getUserManagementService() { return userManagementService; } /** * @param userService - * User Management Service + * User Management Service */ public void setUserManagementService(IUserManagementService userService) { userManagementService = userService; @@ -219,10 +225,10 @@ public void setLessonService(ILessonService lessonService) { this.lessonService = lessonService; } - + public void setLogEventService(ILogEventService logEventService) { this.logEventService = logEventService; - } + } // --------------------------------------------------------------------- // Service Methods @@ -232,6 +238,7 @@ * * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#getActiveLessonsFor(org.lamsfoundation.lams.usermanagement.User) */ + @Override public LessonDTO[] getActiveLessonsFor(Integer learnerId) { User learner = (User) userManagementService.findById(User.class, learnerId); List activeLessons = lessonDAO.getActiveLessonsForLearner(learner); @@ -245,13 +252,15 @@ return getLessonDataFor(activeLessons); } + @Override public Lesson getLesson(Long lessonId) { return lessonDAO.getLesson(lessonId); } /** * Get the lesson data for a particular lesson. In a DTO format suitable for sending to the client. */ + @Override public LessonDTO getLessonData(Long lessonId) { Lesson lesson = getLesson(lessonId); return lesson != null ? lesson.getLessonData() : null; @@ -270,23 +279,25 @@ *

* In terms of an started lesson, the learner progress will be returned without calculation. Tool session will be * initialized if necessary. Note that we won't initialize tool session for current activity because we assume tool - * session will always initialize before it becomes a current activity.

0) { + if ((toolActivity != null) && (toolSession != null) && (learner != null) && (lesson != null)) { + if ((toolActivity.getActivityEvaluations() != null) && (toolActivity.getActivityEvaluations().size() > 0)) { // Getting the first activity evaluation ActivityEvaluation eval = toolActivity.getActivityEvaluations().iterator().next(); @@ -676,7 +699,7 @@ toolActivity.getActivityId(), learner.getUserId()); // Only set the mark if it hasnt previously been set by a teacher - if (gradebookUserActivity == null || !gradebookUserActivity.getMarkedInGradebook()) { + if ((gradebookUserActivity == null) || !gradebookUserActivity.getMarkedInGradebook()) { gradebookService.updateUserActivityGradebookMark(lesson, learner, toolActivity, outputDouble, false); } @@ -697,6 +720,7 @@ * * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#exitLesson(org.lamsfoundation.lams.lesson.LearnerProgress) */ + @Override public void exitLesson(Integer learnerId, Long lessonId) { User learner = (User) userManagementService.findById(User.class, learnerId); @@ -716,6 +740,7 @@ /** * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#getActivity(java.lang.Long) */ + @Override public Activity getActivity(Long activityId) { return activityDAO.getActivityByActivityId(activityId); } @@ -725,6 +750,7 @@ * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#performGrouping(java.lang.Long, java.lang.Long, * java.lang.Integer) */ + @Override public boolean performGrouping(Long lessonId, Long groupingActivityId, Integer learnerId, boolean forceGrouping) throws LearnerServiceException { GroupingActivity groupingActivity = (GroupingActivity) activityDAO.getActivityByActivityId(groupingActivityId, @@ -733,7 +759,7 @@ boolean groupingDone = false; try { - if (groupingActivity != null && groupingActivity.getCreateGrouping() != null && learner != null) { + if ((groupingActivity != null) && (groupingActivity.getCreateGrouping() != null) && (learner != null)) { Grouping grouping = groupingActivity.getCreateGrouping(); // first check if the grouping already done for the user. If done, then skip the processing. @@ -767,14 +793,15 @@ /** * {@inheritDoc} */ + @Override public boolean learnerChooseGroup(Long lessonId, Long groupingActivityId, Long groupId, Integer learnerId) throws LearnerServiceException { GroupingActivity groupingActivity = (GroupingActivity) activityDAO.getActivityByActivityId(groupingActivityId, GroupingActivity.class); - if (groupingActivity != null && groupId != null && learnerId != null) { + if ((groupingActivity != null) && (groupId != null) && (learnerId != null)) { Grouping grouping = groupingDAO.getGroupingById(groupingActivity.getCreateGrouping().getGroupingId()); - if (grouping != null && grouping.isLearnerChoiceGrouping()) { + if ((grouping != null) && grouping.isLearnerChoiceGrouping()) { User learner = (User) userManagementService.findById(User.class, learnerId); if (grouping.doesLearnerExist(learner)) { @@ -848,6 +875,7 @@ * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#knockGate(java.lang.Long, * org.lamsfoundation.lams.usermanagement.User) */ + @Override public GateActivityDTO knockGate(Long gateActivityId, User knocker, boolean forceGate) { GateActivity gate = (GateActivity) activityDAO.getActivityByActivityId(gateActivityId, GateActivity.class); if (gate != null) { @@ -863,6 +891,7 @@ * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#knockGate(org.lamsfoundation.lams.learningdesign.GateActivity, * org.lamsfoundation.lams.usermanagement.User) */ + @Override public GateActivityDTO knockGate(GateActivity gate, User knocker, boolean forceGate) { Lesson lesson = getLessonByActivity(gate); List lessonLearners = getLearnersForGate(gate, lesson); @@ -905,24 +934,24 @@ List lessonLearners = null; Activity branchActivity = gate.getParentBranch(); - while (branchActivity != null + while ((branchActivity != null) && !(branchActivity.getParentActivity().isChosenBranchingActivity() || branchActivity .getParentActivity().isGroupBranchingActivity())) { branchActivity = branchActivity.getParentBranch(); } if (branchActivity != null) { // set up list based on branch - all members of a group attached to the branch are destined for the gate - SequenceActivity branchSequence = (SequenceActivity) activityDAO.getActivityByActivityId(branchActivity - .getActivityId(), SequenceActivity.class); + SequenceActivity branchSequence = (SequenceActivity) activityDAO.getActivityByActivityId( + branchActivity.getActivityId(), SequenceActivity.class); Set branchEntries = branchSequence.getBranchEntries(); Iterator entryIterator = branchEntries.iterator(); while (entryIterator.hasNext()) { BranchActivityEntry branchActivityEntry = (BranchActivityEntry) entryIterator.next(); Group group = branchActivityEntry.getGroup(); if (group != null) { - List groupLearners = lessonService.getActiveLessonLearnersByGroup(lesson.getLessonId(), group - .getGroupId()); + List groupLearners = lessonService.getActiveLessonLearnersByGroup(lesson.getLessonId(), + group.getGroupId()); if (lessonLearners == null) { lessonLearners = groupLearners; } else { @@ -940,6 +969,7 @@ /** * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#getWaitingGateLearners(org.lamsfoundation.lams.learningdesign.GateActivity) */ + @Override public List getLearnersForGate(GateActivity gate) { return getLearnersForGate(gate, getLessonByActivity(gate)); } @@ -948,6 +978,7 @@ * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#getLearnerActivityURL(java.lang.Integer, * java.lang.Long) */ + @Override public String getLearnerActivityURL(Integer learnerId, Long activityId) { User learner = (User) userManagementService.findById(User.class, learnerId); Activity requestedActivity = getActivity(activityId); @@ -958,13 +989,15 @@ /** * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#getActiveLearnersByLesson(long) */ + @Override public List getActiveLearnersByLesson(long lessonId) { return lessonService.getActiveLessonLearners(lessonId); } /** * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#getCountActiveLessonLearners(long) */ + @Override public Integer getCountActiveLearnersByLesson(long lessonId) { return lessonService.getCountActiveLessonLearners(lessonId); } @@ -973,6 +1006,7 @@ * Get the lesson for this activity. If the activity is not part of a lesson (ie is from an authoring design then it * will return null. */ + @Override public Lesson getLessonByActivity(Activity activity) { Lesson lesson = lessonDAO.getLessonForActivity(activity.getActivityId()); if (lesson == null) { @@ -1041,7 +1075,7 @@ * Create an array of lesson dto based a list of lessons. * * @param lessons - * the list of lessons. + * the list of lessons. * @return the lesson dto array. */ private LessonDTO[] getLessonDataFor(List lessons) { @@ -1058,6 +1092,7 @@ * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#determineBranch(org.lamsfoundation.lams.lesson.Lesson, * org.lamsfoundation.lams.learningdesign.BranchingActivity, java.lang.Integer) */ + @Override public SequenceActivity determineBranch(Lesson lesson, BranchingActivity branchingActivity, Integer learnerId) throws LearnerServiceException { User learner = (User) userManagementService.findById(User.class, learnerId); @@ -1108,8 +1143,8 @@ Iterator branchIterator = branchingActivity.getActivities().iterator(); while (branchIterator.hasNext()) { Activity branchActivity = (Activity) branchIterator.next(); - SequenceActivity branchSequence = (SequenceActivity) activityDAO.getActivityByActivityId(branchActivity - .getActivityId(), SequenceActivity.class); + SequenceActivity branchSequence = (SequenceActivity) activityDAO.getActivityByActivityId( + branchActivity.getActivityId(), SequenceActivity.class); Iterator entryIterator = branchSequence.getBranchEntries().iterator(); while (entryIterator.hasNext()) { BranchActivityEntry entry = entryIterator.next(); @@ -1124,7 +1159,7 @@ Map toolOutputMap = new HashMap(); Iterator conditionIterator = conditionsMap.keySet().iterator(); - while (matchedBranch == null && conditionIterator.hasNext()) { + while ((matchedBranch == null) && conditionIterator.hasNext()) { BranchCondition condition = conditionIterator.next(); String conditionName = condition.getName(); ToolOutput toolOutput = toolOutputMap.get(conditionName); @@ -1138,7 +1173,7 @@ } } - if (toolOutput != null && condition.isMet(toolOutput)) { + if ((toolOutput != null) && condition.isMet(toolOutput)) { matchedBranch = conditionsMap.get(condition); } } @@ -1189,7 +1224,7 @@ if (group != null) { if (group.getBranchActivities() != null) { Iterator branchesIterator = group.getBranchActivities().iterator(); - while (sequenceActivity == null && branchesIterator.hasNext()) { + while ((sequenceActivity == null) && branchesIterator.hasNext()) { BranchActivityEntry branchActivityEntry = (BranchActivityEntry) branchesIterator.next(); if (branchActivityEntry.getBranchingActivity().equals(branchingActivity)) { sequenceActivity = branchActivityEntry.getBranchSequenceActivity(); @@ -1216,9 +1251,9 @@ * Checks if any of the conditions that open the gate is met. * * @param gate - * gate to check + * gate to check * @param learner - * learner who is knocking to the gate + * learner who is knocking to the gate * @return true if learner satisfied any of the conditions and is allowed to pass */ private boolean determineConditionGateStatus(GateActivity gate, User learner) { @@ -1248,8 +1283,8 @@ String conditionName = condition.getName(); ToolOutput toolOutput = toolOutputMap.get(conditionName); if (toolOutput == null) { - toolOutput = lamsCoreToolService.getOutputFromTool(conditionName, toolSession, learner - .getUserId()); + toolOutput = lamsCoreToolService.getOutputFromTool(conditionName, toolSession, + learner.getUserId()); if (toolOutput == null) { LearnerService.log .warn("Condition " @@ -1262,7 +1297,7 @@ } } - if (toolOutput != null && condition.isMet(toolOutput)) { + if ((toolOutput != null) && condition.isMet(toolOutput)) { shouldOpenGate = entry.getGateOpenWhenConditionMet(); if (shouldOpenGate) { // save the learner to the "allowed to pass" list so we don't check the conditions over and @@ -1285,6 +1320,7 @@ * @see org.lamsfoundation.lams.learning.service.ICoreLearnerService#determineBranch(org.lamsfoundation.lams.lesson.Lesson, * org.lamsfoundation.lams.learningdesign.BranchingActivity, java.lang.Integer) */ + @Override public SequenceActivity selectBranch(Lesson lesson, BranchingActivity branchingActivity, Integer learnerId, Long branchId) throws LearnerServiceException { @@ -1299,7 +1335,7 @@ SequenceActivity.class); if (selectedBranch != null) { - if (selectedBranch.getParentActivity() == null + if ((selectedBranch.getParentActivity() == null) || !selectedBranch.getParentActivity().equals(branchingActivity)) { String error = "selectBranch: activity " + selectedBranch + " is not a branch within the branching activity " + branchingActivity + ". Unable to branch."; @@ -1312,7 +1348,7 @@ // Does this matching branch have any groups? If so, see if the learner is in // the appropriate group and add them if necessary. - if (groups != null && groups.size() > 0) { + if ((groups != null) && (groups.size() > 0)) { boolean isInGroup = false; Group aGroup = null; Iterator groupIter = groups.iterator(); @@ -1339,7 +1375,7 @@ // groups will exist // but it too hard to reuse them.) } else { - if (grouping.isChosenGrouping() && grouping.getMaxNumberOfGroups() != null) { + if (grouping.isChosenGrouping() && (grouping.getMaxNumberOfGroups() != null)) { grouping.setMaxNumberOfGroups(null); } @@ -1383,6 +1419,7 @@ /** * {@inheritDoc} */ + @Override public Integer calculateMaxNumberOfLearnersPerGroup(Long lessonId, Grouping grouping) { Lesson lesson = getLesson(lessonId); LearnerChoiceGrouping learnerChoiceGrouping = (LearnerChoiceGrouping) grouping; @@ -1411,6 +1448,7 @@ return maxNumberOfLearnersPerGroup; } + @Override public Grouping getGrouping(Long groupingId) { return groupingDAO.getGroupingById(groupingId); } @@ -1431,6 +1469,7 @@ * Gets the concreted tool output (not the definition) from a tool. This method is called by target tool in order to * get data from source tool. */ + @Override public ToolOutput getToolInput(Long requestingToolContentId, Integer assigmentId, Integer learnerId) { DataFlowObject dataFlowObject = getDataFlowDAO() .getAssignedDataFlowObject(requestingToolContentId, assigmentId); @@ -1442,4 +1481,90 @@ return output; } + + /** + * Finds activity position within Learning Design. + */ + @SuppressWarnings("unchecked") + @Override + public ActivityPositionDTO getActivityPosition(Long activityId) { + if (activityId == null) { + return null; + } + Activity activity = getActivity(activityId); + if (activity == null) { + return null; + } + + ActivityPositionDTO result = new ActivityPositionDTO(); + // this is not really used at the moment, but can be useful in the future + result.setActivityCount(activity.getLearningDesign().getActivities().size()); + Activity parentActivity = activity.getParentActivity(); + boolean isFirst = false; + boolean isLast = false; + + if (parentActivity == null) { + // it's an activity in the main sequence + isFirst = activity.getTransitionTo() == null; + isLast = isActivityLast(activity); + } else { + if (parentActivity.isSequenceActivity()) { + // only parent's parent is the one in main sequence + parentActivity = parentActivity.getParentActivity(); + } + + ActivityPositionDTO parentPosition = getActivityPosition(parentActivity.getActivityId()); + if (parentPosition != null) { + // looking for first-ness is easy + isFirst = parentPosition.getFirst() && (activity.getTransitionTo() == null); + + // looking for last-ness + if (parentActivity.isOptionsActivity()) { + if (parentPosition.getLast()) { + // this is tricky: the activity is the last one only if parent is and after completing it, + // there are no more optional activities to do + // (for example, it's 4th out of 5 optional activities) + OptionsActivity parentOptionsActivity = (OptionsActivity) getActivity(parentActivity + .getActivityId()); + Integer learnerId = LearningWebUtil.getUserId(); + Lesson lesson = getLessonByActivity(activity); + LearnerProgress learnerProgress = getProgress(learnerId, lesson.getLessonId()); + + int completedSubactivities = 0; + for (Activity subactivity : (Set) parentOptionsActivity.getActivities()) { + if (LearnerProgress.ACTIVITY_COMPLETED == learnerProgress.getProgressState(subactivity)) { + completedSubactivities++; + } + } + + isLast = completedSubactivities == parentOptionsActivity.getMaxNumberOfOptionsNotNull() - 1; + } + } else if (parentActivity.isBranchingActivity() || parentActivity.isParallelActivity()) { + isLast = parentPosition.getLast() && isActivityLast(activity); + } + } + } + + result.setFirst(isFirst); + result.setLast(isLast); + return result; + } + + @Override + public ActivityPositionDTO getActivityPositionByToolSessionId(Long toolSessionId) { + ToolSession toolSession = lamsCoreToolService.getToolSessionById(toolSessionId); + return toolSession == null ? null : getActivityPosition(toolSession.getToolActivity().getActivityId()); + } + + private boolean isActivityLast(Activity activity) { + Transition transition = activity.getTransitionFrom(); + while (transition != null) { + Activity nextActivity = transition.getToActivity(); + if (!nextActivity.isGateActivity()) { + return false; + } + transition = nextActivity.getTransitionFrom(); + } + return true; + } } \ No newline at end of file Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java,v diff -u -r1.22 -r1.23 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java 13 Jan 2009 06:58:40 -0000 1.22 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java 9 Apr 2013 12:46:02 -0000 1.23 @@ -115,9 +115,10 @@ form.setProgressID(learnerProgress.getLearnerProgressId()); this.saveToken(request); + + LearningWebUtil.setupProgressInRequest(form, request, learnerProgress); + LearningWebUtil.putActivityPositionInRequest(form.getActivityID(), request, getServlet().getServletContext()); - LearningWebUtil.setupProgressInRequest(form, request, learnerProgress); - String forward = "displayOptions"; return mapping.findForward(forward); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java,v diff -u -r1.30 -r1.31 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java 23 Feb 2009 21:00:47 -0000 1.30 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java 9 Apr 2013 12:46:02 -0000 1.31 @@ -184,7 +184,10 @@ request.setAttribute(GroupingAction.LOCAL_FILES, Boolean.FALSE); ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, true); request.setAttribute(GroupingAction.FINISHED_BUTTON, new Boolean(mode == null || !mode.isTeacher())); - + + long activityId = WebUtil.readLongParam(request, AttributeNames.PARAM_ACTIVITY_ID); + LearningWebUtil.putActivityPositionInRequest(activityId, request, getServlet().getServletContext()); + return mapping.findForward(GroupingAction.SHOW_GROUP); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/bean/ActivityPositionDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/web/bean/ActivityPositionDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/bean/ActivityPositionDTO.java 9 Apr 2013 12:46:03 -0000 1.1 @@ -0,0 +1,60 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id: ActivityPositionDTO.java,v 1.1 2013/04/09 12:46:03 marcin Exp $ */ +package org.lamsfoundation.lams.learning.web.bean; + +/** + * Marks activity position within Learning Design. It can be extended to find out exact position (for example, 4th + * activity of total 10). + * + * @author Marcin Cieslak + */ +public class ActivityPositionDTO { + private Boolean last; + private Boolean first; + private Integer activityCount; + + public Boolean getLast() { + return last; + } + + public void setLast(Boolean last) { + this.last = last; + } + + public Boolean getFirst() { + return first; + } + + public void setFirst(Boolean first) { + this.first = first; + } + + public Integer getActivityCount() { + return activityCount; + } + + public void setActivityCount(Integer activityCount) { + this.activityCount = activityCount; + } +} \ No newline at end of file Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java,v diff -u -r1.30 -r1.31 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java 29 Nov 2012 15:23:34 -0000 1.30 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java 9 Apr 2013 12:46:03 -0000 1.31 @@ -35,8 +35,10 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.DynaActionForm; import org.lamsfoundation.lams.learning.service.ICoreLearnerService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learning.service.LearnerServiceException; import org.lamsfoundation.lams.learning.web.action.ActivityAction; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; import org.lamsfoundation.lams.learning.web.bean.ActivityURL; import org.lamsfoundation.lams.learning.web.form.ActivityForm; import org.lamsfoundation.lams.learningdesign.Activity; @@ -136,24 +138,24 @@ if (learnerProgressId != null) { learnerProgress = learnerService.getProgressById(new Long(learnerProgressId)); - if (learnerProgress != null && LearningWebUtil.log.isDebugEnabled()) { + if ((learnerProgress != null) && LearningWebUtil.log.isDebugEnabled()) { LearningWebUtil.log.debug("getLearnerProgress: found progress via progress id"); } } } if (learnerProgress == null) { - Integer learnerId = getUserId(); - Activity act = getActivityFromRequest(request, learnerService); + Integer learnerId = LearningWebUtil.getUserId(); + Activity act = LearningWebUtil.getActivityFromRequest(request, learnerService); Lesson lesson = learnerService.getLessonByActivity(act); learnerProgress = learnerService.getProgress(learnerId, lesson.getLessonId()); - if (learnerProgress != null && LearningWebUtil.log.isDebugEnabled()) { + if ((learnerProgress != null) && LearningWebUtil.log.isDebugEnabled()) { LearningWebUtil.log.debug("getLearnerProgress: found progress via learner id and activity"); } } - putLearnerProgressInRequest(request, learnerProgress); + LearningWebUtil.putLearnerProgressInRequest(request, learnerProgress); return learnerProgress; } @@ -202,10 +204,10 @@ * Grouping actions. Calls the learningService to actually complete the activity and progress. * * @param redirect - * Should this call redirect to the next screen (true) or use a forward (false) + * Should this call redirect to the next screen (true) or use a forward (false) * @param windowName - * Name of the window that triggered this code. Normally LearnerActivity (the popup window) or - * lWindow (normal learner window) + * Name of the window that triggered this code. Normally LearnerActivity (the popup window) or lWindow + * (normal learner window) * @throws UnsupportedEncodingException * @throws InterruptedException * @@ -238,7 +240,7 @@ } } - if (currentActivity != null && currentActivity.isFloating()) { + if ((currentActivity != null) && currentActivity.isFloating()) { return actionMappings.getCloseForward(currentActivity, lesson.getLessonId()); } @@ -259,13 +261,13 @@ public static void setupProgressInRequest(ActivityForm activityForm, HttpServletRequest request, LearnerProgress learnerProgress) { - putLearnerProgressInRequest(request, learnerProgress); + LearningWebUtil.putLearnerProgressInRequest(request, learnerProgress); // Calculate the progress summary. On join this method gets called twice, and we // only want to calculate once String progressSummary = activityForm.getProgressSummary(); if (progressSummary == null) { - progressSummary = getProgressSummary(learnerProgress); + progressSummary = LearningWebUtil.getProgressSummary(learnerProgress); activityForm.setProgressSummary(progressSummary); } @@ -292,13 +294,13 @@ public static void setupProgressInRequest(DynaActionForm actionForm, HttpServletRequest request, LearnerProgress learnerProgress) { - putLearnerProgressInRequest(request, learnerProgress); + LearningWebUtil.putLearnerProgressInRequest(request, learnerProgress); // Calculate the progress summary. On join this method gets called twice, and we // only want to calculate once String progressSummary = (String) actionForm.get("progressSummary"); if (progressSummary == null) { - progressSummary = getProgressSummary(learnerProgress); + progressSummary = LearningWebUtil.getProgressSummary(learnerProgress); actionForm.set("progressSummary", progressSummary); } @@ -323,10 +325,6 @@ if (learnerProgress == null) { progressSummary.append("attempted=&completed=¤t="); progressSummary.append("&lessonID="); - Lesson currentLesson = learnerProgress.getLesson(); - if (currentLesson != null) { - progressSummary.append(currentLesson.getLessonId()); - } } else { progressSummary.append("attempted="); boolean first = true; @@ -366,7 +364,7 @@ Activity activity, boolean defaultURL, boolean isFloating) { ActivityURL activityURL = new ActivityURL(); activityURL.setType(activity.getClass().getSimpleName()); - + String url = activityMapping.getActivityURL(activity); activityURL.setUrl(url); activityURL.setActivityId(activity.getActivityId()); @@ -382,4 +380,40 @@ activityURL.setDefaultURL(defaultURL); return activityURL; } -} + + /** + * Finds activity position within Learning Design and stores it as request attribute. + */ + public static ActivityPositionDTO putActivityPositionInRequest(Long activityId, HttpServletRequest request, + ServletContext context) { + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(context); + ILearnerService learnerService = (ILearnerService) wac.getBean("learnerService"); + if (learnerService == null) { + LearningWebUtil.log.warn("Can not set activity position, no Learner service in servlet context."); + return null; + } + ActivityPositionDTO positionDTO = learnerService.getActivityPosition(activityId); + if (positionDTO != null) { + request.setAttribute(AttributeNames.ATTR_ACTIVITY_POSITION, positionDTO); + } + return positionDTO; + } + + /** + * Finds activity position within Learning Design and stores it as request attribute. + */ + public static ActivityPositionDTO putActivityPositionInRequestByToolSessionId(Long toolSessionId, + HttpServletRequest request, ServletContext context) { + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(context); + ILearnerService learnerService = (ILearnerService) wac.getBean("learnerService"); + if (learnerService == null) { + LearningWebUtil.log.warn("Can not set activity position, no Learner service in servlet context."); + return null; + } + ActivityPositionDTO positionDTO = learnerService.getActivityPositionByToolSessionId(toolSessionId); + if (positionDTO != null) { + request.setAttribute(AttributeNames.ATTR_ACTIVITY_POSITION, positionDTO); + } + return positionDTO; + } +} \ No newline at end of file Index: lams_learning/web/optionsActivity.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_learning/web/optionsActivity.jsp,v diff -u -r1.34 -r1.35 --- lams_learning/web/optionsActivity.jsp 2 Mar 2009 02:34:50 -0000 1.34 +++ lams_learning/web/optionsActivity.jsp 9 Apr 2013 12:46:02 -0000 1.35 @@ -193,7 +193,16 @@
- + + + + + + + + + +
Index: lams_learning/web/grouping/show.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_learning/web/grouping/show.jsp,v diff -u -r1.12 -r1.13 --- lams_learning/web/grouping/show.jsp 2 Mar 2009 02:34:50 -0000 1.12 +++ lams_learning/web/grouping/show.jsp 9 Apr 2013 12:46:02 -0000 1.13 @@ -65,7 +65,16 @@
Index: lams_tool_assessment/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/conf/language/lams/ApplicationResources.properties,v diff -u -r1.17 -r1.18 --- lams_tool_assessment/conf/language/lams/ApplicationResources.properties 12 Feb 2013 16:42:47 -0000 1.17 +++ lams_tool_assessment/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:47 -0000 1.18 @@ -217,7 +217,8 @@ label.authoring.heading.advance =Advanced label.down =Move down label.finished =Next Activity -label.finish =Finished +label.submit =Finish +label.finish =Finished error.msg.repository =A repository error occurred while trying to upload the file. monitoring.label.attachments =Attachments label.on =On Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java,v diff -u -r1.23 -r1.24 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java 27 Mar 2013 15:11:13 -0000 1.23 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java 9 Apr 2013 12:46:47 -0000 1.24 @@ -52,6 +52,8 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.lamsfoundation.lams.events.DeliveryMethodMail; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.assessment.AssessmentConstants; @@ -132,6 +134,7 @@ * @throws ServletException * */ + @SuppressWarnings("unchecked") private ActionForward start(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws ServletException { @@ -222,6 +225,10 @@ sessionMap.put(AssessmentConstants.ATTR_REFLECTION_INSTRUCTION, assessment.getReflectInstructions()); sessionMap.put(AssessmentConstants.ATTR_REFLECTION_ENTRY, entryText); + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionId, request, getServlet() + .getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + // add define later support if (assessment.isDefineLater()) { return mapping.findForward("defineLater"); @@ -355,7 +362,8 @@ } sessionMap.put(AssessmentConstants.ATTR_QUESTION_NUMBERING_OFFSET, ++questionNumberingOffset); sessionMap.put(AssessmentConstants.ATTR_PAGE_NUMBER, pageNumber); - request.setAttribute(AssessmentConstants.ATTR_SESSION_MAP_ID, sessionMapID); + request.setAttribute(AssessmentConstants.ATTR_SESSION_MAP_ID, sessionMapID); + return mapping.findForward(AssessmentConstants.SUCCESS); } @@ -396,6 +404,7 @@ sessionMap.put(AssessmentConstants.ATTR_FINISHED_LOCK, true); request.setAttribute(AssessmentConstants.ATTR_SESSION_MAP_ID, sessionMapID); + return mapping.findForward(AssessmentConstants.SUCCESS); } Index: lams_tool_assessment/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/web/pages/learning/learning.jsp,v diff -u -r1.23 -r1.24 --- lams_tool_assessment/web/pages/learning/learning.jsp 25 Mar 2013 13:05:19 -0000 1.23 +++ lams_tool_assessment/web/pages/learning/learning.jsp 9 Apr 2013 12:46:47 -0000 1.24 @@ -251,11 +251,19 @@ - + + + + + + + + + + - Index: lams_tool_assessment/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/web/pages/learning/notebook.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_assessment/web/pages/learning/notebook.jsp 17 Feb 2013 16:12:00 -0000 1.3 +++ lams_tool_assessment/web/pages/learning/notebook.jsp 9 Apr 2013 12:46:47 -0000 1.4 @@ -41,7 +41,16 @@
- + + + + + + + + + +
Index: lams_tool_assessment/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_assessment/web/pages/learning/runoffline.jsp 12 Feb 2012 13:41:52 -0000 1.6 +++ lams_tool_assessment/web/pages/learning/runoffline.jsp 9 Apr 2013 12:46:47 -0000 1.7 @@ -42,7 +42,16 @@
- + + + + + + + + + +
Index: lams_tool_bbb/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_bbb/conf/language/lams/ApplicationResources.properties,v diff -u -r1.4 -r1.5 --- lams_tool_bbb/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:13:23 -0000 1.4 +++ lams_tool_bbb/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:45:31 -0000 1.5 @@ -20,6 +20,7 @@ button.cancel =Cancel button.save =Save button.finish =Next Activity +button.submit =Finish button.instructions =Instructions button.continue =Continue button.edit =Edit Index: lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/LearningAction.java,v diff -u -r1.1 -r1.2 --- lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/LearningAction.java 4 May 2011 02:23:41 -0000 1.1 +++ lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/LearningAction.java 9 Apr 2013 12:45:31 -0000 1.2 @@ -37,6 +37,7 @@ import org.apache.struts.actions.DispatchAction; import org.apache.struts.util.MessageResources; import org.lamsfoundation.lams.integration.security.RandomPasswordGenerator; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -185,6 +186,9 @@ lrnForm.setEntryText(notebookEntry.getEntry()); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(lrnForm.getToolSessionID(), request, getServlet() + .getServletContext()); + return mapping.findForward("notebook"); } @@ -304,6 +308,9 @@ bbbService.saveOrUpdateBbb(bbb); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + // check runOffline if (bbb.isRunOffline()) { return mapping.findForward("runOffline"); Index: lams_tool_bbb/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_bbb/web/pages/learning/notebook.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_bbb/web/pages/learning/notebook.jsp 4 May 2011 02:23:44 -0000 1.1 +++ lams_tool_bbb/web/pages/learning/notebook.jsp 9 Apr 2013 12:45:31 -0000 1.2 @@ -25,7 +25,14 @@ - button.finish + + + + + + + + Index: lams_tool_bbb/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_bbb/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_bbb/web/pages/learning/runOffline.jsp 4 May 2011 02:23:45 -0000 1.1 +++ lams_tool_bbb/web/pages/learning/runOffline.jsp 9 Apr 2013 12:45:31 -0000 1.2 @@ -23,7 +23,14 @@
- button.finish + + + + + + + +
Index: lams_tool_bbb/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_bbb/web/pages/learning/parts/finishButton.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_bbb/web/pages/learning/parts/finishButton.jsp 4 May 2011 02:23:45 -0000 1.1 +++ lams_tool_bbb/web/pages/learning/parts/finishButton.jsp 9 Apr 2013 12:45:31 -0000 1.2 @@ -57,7 +57,14 @@ - + + + + + + + + Index: lams_tool_chat/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/conf/language/lams/ApplicationResources.properties,v diff -u -r1.26 -r1.27 --- lams_tool_chat/conf/language/lams/ApplicationResources.properties 30 Oct 2012 21:11:57 -0000 1.26 +++ lams_tool_chat/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:47:18 -0000 1.27 @@ -68,6 +68,7 @@ button.done =Done button.save =Save button.finish =Next Activity +button.submit =Finish button.next =Next label.save =Save label.cancel =Cancel Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java,v diff -u -r1.32 -r1.33 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java 25 Oct 2012 10:21:03 -0000 1.32 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java 9 Apr 2013 12:47:18 -0000 1.33 @@ -46,6 +46,7 @@ import org.apache.tomcat.util.json.JSONArray; import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -175,6 +176,9 @@ chatService.saveOrUpdateChat(chat); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + // check runOffline if (chat.isRunOffline()) { return mapping.findForward("runOffline"); @@ -259,6 +263,9 @@ lrnForm.setEntryText(notebookEntry.getEntry()); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(chatUser.getChatSession().getSessionId(), request, + getServlet().getServletContext()); + return mapping.findForward("notebook"); } Index: lams_tool_chat/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/web/pages/learning/notebook.jsp,v diff -u -r1.11 -r1.12 --- lams_tool_chat/web/pages/learning/notebook.jsp 12 Feb 2012 13:58:27 -0000 1.11 +++ lams_tool_chat/web/pages/learning/notebook.jsp 9 Apr 2013 12:47:18 -0000 1.12 @@ -28,7 +28,16 @@ - button.finish + + + + + + + + + + Index: lams_tool_chat/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/web/pages/learning/parts/finishButton.jsp,v diff -u -r1.15 -r1.16 --- lams_tool_chat/web/pages/learning/parts/finishButton.jsp 12 Feb 2012 13:58:27 -0000 1.15 +++ lams_tool_chat/web/pages/learning/parts/finishButton.jsp 9 Apr 2013 12:47:18 -0000 1.16 @@ -59,7 +59,16 @@ - + + + + + + + + + + Index: lams_tool_daco/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/conf/language/lams/ApplicationResources.properties,v diff -u -r1.21 -r1.22 --- lams_tool_daco/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:05:50 -0000 1.21 +++ lams_tool_daco/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:45:49 -0000 1.22 @@ -147,6 +147,7 @@ label.learning.summary.emptyanswer =Empty answer label.learning.continue =Continue label.learning.finished =Next Activity +label.learning.submit =Finish message.learning.alertContentEdit =The modification of the content is not allowed since one or more participants has attempted the activity. message.learning.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Data Collection, you won't be able to view questions message.learning.addrecordsuccess =The record was added successfully. Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/LearningAction.java,v diff -u -r1.16 -r1.17 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/LearningAction.java 27 Mar 2013 15:08:48 -0000 1.16 +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/LearningAction.java 9 Apr 2013 12:45:49 -0000 1.17 @@ -54,6 +54,8 @@ import org.apache.struts.action.ActionMessages; import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.events.DeliveryMethodMail; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -217,6 +219,10 @@ Integer totalRecordCount = service.getGroupRecordCount(dacoUser.getSession().getSessionId()); sessionMap.put(DacoConstants.ATTR_TOTAL_RECORD_COUNT, totalRecordCount); + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, request, getServlet() + .getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + // add define later support if (daco.isDefineLater()) { return mapping.findForward(DacoConstants.DEFINE_LATER); @@ -253,6 +259,7 @@ isHtmlFormat); } } + return mapping.findForward(DacoConstants.SUCCESS); } Index: lams_tool_daco/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/web/pages/learning/learning.jsp,v diff -u -r1.11 -r1.12 --- lams_tool_daco/web/pages/learning/learning.jsp 12 Feb 2012 14:01:32 -0000 1.11 +++ lams_tool_daco/web/pages/learning/learning.jsp 9 Apr 2013 12:45:49 -0000 1.12 @@ -85,7 +85,16 @@ - + + + + + + + + + + Index: lams_tool_daco/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/web/pages/learning/notebook.jsp,v diff -u -r1.5 -r1.6 --- lams_tool_daco/web/pages/learning/notebook.jsp 12 Feb 2012 14:01:32 -0000 1.5 +++ lams_tool_daco/web/pages/learning/notebook.jsp 9 Apr 2013 12:45:49 -0000 1.6 @@ -41,7 +41,16 @@
- + + + + + + + + + +
Index: lams_tool_daco/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_daco/web/pages/learning/runoffline.jsp 12 Feb 2012 14:01:32 -0000 1.6 +++ lams_tool_daco/web/pages/learning/runoffline.jsp 9 Apr 2013 12:45:49 -0000 1.7 @@ -73,7 +73,16 @@ - + + + + + + + + + + Index: lams_tool_dimdim/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_dimdim/conf/language/lams/ApplicationResources.properties,v diff -u -r1.14 -r1.15 --- lams_tool_dimdim/conf/language/lams/ApplicationResources.properties 28 Nov 2008 04:45:14 -0000 1.14 +++ lams_tool_dimdim/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:07 -0000 1.15 @@ -22,6 +22,7 @@ button.cancel =Cancel button.save =Save button.finish =Next Activity +button.submit =Finish button.instructions =Instructions button.continue = Continue button.edit = Edit Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java,v diff -u -r1.16 -r1.17 --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java 29 Jul 2009 09:49:46 -0000 1.16 +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java 9 Apr 2013 12:46:07 -0000 1.17 @@ -35,6 +35,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -185,8 +186,10 @@ lrnForm.setEntryText(notebookEntry.getEntry()); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(lrnForm.getToolSessionID(), request, getServlet() + .getServletContext()); + return mapping.findForward("notebook"); - } public ActionForward openPreviewMeeting(ActionMapping mapping, ActionForm form, HttpServletRequest request, @@ -285,6 +288,9 @@ request.setAttribute(Constants.ATTR_CONTENT_DTO, contentDTO); + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + // Set the content in use flag. if (!dimdim.isContentInUse()) { dimdim.setContentInUse(true); Index: lams_tool_dimdim/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_dimdim/web/pages/learning/Attic/notebook.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_dimdim/web/pages/learning/notebook.jsp 1 Oct 2008 04:44:53 -0000 1.2 +++ lams_tool_dimdim/web/pages/learning/notebook.jsp 9 Apr 2013 12:46:07 -0000 1.3 @@ -25,7 +25,14 @@ - button.finish + + + + + + + + Index: lams_tool_dimdim/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_dimdim/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_dimdim/web/pages/learning/runOffline.jsp 20 Aug 2008 05:55:52 -0000 1.2 +++ lams_tool_dimdim/web/pages/learning/runOffline.jsp 9 Apr 2013 12:46:07 -0000 1.3 @@ -23,7 +23,14 @@
- button.finish + + + + + + + +
Index: lams_tool_dimdim/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_dimdim/web/pages/learning/parts/Attic/finishButton.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_dimdim/web/pages/learning/parts/finishButton.jsp 1 Oct 2008 04:44:53 -0000 1.2 +++ lams_tool_dimdim/web/pages/learning/parts/finishButton.jsp 9 Apr 2013 12:46:07 -0000 1.3 @@ -57,7 +57,14 @@ - + + + + + + + + Index: lams_tool_eadventure/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_eadventure/conf/language/lams/ApplicationResources.properties,v diff -u -r1.7 -r1.8 --- lams_tool_eadventure/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:13:01 -0000 1.7 +++ lams_tool_eadventure/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:18 -0000 1.8 @@ -132,6 +132,7 @@ error.attachment.executable =The uploaded file is executable, please zip it before uploading. lable.learning.minimum.view.number.less =You must view at least another {0} of the resources. label.finished =Next Activity +label.submit =Finish label.finish =Finished error.msg.repository =A repository error occurred while trying to upload the file. monitoring.label.attachments =Attachments Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java,v diff -u -r1.4 -r1.5 --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java 11 Dec 2011 21:30:31 -0000 1.4 +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java 9 Apr 2013 12:46:18 -0000 1.5 @@ -49,6 +49,8 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.events.DeliveryMethodMail; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -266,7 +268,10 @@ //} sessionMap.put(EadventureConstants.ATTR_EADVENTURE, eadventure); - + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, + request, getServlet().getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + return mapping.findForward(EadventureConstants.SUCCESS); } Index: lams_tool_eadventure/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_eadventure/web/pages/learning/learning.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_eadventure/web/pages/learning/learning.jsp 12 Feb 2012 14:04:00 -0000 1.4 +++ lams_tool_eadventure/web/pages/learning/learning.jsp 9 Apr 2013 12:46:18 -0000 1.5 @@ -171,7 +171,16 @@ - + + + + + + + + + + Index: lams_tool_eadventure/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_eadventure/web/pages/learning/notebook.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_eadventure/web/pages/learning/notebook.jsp 12 Feb 2012 14:04:00 -0000 1.4 +++ lams_tool_eadventure/web/pages/learning/notebook.jsp 9 Apr 2013 12:46:18 -0000 1.5 @@ -43,7 +43,16 @@
- + + + + + + + + + +
Index: lams_tool_eadventure/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_eadventure/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_eadventure/web/pages/learning/runoffline.jsp 12 Feb 2012 14:04:00 -0000 1.4 +++ lams_tool_eadventure/web/pages/learning/runoffline.jsp 9 Apr 2013 12:46:18 -0000 1.5 @@ -71,7 +71,16 @@ - + + + + + + + + + + Index: lams_tool_forum/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/conf/language/lams/ApplicationResources.properties,v diff -u -r1.50 -r1.51 --- lams_tool_forum/conf/language/lams/ApplicationResources.properties 8 Nov 2012 15:05:38 -0000 1.50 +++ lams_tool_forum/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:37 -0000 1.51 @@ -93,6 +93,7 @@ label.reply =Reply label.done =Done label.finish =Next Activity +label.submit =Finish label.newtopic =New Topic label.refresh =Refresh lable.char.left =Characters left Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java,v diff -u -r1.79 -r1.80 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 27 Mar 2013 15:09:55 -0000 1.79 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 9 Apr 2013 12:46:37 -0000 1.80 @@ -51,6 +51,8 @@ import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; import org.lamsfoundation.lams.events.IEventNotificationService; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -232,6 +234,10 @@ sessionMap.put(ForumConstants.ATTR_MINIMUM_REPLY, forum.getMinimumReply()); sessionMap.put(ForumConstants.ATTR_MAXIMUM_REPLY, forum.getMaximumReply()); + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, + request, getServlet().getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + // Should we show the reflection or not? We shouldn't show it when the screen is accessed // from the Monitoring Summary screen, but we should when accessed from the Learner Progress screen. // Need to constantly past this value on, rather than hiding just the once, as the View Forum Index: lams_tool_forum/web/jsps/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/learning/notebook.jsp,v diff -u -r1.12 -r1.13 --- lams_tool_forum/web/jsps/learning/notebook.jsp 12 Feb 2012 14:07:13 -0000 1.12 +++ lams_tool_forum/web/jsps/learning/notebook.jsp 9 Apr 2013 12:46:37 -0000 1.13 @@ -33,7 +33,16 @@
- + + + + + + + + + +
Index: lams_tool_forum/web/jsps/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/learning/Attic/runoffline.jsp,v diff -u -r1.17 -r1.18 --- lams_tool_forum/web/jsps/learning/runoffline.jsp 21 Mar 2012 17:57:21 -0000 1.17 +++ lams_tool_forum/web/jsps/learning/runoffline.jsp 9 Apr 2013 12:46:37 -0000 1.18 @@ -50,7 +50,16 @@ - + + + + + + + + + + Index: lams_tool_forum/web/jsps/learning/viewforum.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/learning/viewforum.jsp,v diff -u -r1.35 -r1.36 --- lams_tool_forum/web/jsps/learning/viewforum.jsp 8 Nov 2012 15:05:38 -0000 1.35 +++ lams_tool_forum/web/jsps/learning/viewforum.jsp 9 Apr 2013 12:46:37 -0000 1.36 @@ -188,7 +188,16 @@ - + + + + + + + + + + Index: lams_tool_forum/web/jsps/learning/mobile/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/learning/mobile/notebook.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_forum/web/jsps/learning/mobile/notebook.jsp 1 Mar 2012 15:37:15 -0000 1.3 +++ lams_tool_forum/web/jsps/learning/mobile/notebook.jsp 9 Apr 2013 12:46:37 -0000 1.4 @@ -39,7 +39,16 @@ Index: lams_tool_forum/web/jsps/learning/mobile/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/learning/mobile/Attic/runoffline.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_forum/web/jsps/learning/mobile/runoffline.jsp 21 Mar 2012 17:57:21 -0000 1.4 +++ lams_tool_forum/web/jsps/learning/mobile/runoffline.jsp 9 Apr 2013 12:46:37 -0000 1.5 @@ -55,7 +55,16 @@ - + + + + + + + + + + Index: lams_tool_forum/web/jsps/learning/mobile/viewforum.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/learning/mobile/viewforum.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_forum/web/jsps/learning/mobile/viewforum.jsp 20 Feb 2013 14:14:03 -0000 1.3 +++ lams_tool_forum/web/jsps/learning/mobile/viewforum.jsp 9 Apr 2013 12:46:37 -0000 1.4 @@ -145,7 +145,14 @@ Index: lams_tool_gmap/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/conf/language/lams/ApplicationResources.properties,v diff -u -r1.31 -r1.32 --- lams_tool_gmap/conf/language/lams/ApplicationResources.properties 13 Apr 2012 15:36:05 -0000 1.31 +++ lams_tool_gmap/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:47:00 -0000 1.32 @@ -98,6 +98,7 @@ authoring.msg.cancel.save =Do you want to close this window without saving? button.try.again =Try Again button.finish =Next Activity +button.submit =Finish message.alertContentEdit =Warning: One of more learners have accessed this activity. Changing this content will result in learners getting different information. error.cantLoadMap =Could not load map. error.gmapKeyMissing =LAMS does not have a Google Maps API key set up, please contact your system administrator. Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java,v diff -u -r1.17 -r1.18 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java 21 Mar 2012 13:37:51 -0000 1.17 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java 9 Apr 2013 12:47:00 -0000 1.18 @@ -33,6 +33,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.ToolSessionManager; @@ -124,6 +125,9 @@ gmapService.saveOrUpdateGmap(gmap); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + // check runOffline if (gmap.isRunOffline()) { return mapping.findForward("runOffline"); @@ -308,6 +312,9 @@ lrnForm.setEntryText(notebookEntry.getEntry()); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(lrnForm.getToolSessionID(), request, getServlet() + .getServletContext()); + return mapping.findForward("notebook"); } Index: lams_tool_gmap/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/pages/learning/notebook.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_gmap/web/pages/learning/notebook.jsp 13 Nov 2012 03:27:50 -0000 1.6 +++ lams_tool_gmap/web/pages/learning/notebook.jsp 9 Apr 2013 12:47:00 -0000 1.7 @@ -46,7 +46,16 @@ - button.finish + + + + + + + + + + Index: lams_tool_gmap/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_gmap/web/pages/learning/runOffline.jsp 12 Feb 2012 14:11:46 -0000 1.3 +++ lams_tool_gmap/web/pages/learning/runOffline.jsp 9 Apr 2013 12:47:00 -0000 1.4 @@ -17,7 +17,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_gmap/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/pages/learning/parts/finishButton.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_gmap/web/pages/learning/parts/finishButton.jsp 12 Feb 2012 14:11:46 -0000 1.3 +++ lams_tool_gmap/web/pages/learning/parts/finishButton.jsp 9 Apr 2013 12:47:00 -0000 1.4 @@ -58,16 +58,18 @@ - + + + + + + + + + + - - - - - - - - + \ No newline at end of file Index: lams_tool_images/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_images/conf/language/lams/ApplicationResources.properties,v diff -u -r1.20 -r1.21 --- lams_tool_images/conf/language/lams/ApplicationResources.properties 18 Dec 2012 10:58:50 -0000 1.20 +++ lams_tool_images/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:45:37 -0000 1.21 @@ -156,6 +156,7 @@ button.close =Close label.monitoring.heading.access =Learners list label.finished =Next Activity +label.submit =Finish label.finish =Finished error.msg.repository =A repository error occurred while trying to upload the file. message.alertContentEdit =Warning: One of more learners have accessed this activity. Changing this content will result in learners getting different information. Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/action/LearningAction.java,v diff -u -r1.23 -r1.24 --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/action/LearningAction.java 27 Mar 2013 15:10:57 -0000 1.23 +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/action/LearningAction.java 9 Apr 2013 12:45:37 -0000 1.24 @@ -49,6 +49,8 @@ import org.apache.struts.config.ForwardConfig; import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.events.DeliveryMethodMail; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -215,7 +217,7 @@ .getConfigValue())); sessionMap.put(ImageGalleryConstants.ATTR_THUMBNAIL_IMAGE_DIMENSIONS, Integer .parseInt(thumbnailImageDimensionsKey.getConfigValue())); - + // add define later support if (imageGallery.isDefineLater()) { return mapping.findForward("defineLater"); @@ -226,6 +228,10 @@ imageGallery.setDefineLater(false); service.saveOrUpdateImageGallery(imageGallery); + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, + request, getServlet().getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + // add run offline support if (imageGallery.getRunOffline()) { sessionMap.put(ImageGalleryConstants.PARAM_RUN_OFFLINE, true); Index: lams_tool_images/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_images/web/pages/learning/learning.jsp,v diff -u -r1.25 -r1.26 --- lams_tool_images/web/pages/learning/learning.jsp 18 Dec 2012 10:03:35 -0000 1.25 +++ lams_tool_images/web/pages/learning/learning.jsp 9 Apr 2013 12:45:37 -0000 1.26 @@ -481,7 +481,16 @@ - + + + + + + + + + + Index: lams_tool_images/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_images/web/pages/learning/notebook.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_images/web/pages/learning/notebook.jsp 12 Feb 2012 14:14:50 -0000 1.4 +++ lams_tool_images/web/pages/learning/notebook.jsp 9 Apr 2013 12:45:37 -0000 1.5 @@ -43,7 +43,16 @@
- + + + + + + + + + +
Index: lams_tool_images/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_images/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.5 -r1.6 --- lams_tool_images/web/pages/learning/runoffline.jsp 12 Feb 2012 14:14:50 -0000 1.5 +++ lams_tool_images/web/pages/learning/runoffline.jsp 9 Apr 2013 12:45:37 -0000 1.6 @@ -70,7 +70,16 @@ - + + + + + + + + + + Index: lams_tool_imscc/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_imscc/conf/language/lams/ApplicationResources.properties,v diff -u -r1.5 -r1.6 --- lams_tool_imscc/conf/language/lams/ApplicationResources.properties 13 Apr 2012 15:31:43 -0000 1.5 +++ lams_tool_imscc/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:56 -0000 1.6 @@ -136,6 +136,7 @@ label.export.reflection =Notebook Entries label.finish =Finished label.finished =Next Activity +label.submit =Finish label.hide =Hide label.learning.comment.or.instruction =Comment/Instruction label.learning.heading =Common Cartridge Index: lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/web/action/LearningAction.java,v diff -u -r1.1 -r1.2 --- lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/web/action/LearningAction.java 28 May 2011 18:03:49 -0000 1.1 +++ lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/web/action/LearningAction.java 9 Apr 2013 12:46:56 -0000 1.2 @@ -44,6 +44,8 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -190,6 +192,10 @@ commonCartridge.setDefineLater(false); service.saveOrUpdateCommonCartridge(commonCartridge); + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, + request, getServlet().getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + // add run offline support if (commonCartridge.getRunOffline()) { sessionMap.put(CommonCartridgeConstants.PARAM_RUN_OFFLINE, true); Index: lams_tool_imscc/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_imscc/web/pages/learning/learning.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_imscc/web/pages/learning/learning.jsp 12 Feb 2012 14:17:24 -0000 1.2 +++ lams_tool_imscc/web/pages/learning/learning.jsp 9 Apr 2013 12:46:55 -0000 1.3 @@ -142,7 +142,16 @@ - + + + + + + + + + + Index: lams_tool_imscc/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_imscc/web/pages/learning/notebook.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_imscc/web/pages/learning/notebook.jsp 12 Feb 2012 14:17:24 -0000 1.2 +++ lams_tool_imscc/web/pages/learning/notebook.jsp 9 Apr 2013 12:46:56 -0000 1.3 @@ -43,7 +43,16 @@
- + + + + + + + + + +
Index: lams_tool_imscc/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_imscc/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_imscc/web/pages/learning/runoffline.jsp 12 Feb 2012 14:17:24 -0000 1.2 +++ lams_tool_imscc/web/pages/learning/runoffline.jsp 9 Apr 2013 12:46:56 -0000 1.3 @@ -71,7 +71,16 @@ - + + + + + + + + + + Index: lams_tool_kaltura/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/conf/language/lams/ApplicationResources_en_AU.properties,v diff -u -r1.4 -r1.5 --- lams_tool_kaltura/conf/language/lams/ApplicationResources_en_AU.properties 21 Nov 2012 12:00:30 -0000 1.4 +++ lams_tool_kaltura/conf/language/lams/ApplicationResources_en_AU.properties 9 Apr 2013 12:46:10 -0000 1.5 @@ -46,6 +46,7 @@ button.cancel =Cancel button.save =Save button.finish =Next Activity +button.submit =Submit label.created =Created label.lastModified =Last modified label.notebookEntry =Notebook entry Index: lams_tool_kaltura/src/java/org/lamsfoundation/lams/tool/kaltura/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/src/java/org/lamsfoundation/lams/tool/kaltura/web/actions/LearningAction.java,v diff -u -r1.6 -r1.7 --- lams_tool_kaltura/src/java/org/lamsfoundation/lams/tool/kaltura/web/actions/LearningAction.java 3 Apr 2013 13:18:39 -0000 1.6 +++ lams_tool_kaltura/src/java/org/lamsfoundation/lams/tool/kaltura/web/actions/LearningAction.java 9 Apr 2013 12:46:10 -0000 1.7 @@ -47,6 +47,8 @@ import org.apache.struts.action.ActionRedirect; import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -142,6 +144,10 @@ service.saveOrUpdateKaltura(kaltura); } + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionId, request, getServlet() + .getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + // check runOffline if (kaltura.isRunOffline()) { return mapping.findForward("runOffline"); Index: lams_tool_kaltura/web/pages/authoring/advanced.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/web/pages/authoring/advanced.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_kaltura/web/pages/authoring/advanced.jsp 15 Nov 2012 14:39:28 -0000 1.1 +++ lams_tool_kaltura/web/pages/authoring/advanced.jsp 9 Apr 2013 12:46:10 -0000 1.2 @@ -5,21 +5,47 @@ @@ -67,6 +93,27 @@

+

+ + + + +

+ + +

+ + + +
+

+

+

+ ${item.title} +

+ +
+ +
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + + +
+
+ + + + + + + +
+ + + + + Index: lams_tool_kaltura/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/web/pages/learning/learning.jsp,v diff -u -r1.7 -r1.8 --- lams_tool_kaltura/web/pages/learning/learning.jsp 25 Mar 2013 12:04:16 -0000 1.7 +++ lams_tool_kaltura/web/pages/learning/learning.jsp 9 Apr 2013 12:46:10 -0000 1.8 @@ -29,7 +29,7 @@ #player-block { clear: both; position: absolute; top: 0; bottom: 0; left: 0; right: 0;} #dummy {padding-top: 52%; /* aspect ratio */} #player-wrap {width: 60%; height: 100%; clear: both; margin-bottom: 20px; background: black;} - #player-bottombar {height:50px; width: 60%; margin-top: 15px; margin-bottom: 10px;} + #player-bottombar {height:80px; width: 60%; margin-top: 15px; margin-bottom: 10px;} #comments-area { padding: 5px 0 20px; min-width: 431px; width: 60%;} #comments-table {border-spacing: 3px; margin-top: 0; padding-right: 3px;} @@ -54,24 +54,33 @@ .thumb-title {width: auto; font-size: 12px; font-weight: bold; line-height: 15px; max-height: 30px; color: #333; display: block; margin-bottom: 4px; overflow: hidden; cursor: pointer;} .thumb-stat {display: block; font-size: .9166em; color: #666; line-height: 1.4em; max-height: 1.4em; height: 1.4em; white-space: nowrap; overflow: hidden;} .thumb-text {color: #666;} + #cuepoint-comments { height:80px; width: 160%; overflow: auto; font-size: 18px; line-height: 23px; margin-top:15px; margin-bottom: 10px; display: none;} + #add-cue-points{clear: left;} + #add-cue-points-link{padding: 5px 15px 5px 25px; background-position-y: 0;} + + + +
@@ -337,7 +425,7 @@
<%--"Check for new" and "Add new image" buttons---------------%> - +
- + <%@ include file="/pages/learning/ratingStars.jsp"%> + + + + + + +
+ +
+ +
+ + <%--Comments area----------------------------------------------%> @@ -420,7 +528,16 @@ - + + + + + + + + + + Index: lams_tool_kaltura/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/web/pages/learning/notebook.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_kaltura/web/pages/learning/notebook.jsp 15 Nov 2012 14:39:30 -0000 1.1 +++ lams_tool_kaltura/web/pages/learning/notebook.jsp 9 Apr 2013 12:46:10 -0000 1.2 @@ -33,7 +33,16 @@
- + + + + + + + + + +
Index: lams_tool_kaltura/web/pages/learning/previewcuepoints.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/web/pages/learning/Attic/previewcuepoints.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_tool_kaltura/web/pages/learning/previewcuepoints.jsp 9 Apr 2013 12:46:10 -0000 1.1 @@ -0,0 +1,128 @@ + + +<%@ include file="/common/taglibs.jsp"%> +<%@ page import="org.lamsfoundation.lams.util.Configuration" %> +<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> + +<%=Configuration.get(ConfigurationKeys.KALTURA_SERVER)%> +<%=Configuration.get(ConfigurationKeys.KALTURA_PARTNER_ID)%> +<%=Configuration.get(ConfigurationKeys.KALTURA_SUB_PARTNER_ID)%> +<%=Configuration.get(ConfigurationKeys.KALTURA_USER_SECRET)%> +<%=Configuration.get(ConfigurationKeys.KALTURA_KCW_UI_CONF_ID)%> +<%=Configuration.get(ConfigurationKeys.KALTURA_KDP_UI_CONF_ID)%> + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ ${item.title} +

+ +
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+ + + + + + + + + + +
+ + + + +
+ Index: lams_tool_kaltura/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_kaltura/web/pages/learning/runOffline.jsp 15 Nov 2012 14:39:30 -0000 1.1 +++ lams_tool_kaltura/web/pages/learning/runOffline.jsp 9 Apr 2013 12:46:10 -0000 1.2 @@ -45,7 +45,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_kaltura/web/pages/learning/mobile/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/web/pages/learning/mobile/learning.jsp,v diff -u -r1.5 -r1.6 --- lams_tool_kaltura/web/pages/learning/mobile/learning.jsp 26 Feb 2013 14:53:58 -0000 1.5 +++ lams_tool_kaltura/web/pages/learning/mobile/learning.jsp 9 Apr 2013 12:46:10 -0000 1.6 @@ -329,7 +329,16 @@ - + + + + + + + + + + Index: lams_tool_kaltura/web/pages/learning/mobile/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/web/pages/learning/mobile/notebook.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_kaltura/web/pages/learning/mobile/notebook.jsp 21 Nov 2012 12:00:30 -0000 1.2 +++ lams_tool_kaltura/web/pages/learning/mobile/notebook.jsp 9 Apr 2013 12:46:10 -0000 1.3 @@ -36,7 +36,16 @@
- + + + + + + + + + +
Index: lams_tool_kaltura/web/pages/learning/mobile/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_kaltura/web/pages/learning/mobile/Attic/runOffline.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_kaltura/web/pages/learning/mobile/runOffline.jsp 21 Nov 2012 12:00:30 -0000 1.2 +++ lams_tool_kaltura/web/pages/learning/mobile/runOffline.jsp 9 Apr 2013 12:46:10 -0000 1.3 @@ -51,7 +51,16 @@ - button.finish + + + + + + + + + + Index: lams_tool_lamc/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/conf/language/lams/ApplicationResources.properties,v diff -u -r1.35 -r1.36 --- lams_tool_lamc/conf/language/lams/ApplicationResources.properties 6 Feb 2013 15:07:54 -0000 1.35 +++ lams_tool_lamc/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:47:04 -0000 1.36 @@ -66,6 +66,7 @@ label.download =Download label.delete =Delete label.finished =Next Activity +label.submit =Finish label.attempt =Attempt button.cancel =Cancel button.upload =Upload Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java,v diff -u -r1.72 -r1.73 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java 25 Mar 2013 12:50:35 -0000 1.72 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java 9 Apr 2013 12:47:04 -0000 1.73 @@ -32,6 +32,7 @@ import java.util.TreeMap; import java.util.TreeSet; +import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -44,6 +45,7 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -975,6 +977,9 @@ mcGeneralLearnerFlowDTO.setQuestionIndex(new Integer(questionIndex)); request.setAttribute(McAppConstants.MC_GENERAL_LEARNER_FLOW_DTO, mcGeneralLearnerFlowDTO); + LearningWebUtil.putActivityPositionInRequestByToolSessionId(new Long(toolSessionID), request, getServlet() + .getServletContext()); + return mapping.findForward(McAppConstants.LOAD_LEARNER); } @@ -1072,6 +1077,9 @@ McLearningAction.logger.debug("mcGeneralLearnerFlowDTO for jsp: " + mcGeneralLearnerFlowDTO); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(new Long(toolSessionID), request, getServlet() + .getServletContext()); + return mapping.findForward(McAppConstants.REDO_QUESTIONS); } @@ -1085,7 +1093,7 @@ * @param response */ public void prepareViewAnswersData(ActionMapping mapping, McLearningForm mcLearningForm, - HttpServletRequest request, HttpServletResponse response) { + HttpServletRequest request, ServletContext servletContext) { // may have to get service from the form - if class has been created by starter action, rather than by struts IMcService mcService = null; @@ -1174,6 +1182,8 @@ } request.setAttribute(McAppConstants.MC_GENERAL_LEARNER_FLOW_DTO, mcGeneralLearnerFlowDTO); + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(new Long(toolSessionID), request, servletContext); } /** @@ -1190,7 +1200,7 @@ public ActionForward viewAnswers(ActionMapping mapping, McLearningForm mcLearningForm, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - prepareViewAnswersData(mapping, mcLearningForm, request, response); + prepareViewAnswersData(mapping, mcLearningForm, request, getServlet().getServletContext()); return mapping.findForward(McAppConstants.VIEW_ANSWERS); } Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java,v diff -u -r1.78 -r1.79 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java 8 Oct 2012 12:27:24 -0000 1.78 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java 9 Apr 2013 12:47:04 -0000 1.79 @@ -63,7 +63,6 @@ import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; - /** * * @author Ozgur Demirtas @@ -101,263 +100,249 @@ * If the tool has a LockOnFinish flag, then the tool should lock learner's entries once they have completed the activity. * If they return to the activity (e.g. via the progress bar) then the entries should be read only. * - - + + - + - + - - - + - - - + - + - - + + + + + + * */ /** - * - * Note: Because of MCQ's learning reporting structure, Show Learner Report is always ON even if in authoring it is set to false. + * + * Note: Because of MCQ's learning reporting structure, Show Learner Report is always ON even if in authoring it is set + * to false. */ public class McLearningStarterAction extends Action implements McAppConstants { - static Logger logger = Logger.getLogger(McLearningStarterAction.class.getName()); + static Logger logger = Logger.getLogger(McLearningStarterAction.class.getName()); - public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException, McApplicationException { - - /* - * By now, the passed tool session id MUST exist in the db through the calling of: - * public void createToolSession(Long toolSessionId, Long toolContentId) by the container. - * - * make sure this session exists in tool's session table by now. - */ - - McUtils.cleanUpSessionAbsolute(request); - - Map mapQuestionsContent= new TreeMap(new McComparator()); - Map mapAnswers= new TreeMap(new McComparator()); + @Override + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws IOException, ServletException, McApplicationException { - IMcService mcService = McServiceProxy.getMcService(getServlet().getServletContext()); + /* + * By now, the passed tool session id MUST exist in the db through the calling of: + * public void createToolSession(Long toolSessionId, Long toolContentId) by the container. + * + * make sure this session exists in tool's session table by now. + */ - McLearningForm mcLearningForm = (McLearningForm) form; - mcLearningForm.setMcService(mcService); - mcLearningForm.setPassMarkApplicable(new Boolean(false).toString()); - mcLearningForm.setUserOverPassMark(new Boolean(false).toString()); - + McUtils.cleanUpSessionAbsolute(request); - ActionForward validateParameters=validateParameters(request, mcLearningForm, mapping); - if (validateParameters != null) - { - return validateParameters; - } - - SessionMap sessionMap = new SessionMap(); - List sequentialCheckedCa= new LinkedList(); - sessionMap.put(QUESTION_AND_CANDIDATE_ANSWERS_KEY, sequentialCheckedCa); - request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); - mcLearningForm.setHttpSessionID(sessionMap.getSessionID()); - - String toolSessionID=request.getParameter(AttributeNames.PARAM_TOOL_SESSION_ID); - mcLearningForm.setToolSessionID(new Long(toolSessionID).toString()); - - - /* - * by now, we made sure that the passed tool session id exists in the db as a new record - * Make sure we can retrieve it and the relavent content - */ - - McSession mcSession=mcService.retrieveMcSession(new Long(toolSessionID)); - - if (mcSession == null) - { - McUtils.cleanUpSessionAbsolute(request); - return (mapping.findForward(ERROR_LIST)); - } + Map mapQuestionsContent = new TreeMap(new McComparator()); + Map mapAnswers = new TreeMap(new McComparator()); - /* - * find out what content this tool session is referring to - * get the content for this tool session - * Each passed tool session id points to a particular content. Many to one mapping. - */ - McContent mcContent=mcSession.getMcContent(); - - if (mcContent == null) - { - McUtils.cleanUpSessionAbsolute(request); - persistError(request,"error.content.doesNotExist"); - return (mapping.findForward(ERROR_LIST)); - } + IMcService mcService = McServiceProxy.getMcService(getServlet().getServletContext()); - - /* - * The content we retrieved above must have been created before in Authoring time. - * And the passed tool session id already refers to it. - */ - - McLearnerStarterDTO mcLearnerStarterDTO= new McLearnerStarterDTO(); - if (mcContent.isQuestionsSequenced()) - { - mcLearnerStarterDTO.setQuestionListingMode(QUESTION_LISTING_MODE_SEQUENTIAL); - mcLearningForm.setQuestionListingMode(QUESTION_LISTING_MODE_SEQUENTIAL); - } - else - { - mcLearnerStarterDTO.setQuestionListingMode(QUESTION_LISTING_MODE_COMBINED); - mcLearningForm.setQuestionListingMode(QUESTION_LISTING_MODE_COMBINED); - } - - /* - * Is there a deadline set? - */ - - Date submissionDeadline = mcContent.getSubmissionDeadline(); - - if (submissionDeadline != null) { - - HttpSession ss = SessionManager.getSession(); - UserDTO learnerDto = (UserDTO) ss.getAttribute(AttributeNames.USER); - TimeZone learnerTimeZone = learnerDto.getTimeZone(); - Date tzSubmissionDeadline = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, submissionDeadline); - Date currentLearnerDate = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, new Date()); - mcLearnerStarterDTO.setSubmissionDeadline(submissionDeadline); - - //calculate whether submission deadline has passed, and if so forward to "runOffline" - if (currentLearnerDate.after(tzSubmissionDeadline)) { - request.setAttribute(MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO); - return mapping.findForward(RUN_OFFLINE); - } - } - - /* - * Is the tool activity been checked as Run Offline in the property inspector? - */ - mcLearnerStarterDTO.setToolActivityOffline(new Boolean(mcContent.isRunOffline()).toString()); - mcLearnerStarterDTO.setActivityTitle(mcContent.getTitle()); - request.setAttribute(MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO); - - mcLearningForm.setToolContentID(mcContent.getMcContentId().toString()); - commonContentSetup(request, mcContent, mcService,mcLearningForm, toolSessionID); - - /* find out if the content is set to run offline or online. If it is set to run offline , the learners are informed about that. */ - boolean isRunOffline=McUtils.isRunOffline(mcContent); - if (isRunOffline == true) - { - return (mapping.findForward(RUN_OFFLINE)); - } + McLearningForm mcLearningForm = (McLearningForm) form; + mcLearningForm.setMcService(mcService); + mcLearningForm.setPassMarkApplicable(new Boolean(false).toString()); + mcLearningForm.setUserOverPassMark(new Boolean(false).toString()); - /* find out if the content is being modified at the moment. */ - boolean isDefineLater=McUtils.isDefineLater(mcContent); - if (isDefineLater == true) - { - return (mapping.findForward(DEFINE_LATER)); + ActionForward validateParameters = validateParameters(request, mcLearningForm, mapping); + if (validateParameters != null) { + return validateParameters; + } + + SessionMap sessionMap = new SessionMap(); + List sequentialCheckedCa = new LinkedList(); + sessionMap.put(McAppConstants.QUESTION_AND_CANDIDATE_ANSWERS_KEY, sequentialCheckedCa); + request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); + mcLearningForm.setHttpSessionID(sessionMap.getSessionID()); + + String toolSessionID = request.getParameter(AttributeNames.PARAM_TOOL_SESSION_ID); + mcLearningForm.setToolSessionID(new Long(toolSessionID).toString()); + + /* + * by now, we made sure that the passed tool session id exists in the db as a new record + * Make sure we can retrieve it and the relavent content + */ + + McSession mcSession = mcService.retrieveMcSession(new Long(toolSessionID)); + + if (mcSession == null) { + McUtils.cleanUpSessionAbsolute(request); + return (mapping.findForward(McAppConstants.ERROR_LIST)); + } + + /* + * find out what content this tool session is referring to + * get the content for this tool session + * Each passed tool session id points to a particular content. Many to one mapping. + */ + McContent mcContent = mcSession.getMcContent(); + + if (mcContent == null) { + McUtils.cleanUpSessionAbsolute(request); + persistError(request, "error.content.doesNotExist"); + return (mapping.findForward(McAppConstants.ERROR_LIST)); + } + + /* + * The content we retrieved above must have been created before in Authoring time. + * And the passed tool session id already refers to it. + */ + + McLearnerStarterDTO mcLearnerStarterDTO = new McLearnerStarterDTO(); + if (mcContent.isQuestionsSequenced()) { + mcLearnerStarterDTO.setQuestionListingMode(McAppConstants.QUESTION_LISTING_MODE_SEQUENTIAL); + mcLearningForm.setQuestionListingMode(McAppConstants.QUESTION_LISTING_MODE_SEQUENTIAL); + } else { + mcLearnerStarterDTO.setQuestionListingMode(McAppConstants.QUESTION_LISTING_MODE_COMBINED); + mcLearningForm.setQuestionListingMode(McAppConstants.QUESTION_LISTING_MODE_COMBINED); + } + + /* + * Is there a deadline set? + */ + + Date submissionDeadline = mcContent.getSubmissionDeadline(); + + if (submissionDeadline != null) { + + HttpSession ss = SessionManager.getSession(); + UserDTO learnerDto = (UserDTO) ss.getAttribute(AttributeNames.USER); + TimeZone learnerTimeZone = learnerDto.getTimeZone(); + Date tzSubmissionDeadline = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, submissionDeadline); + Date currentLearnerDate = DateUtil.convertToTimeZoneFromDefault(learnerTimeZone, new Date()); + mcLearnerStarterDTO.setSubmissionDeadline(submissionDeadline); + + // calculate whether submission deadline has passed, and if so forward to "runOffline" + if (currentLearnerDate.after(tzSubmissionDeadline)) { + request.setAttribute(McAppConstants.MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO); + return mapping.findForward(McAppConstants.RUN_OFFLINE); } + } - - /* Is the request for a preview by the author? - Preview The tool must be able to show the specified content as if it was running in a lesson. + /* + * Is the tool activity been checked as Run Offline in the property inspector? + */ + mcLearnerStarterDTO.setToolActivityOffline(new Boolean(mcContent.isRunOffline()).toString()); + mcLearnerStarterDTO.setActivityTitle(mcContent.getTitle()); + request.setAttribute(McAppConstants.MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO); + + mcLearningForm.setToolContentID(mcContent.getMcContentId().toString()); + commonContentSetup(request, mcContent, mcService, mcLearningForm, toolSessionID); + + /* find out if the content is set to run offline or online. If it is set to run offline , the learners are informed about that. */ + boolean isRunOffline = McUtils.isRunOffline(mcContent); + if (isRunOffline == true) { + return (mapping.findForward(McAppConstants.RUN_OFFLINE)); + } + + /* find out if the content is being modified at the moment. */ + boolean isDefineLater = McUtils.isDefineLater(mcContent); + if (isDefineLater == true) { + return (mapping.findForward(McAppConstants.DEFINE_LATER)); + } + + /* Is the request for a preview by the author? + Preview The tool must be able to show the specified content as if it was running in a lesson. It will be the learner url with tool access mode set to ToolAccessMode.AUTHOR 3 modes are: author teacher learner */ - /*handle PREVIEW mode*/ - //String mode=mcLearningForm.getLearningMode(); - String mode=request.getParameter(MODE); - - /* by now, we know that the mode is either teacher or learner - * check if the mode is teacher and request is for Learner Progress - */ - String userId=request.getParameter(USER_ID); - - if ((userId != null) && (mode.equals("teacher"))) - { - - /* LEARNER_PROGRESS for jsp*/ - mcLearningForm.setLearnerProgress(new Boolean(true).toString()); - mcLearningForm.setLearnerProgressUserId(userId); - - McLearningAction mcLearningAction= new McLearningAction(); - /* pay attention that this userId is the learner's userId passed by the request parameter. - * It is differerent than USER_ID kept in the session of the current system user*/ - - McQueUsr mcQueUsr=mcService.getMcUserBySession(new Long(userId), mcSession.getUid()); - if (mcQueUsr == null) - { - logger.error("error.learner.required"); - persistError(request,"error.learner.required"); - logger.error("forwarding to: " + SIMPLE_LEARNING_ERROR); - return (mapping.findForward(SIMPLE_LEARNING_ERROR)); - } - - /* check whether the user's session really referrs to the session id passed to the url*/ - Long sessionUid=mcQueUsr.getMcSessionId(); - McSession mcSessionLocal=mcService.getMcSessionByUID(sessionUid); + /*handle PREVIEW mode*/ + // String mode=mcLearningForm.getLearningMode(); + String mode = request.getParameter(McAppConstants.MODE); - toolSessionID=(String)mcLearningForm.getToolSessionID(); - - if ((mcSessionLocal == null) || - (mcSessionLocal.getMcSessionId().longValue() != new Long(toolSessionID).longValue())) - { - logger.error("error.learner.sessionId.inconsistent"); - } - LearningUtil.saveFormRequestData(request, mcLearningForm, true); - - - request.setAttribute(REQUEST_BY_STARTER, new Boolean (true).toString()); - return mcLearningAction.viewAnswers(mapping, mcLearningForm, request, response); - } - - /* by now, we know that the mode is learner*/ - /* + /* by now, we know that the mode is either teacher or learner + * check if the mode is teacher and request is for Learner Progress + */ + String userId = request.getParameter(McAppConstants.USER_ID); + + if ((userId != null) && (mode.equals("teacher"))) { + + /* LEARNER_PROGRESS for jsp*/ + mcLearningForm.setLearnerProgress(new Boolean(true).toString()); + mcLearningForm.setLearnerProgressUserId(userId); + + McLearningAction mcLearningAction = new McLearningAction(); + /* pay attention that this userId is the learner's userId passed by the request parameter. + * It is differerent than USER_ID kept in the session of the current system user*/ + + McQueUsr mcQueUsr = mcService.getMcUserBySession(new Long(userId), mcSession.getUid()); + if (mcQueUsr == null) { + McLearningStarterAction.logger.error("error.learner.required"); + persistError(request, "error.learner.required"); + McLearningStarterAction.logger.error("forwarding to: " + McAppConstants.SIMPLE_LEARNING_ERROR); + return (mapping.findForward(McAppConstants.SIMPLE_LEARNING_ERROR)); + } + + /* check whether the user's session really referrs to the session id passed to the url*/ + Long sessionUid = mcQueUsr.getMcSessionId(); + McSession mcSessionLocal = mcService.getMcSessionByUID(sessionUid); + + toolSessionID = mcLearningForm.getToolSessionID(); + + if ((mcSessionLocal == null) + || (mcSessionLocal.getMcSessionId().longValue() != new Long(toolSessionID).longValue())) { + McLearningStarterAction.logger.error("error.learner.sessionId.inconsistent"); + } + LearningUtil.saveFormRequestData(request, mcLearningForm, true); + + request.setAttribute(McAppConstants.REQUEST_BY_STARTER, new Boolean(true).toString()); + return mcLearningAction.viewAnswers(mapping, mcLearningForm, request, response); + } + + /* by now, we know that the mode is learner*/ + /* * verify that userId does not already exist in the db. * If it does exist, that means, that user already responded to the content and * his answers must be displayed read-only @@ -375,7 +360,7 @@ McQueUsr mcQueUsr = mcService.getMcUserBySession(new Long(userID.longValue()), mcSession.getUid()); - request.setAttribute(MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO); + request.setAttribute(McAppConstants.MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO); /* if the user's session id AND user id exists in the tool tables go to redo questions. */ if (mcQueUsr != null) { @@ -385,160 +370,144 @@ if (toolSessionID.equals(userSessionId)) { McLearningAction mcLearningAction = new McLearningAction(); - request.setAttribute(REQUEST_BY_STARTER, (Boolean.TRUE).toString()); - return mcLearningAction.viewAnswers(mapping, mcLearningForm, request, response); + request.setAttribute(McAppConstants.REQUEST_BY_STARTER, (Boolean.TRUE).toString()); + mcLearningAction.prepareViewAnswersData(mapping, mcLearningForm, request, getServlet().getServletContext()); + return mapping.findForward(McAppConstants.VIEW_ANSWERS); } } else if (mode.equals("teacher")) { McLearningAction mcLearningAction = new McLearningAction(); mcLearningForm.setLearnerProgress(new Boolean(true).toString()); mcLearningForm.setLearnerProgressUserId(userId); return mcLearningAction.viewAnswers(mapping, mcLearningForm, request, response); } - request.setAttribute(MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO); - return (mapping.findForward(LOAD_LEARNER)); + request.setAttribute(McAppConstants.MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO); + return (mapping.findForward(McAppConstants.LOAD_LEARNER)); } - - - /** - * sets up question and candidate answers maps - * commonContentSetup(HttpServletRequest request, McContent mcContent) - * - * @param request - * @param mcContent - */ - protected void commonContentSetup(HttpServletRequest request, McContent mcContent, IMcService mcService, - McLearningForm mcLearningForm, String toolSessionID) - { - logger.debug("dettingcommon content: "); - Map mapQuestionsContent= new TreeMap(new McComparator()); - - boolean randomize=mcContent.isRandomize(); - logger.debug("randomize: " + randomize); - - List listQuestionAndCandidateAnswersDTO=LearningUtil.buildQuestionAndCandidateAnswersDTO(request, mcContent, randomize, mcService); - - logger.debug("listQuestionAndCandidateAnswersDTO: " + listQuestionAndCandidateAnswersDTO); - request.setAttribute(LIST_QUESTION_CANDIDATEANSWERS_DTO, listQuestionAndCandidateAnswersDTO); - logger.debug("LIST_QUESTION_CANDIDATEANSWERS_DTO: " + request.getAttribute(LIST_QUESTION_CANDIDATEANSWERS_DTO)); - - McGeneralLearnerFlowDTO mcGeneralLearnerFlowDTO=LearningUtil.buildMcGeneralLearnerFlowDTO(mcContent); - mcGeneralLearnerFlowDTO.setTotalCountReached(new Boolean(false).toString()); - mcGeneralLearnerFlowDTO.setQuestionIndex(new Integer(1)); - - // should we show the marks for each question - we show the marks if any of the questions - // have a mark > 1. - Boolean showMarks = LearningUtil.isShowMarksOnQuestion(listQuestionAndCandidateAnswersDTO); - mcGeneralLearnerFlowDTO.setShowMarks(showMarks.toString()); - Boolean displayAnswers = mcContent.isDisplayAnswers(); - mcGeneralLearnerFlowDTO.setDisplayAnswers(displayAnswers.toString()); - logger.debug("MCQ displayAnswers: " + mcGeneralLearnerFlowDTO.getDisplayAnswers()); - - logger.debug("is tool reflective: " + mcContent.isReflect()); - mcGeneralLearnerFlowDTO.setReflection(new Boolean(mcContent.isReflect()).toString()); - logger.debug("reflection subject: " + mcContent.getReflectionSubject()); - - String reflectionSubject=McUtils.replaceNewLines(mcContent.getReflectionSubject()); - mcGeneralLearnerFlowDTO.setReflectionSubject(reflectionSubject); - - - String userID=mcLearningForm.getUserID(); - logger.debug("userID: " + userID); - - - logger.debug("attempt getting notebookEntry: "); - NotebookEntry notebookEntry = mcService.getEntry(new Long(toolSessionID), - CoreNotebookConstants.NOTEBOOK_TOOL, - MY_SIGNATURE, new Integer(userID)); - - logger.debug("notebookEntry: " + notebookEntry); - - if (notebookEntry != null) { - String notebookEntryPresentable=McUtils.replaceNewLines(notebookEntry.getEntry()); - mcGeneralLearnerFlowDTO.setNotebookEntry(notebookEntryPresentable); - } + /** + * sets up question and candidate answers maps commonContentSetup(HttpServletRequest request, McContent mcContent) + * + * @param request + * @param mcContent + */ + protected void commonContentSetup(HttpServletRequest request, McContent mcContent, IMcService mcService, + McLearningForm mcLearningForm, String toolSessionID) { + McLearningStarterAction.logger.debug("dettingcommon content: "); + Map mapQuestionsContent = new TreeMap(new McComparator()); + boolean randomize = mcContent.isRandomize(); + McLearningStarterAction.logger.debug("randomize: " + randomize); - - request.setAttribute(MC_GENERAL_LEARNER_FLOW_DTO, mcGeneralLearnerFlowDTO); - logger.debug("MC_GENERAL_LEARNER_FLOW_DTO: " + request.getAttribute(MC_GENERAL_LEARNER_FLOW_DTO)); + List listQuestionAndCandidateAnswersDTO = LearningUtil + .buildQuestionAndCandidateAnswersDTO(request, mcContent, randomize, mcService); + + McLearningStarterAction.logger.debug("listQuestionAndCandidateAnswersDTO: " + + listQuestionAndCandidateAnswersDTO); + request.setAttribute(McAppConstants.LIST_QUESTION_CANDIDATEANSWERS_DTO, listQuestionAndCandidateAnswersDTO); + McLearningStarterAction.logger.debug("LIST_QUESTION_CANDIDATEANSWERS_DTO: " + + request.getAttribute(McAppConstants.LIST_QUESTION_CANDIDATEANSWERS_DTO)); + + McGeneralLearnerFlowDTO mcGeneralLearnerFlowDTO = LearningUtil.buildMcGeneralLearnerFlowDTO(mcContent); + mcGeneralLearnerFlowDTO.setTotalCountReached(new Boolean(false).toString()); + mcGeneralLearnerFlowDTO.setQuestionIndex(new Integer(1)); + + // should we show the marks for each question - we show the marks if any of the questions + // have a mark > 1. + Boolean showMarks = LearningUtil.isShowMarksOnQuestion(listQuestionAndCandidateAnswersDTO); + mcGeneralLearnerFlowDTO.setShowMarks(showMarks.toString()); + + Boolean displayAnswers = mcContent.isDisplayAnswers(); + mcGeneralLearnerFlowDTO.setDisplayAnswers(displayAnswers.toString()); + McLearningStarterAction.logger.debug("MCQ displayAnswers: " + mcGeneralLearnerFlowDTO.getDisplayAnswers()); + + McLearningStarterAction.logger.debug("is tool reflective: " + mcContent.isReflect()); + mcGeneralLearnerFlowDTO.setReflection(new Boolean(mcContent.isReflect()).toString()); + McLearningStarterAction.logger.debug("reflection subject: " + mcContent.getReflectionSubject()); + + String reflectionSubject = McUtils.replaceNewLines(mcContent.getReflectionSubject()); + mcGeneralLearnerFlowDTO.setReflectionSubject(reflectionSubject); + + String userID = mcLearningForm.getUserID(); + McLearningStarterAction.logger.debug("userID: " + userID); + + McLearningStarterAction.logger.debug("attempt getting notebookEntry: "); + NotebookEntry notebookEntry = mcService.getEntry(new Long(toolSessionID), CoreNotebookConstants.NOTEBOOK_TOOL, + McAppConstants.MY_SIGNATURE, new Integer(userID)); + + McLearningStarterAction.logger.debug("notebookEntry: " + notebookEntry); + + if (notebookEntry != null) { + String notebookEntryPresentable = McUtils.replaceNewLines(notebookEntry.getEntry()); + mcGeneralLearnerFlowDTO.setNotebookEntry(notebookEntryPresentable); } - - - - protected ActionForward validateParameters(HttpServletRequest request, McLearningForm mcLearningForm, ActionMapping mapping) - { - /* - * obtain and setup the current user's data - */ - - String userID = ""; - HttpSession ss = SessionManager.getSession(); - logger.debug("ss: " + ss); - - if (ss != null) - { - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - if ((user != null) && (user.getUserID() != null)) - { - userID = user.getUserID().toString(); - logger.debug("retrieved userId: " + userID); - } + + request.setAttribute(McAppConstants.MC_GENERAL_LEARNER_FLOW_DTO, mcGeneralLearnerFlowDTO); + McLearningStarterAction.logger.debug("MC_GENERAL_LEARNER_FLOW_DTO: " + + request.getAttribute(McAppConstants.MC_GENERAL_LEARNER_FLOW_DTO)); + } + + protected ActionForward validateParameters(HttpServletRequest request, McLearningForm mcLearningForm, + ActionMapping mapping) { + /* + * obtain and setup the current user's data + */ + + String userID = ""; + HttpSession ss = SessionManager.getSession(); + McLearningStarterAction.logger.debug("ss: " + ss); + + if (ss != null) { + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + if ((user != null) && (user.getUserID() != null)) { + userID = user.getUserID().toString(); + McLearningStarterAction.logger.debug("retrieved userId: " + userID); } - - mcLearningForm.setUserID(userID); - - /* - * process incoming tool session id and later derive toolContentId from it. - */ - String strToolSessionId=request.getParameter(AttributeNames.PARAM_TOOL_SESSION_ID); - long toolSessionId=0; - if ((strToolSessionId == null) || (strToolSessionId.length() == 0)) - { - logger.error("error.toolSessionId.required"); + } + + mcLearningForm.setUserID(userID); + + /* + * process incoming tool session id and later derive toolContentId from it. + */ + String strToolSessionId = request.getParameter(AttributeNames.PARAM_TOOL_SESSION_ID); + long toolSessionId = 0; + if ((strToolSessionId == null) || (strToolSessionId.length() == 0)) { + McLearningStarterAction.logger.error("error.toolSessionId.required"); + } else { + try { + toolSessionId = new Long(strToolSessionId).longValue(); + McLearningStarterAction.logger.debug("passed TOOL_SESSION_ID : " + new Long(toolSessionId)); + } catch (NumberFormatException e) { + McLearningStarterAction.logger.error("error.sessionId.numberFormatException"); } - else - { - try - { - toolSessionId=new Long(strToolSessionId).longValue(); - logger.debug("passed TOOL_SESSION_ID : " + new Long(toolSessionId)); - } - catch(NumberFormatException e) - { - logger.error("error.sessionId.numberFormatException"); - } - } - - /*mode can be learner, teacher or author */ - String mode=request.getParameter(MODE); - logger.debug("mode: " + mode); - - if ((mode == null) || (mode.length() == 0)) - { - logger.error("error.mode.required"); - } - - if ((!mode.equals("learner")) && (!mode.equals("teacher")) && (!mode.equals("author"))) - { - logger.error("error.mode.invalid"); - } - logger.debug("session LEARNING_MODE set to:" + mode); - - return null; } - - /** + /*mode can be learner, teacher or author */ + String mode = request.getParameter(McAppConstants.MODE); + McLearningStarterAction.logger.debug("mode: " + mode); + + if ((mode == null) || (mode.length() == 0)) { + McLearningStarterAction.logger.error("error.mode.required"); + } + + if ((!mode.equals("learner")) && (!mode.equals("teacher")) && (!mode.equals("author"))) { + McLearningStarterAction.logger.error("error.mode.invalid"); + } + McLearningStarterAction.logger.debug("session LEARNING_MODE set to:" + mode); + + return null; + } + + /** * persists error messages to request scope + * * @param request * @param message */ - public void persistError(HttpServletRequest request, String message) - { - ActionMessages errors= new ActionMessages(); - errors.add(Globals.ERROR_KEY, new ActionMessage(message)); - logger.debug("add " + message +" to ActionMessages:"); - saveErrors(request,errors); - } -} + public void persistError(HttpServletRequest request, String message) { + ActionMessages errors = new ActionMessages(); + errors.add(Globals.ERROR_KEY, new ActionMessage(message)); + McLearningStarterAction.logger.debug("add " + message + " to ActionMessages:"); + saveErrors(request, errors); + } +} Index: lams_tool_lamc/web/learning/IndividualLearnerResults.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/Attic/IndividualLearnerResults.jsp,v diff -u -r1.52 -r1.53 --- lams_tool_lamc/web/learning/IndividualLearnerResults.jsp 14 Sep 2009 07:08:18 -0000 1.52 +++ lams_tool_lamc/web/learning/IndividualLearnerResults.jsp 9 Apr 2013 12:47:04 -0000 1.53 @@ -214,7 +214,16 @@ - + + + + + + + + + + @@ -235,7 +244,16 @@ - + + + + + + + + + + Index: lams_tool_lamc/web/learning/RedoQuestions.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/Attic/RedoQuestions.jsp,v diff -u -r1.31 -r1.32 --- lams_tool_lamc/web/learning/RedoQuestions.jsp 23 Apr 2012 19:12:50 -0000 1.31 +++ lams_tool_lamc/web/learning/RedoQuestions.jsp 9 Apr 2013 12:47:03 -0000 1.32 @@ -116,7 +116,16 @@ - + + + + + + + + + + @@ -137,7 +146,14 @@ - + + + + + + + + Index: lams_tool_lamc/web/learning/RunOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/Attic/RunOffline.jsp,v diff -u -r1.17 -r1.18 --- lams_tool_lamc/web/learning/RunOffline.jsp 12 Feb 2012 14:19:07 -0000 1.17 +++ lams_tool_lamc/web/learning/RunOffline.jsp 9 Apr 2013 12:47:04 -0000 1.18 @@ -87,7 +87,16 @@ - + + + + + + + + + + Index: lams_tool_lamc/web/learning/ViewAnswers.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/ViewAnswers.jsp,v diff -u -r1.62 -r1.63 --- lams_tool_lamc/web/learning/ViewAnswers.jsp 8 Oct 2012 12:27:24 -0000 1.62 +++ lams_tool_lamc/web/learning/ViewAnswers.jsp 9 Apr 2013 12:47:04 -0000 1.63 @@ -209,7 +209,16 @@ - + + + + + + + + + + Index: lams_tool_lamc/web/learning/mobile/IndividualLearnerResults.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/mobile/Attic/IndividualLearnerResults.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/web/learning/mobile/IndividualLearnerResults.jsp 29 Sep 2012 13:58:06 -0000 1.2 +++ lams_tool_lamc/web/learning/mobile/IndividualLearnerResults.jsp 9 Apr 2013 12:47:03 -0000 1.3 @@ -228,7 +228,16 @@ @@ -244,7 +253,16 @@ Index: lams_tool_lamc/web/learning/mobile/RedoQuestions.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/mobile/Attic/RedoQuestions.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/web/learning/mobile/RedoQuestions.jsp 29 Sep 2012 13:58:06 -0000 1.2 +++ lams_tool_lamc/web/learning/mobile/RedoQuestions.jsp 9 Apr 2013 12:47:03 -0000 1.3 @@ -125,7 +125,16 @@ @@ -144,7 +153,14 @@ Index: lams_tool_lamc/web/learning/mobile/RunOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/mobile/Attic/RunOffline.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_lamc/web/learning/mobile/RunOffline.jsp 29 Sep 2012 13:58:06 -0000 1.3 +++ lams_tool_lamc/web/learning/mobile/RunOffline.jsp 9 Apr 2013 12:47:03 -0000 1.4 @@ -96,7 +96,16 @@ - + + + + + + + + + + Index: lams_tool_lamc/web/learning/mobile/ViewAnswers.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/mobile/ViewAnswers.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_lamc/web/learning/mobile/ViewAnswers.jsp 8 Oct 2012 12:27:24 -0000 1.3 +++ lams_tool_lamc/web/learning/mobile/ViewAnswers.jsp 9 Apr 2013 12:47:03 -0000 1.4 @@ -225,7 +225,16 @@ Index: lams_tool_laqa/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/conf/language/lams/ApplicationResources.properties,v diff -u -r1.35 -r1.36 --- lams_tool_laqa/conf/language/lams/ApplicationResources.properties 23 Mar 2013 23:02:15 -0000 1.35 +++ lams_tool_laqa/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:43 -0000 1.36 @@ -74,6 +74,7 @@ label.answers =Answers: label.answer =Answer: button.endLearning =Next Activity +button.submit =Finish label.learning.user =User label.learning.attemptTime =Date/Time label.learning.timezone =Time-Zone Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java,v diff -u -r1.76 -r1.77 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java 16 May 2011 03:17:57 -0000 1.76 +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java 9 Apr 2013 12:46:43 -0000 1.77 @@ -45,6 +45,8 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -225,6 +227,10 @@ return (mapping.findForward(DEFINE_LATER)); } + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(new Long( + toolSessionID), request, getServlet().getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + /* * fetch question content from content */ Index: lams_tool_laqa/web/learning/IndividualLearnerResults.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/IndividualLearnerResults.jsp,v diff -u -r1.39 -r1.40 --- lams_tool_laqa/web/learning/IndividualLearnerResults.jsp 25 Feb 2013 14:12:48 -0000 1.39 +++ lams_tool_laqa/web/learning/IndividualLearnerResults.jsp 9 Apr 2013 12:46:43 -0000 1.40 @@ -137,7 +137,16 @@ - + + + + + + + + + + Index: lams_tool_laqa/web/learning/LearnerRep.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/LearnerRep.jsp,v diff -u -r1.49 -r1.50 --- lams_tool_laqa/web/learning/LearnerRep.jsp 23 Mar 2013 06:23:23 -0000 1.49 +++ lams_tool_laqa/web/learning/LearnerRep.jsp 9 Apr 2013 12:46:43 -0000 1.50 @@ -293,7 +293,16 @@ - + + + + + + + + + + Index: lams_tool_laqa/web/learning/Notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/Notebook.jsp,v diff -u -r1.16 -r1.17 --- lams_tool_laqa/web/learning/Notebook.jsp 25 Feb 2013 14:12:48 -0000 1.16 +++ lams_tool_laqa/web/learning/Notebook.jsp 9 Apr 2013 12:46:43 -0000 1.17 @@ -60,7 +60,16 @@
- + + + + + + + + + +
Index: lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp,v diff -u -r1.27 -r1.28 --- lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp 23 Mar 2013 06:23:23 -0000 1.27 +++ lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp 9 Apr 2013 12:46:43 -0000 1.28 @@ -275,7 +275,14 @@
- + + + + + + + +
Index: lams_tool_laqa/web/learning/RunOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/Attic/RunOffline.jsp,v diff -u -r1.21 -r1.22 --- lams_tool_laqa/web/learning/RunOffline.jsp 25 Feb 2013 14:12:48 -0000 1.21 +++ lams_tool_laqa/web/learning/RunOffline.jsp 9 Apr 2013 12:46:43 -0000 1.22 @@ -71,7 +71,16 @@ - + + + + + + + + + + Index: lams_tool_laqa/web/learning/mobile/IndividualLearnerResults.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/mobile/IndividualLearnerResults.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_laqa/web/learning/mobile/IndividualLearnerResults.jsp 29 Sep 2012 13:57:55 -0000 1.2 +++ lams_tool_laqa/web/learning/mobile/IndividualLearnerResults.jsp 9 Apr 2013 12:46:43 -0000 1.3 @@ -136,7 +136,16 @@ Index: lams_tool_laqa/web/learning/mobile/LearnerRep.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/mobile/LearnerRep.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_laqa/web/learning/mobile/LearnerRep.jsp 23 Mar 2013 06:23:23 -0000 1.6 +++ lams_tool_laqa/web/learning/mobile/LearnerRep.jsp 9 Apr 2013 12:46:43 -0000 1.7 @@ -302,7 +302,16 @@ - + + + + + + + + + + Index: lams_tool_laqa/web/learning/mobile/Notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/mobile/Notebook.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_laqa/web/learning/mobile/Notebook.jsp 29 Sep 2012 13:57:55 -0000 1.2 +++ lams_tool_laqa/web/learning/mobile/Notebook.jsp 9 Apr 2013 12:46:43 -0000 1.3 @@ -9,6 +9,7 @@ + @@ -64,7 +65,16 @@
Index: lams_tool_laqa/web/learning/mobile/RevisitedLearnerRep.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/mobile/RevisitedLearnerRep.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_laqa/web/learning/mobile/RevisitedLearnerRep.jsp 23 Mar 2013 06:23:23 -0000 1.6 +++ lams_tool_laqa/web/learning/mobile/RevisitedLearnerRep.jsp 9 Apr 2013 12:46:43 -0000 1.7 @@ -300,7 +300,14 @@ Index: lams_tool_laqa/web/learning/mobile/RunOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/mobile/Attic/RunOffline.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_laqa/web/learning/mobile/RunOffline.jsp 29 Sep 2012 13:57:55 -0000 1.2 +++ lams_tool_laqa/web/learning/mobile/RunOffline.jsp 9 Apr 2013 12:46:43 -0000 1.3 @@ -74,7 +74,16 @@ - + + + + + + + + + + Index: lams_tool_larsrc/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/conf/language/lams/ApplicationResources.properties,v diff -u -r1.31 -r1.32 --- lams_tool_larsrc/conf/language/lams/ApplicationResources.properties 30 Aug 2012 15:15:14 -0000 1.31 +++ lams_tool_larsrc/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:47:47 -0000 1.32 @@ -129,6 +129,7 @@ label.view =View label.edit =Edit label.finished =Next Activity +label.submit =Finish label.completed =Completed label.finish =Finished button.upload =Upload Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java,v diff -u -r1.36 -r1.37 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 27 Mar 2013 15:09:26 -0000 1.36 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 9 Apr 2013 12:47:47 -0000 1.37 @@ -49,6 +49,8 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.events.DeliveryMethodMail; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -227,6 +229,10 @@ resource.setDefineLater(false); service.saveOrUpdateResource(resource); + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, + request, getServlet().getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + // add run offline support if (resource.getRunOffline()) { sessionMap.put(ResourceConstants.PARAM_RUN_OFFLINE, true); Index: lams_tool_larsrc/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/web/pages/learning/learning.jsp,v diff -u -r1.49 -r1.50 --- lams_tool_larsrc/web/pages/learning/learning.jsp 15 Aug 2012 10:59:16 -0000 1.49 +++ lams_tool_larsrc/web/pages/learning/learning.jsp 9 Apr 2013 12:47:47 -0000 1.50 @@ -257,7 +257,16 @@ - + + + + + + + + + + Index: lams_tool_larsrc/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/web/pages/learning/notebook.jsp,v diff -u -r1.13 -r1.14 --- lams_tool_larsrc/web/pages/learning/notebook.jsp 12 Feb 2012 14:23:15 -0000 1.13 +++ lams_tool_larsrc/web/pages/learning/notebook.jsp 9 Apr 2013 12:47:47 -0000 1.14 @@ -43,7 +43,16 @@
- + + + + + + + + + +
Index: lams_tool_larsrc/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.15 -r1.16 --- lams_tool_larsrc/web/pages/learning/runoffline.jsp 12 Feb 2012 14:23:15 -0000 1.15 +++ lams_tool_larsrc/web/pages/learning/runoffline.jsp 9 Apr 2013 12:47:47 -0000 1.16 @@ -71,7 +71,16 @@ - + + + + + + + + + + Index: lams_tool_mindmap/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_mindmap/conf/language/lams/ApplicationResources.properties,v diff -u -r1.9 -r1.10 --- lams_tool_mindmap/conf/language/lams/ApplicationResources.properties 13 Apr 2012 15:32:59 -0000 1.9 +++ lams_tool_mindmap/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:45:47 -0000 1.10 @@ -85,6 +85,7 @@ button.try.again =Try Again message.learner.blank.input =You have not written anything. Are you sure this is correct? button.finish =Next Activity +button.submit =Finish message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Mindmap, you won't be able to continue editing nodes. message.activityLocked =The instructor has set this activity not to allow notes after you have finished it. As you are returning to this Notebook, you are able to see your notes but not allowed to add more. titleHeading.instructions =Instructions Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/actions/LearningAction.java,v diff -u -r1.14 -r1.15 --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/actions/LearningAction.java 21 Mar 2012 13:39:56 -0000 1.14 +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/web/actions/LearningAction.java 9 Apr 2013 12:45:47 -0000 1.15 @@ -37,6 +37,8 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -146,6 +148,9 @@ mindmapService.saveOrUpdateMindmap(mindmap); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + // check runOffline if (mindmap.isRunOffline()) { return mapping.findForward("runOffline"); @@ -783,6 +788,9 @@ if (entry != null) request.setAttribute("reflectEntry", entry.getEntry()); + LearningWebUtil.putActivityPositionInRequestByToolSessionId(mindmapSession.getSessionId(), request, + getServlet().getServletContext()); + return mapping.findForward("reflect"); } Index: lams_tool_mindmap/web/pages/learning/mindmap.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_mindmap/web/pages/learning/mindmap.jsp,v diff -u -r1.14 -r1.15 --- lams_tool_mindmap/web/pages/learning/mindmap.jsp 10 Dec 2012 11:11:05 -0000 1.14 +++ lams_tool_mindmap/web/pages/learning/mindmap.jsp 9 Apr 2013 12:45:47 -0000 1.15 @@ -133,7 +133,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_mindmap/web/pages/learning/reflect.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_mindmap/web/pages/learning/reflect.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_mindmap/web/pages/learning/reflect.jsp 14 Sep 2009 06:28:32 -0000 1.2 +++ lams_tool_mindmap/web/pages/learning/reflect.jsp 9 Apr 2013 12:45:47 -0000 1.3 @@ -38,7 +38,16 @@ - + + + + + + + + + + Index: lams_tool_mindmap/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_mindmap/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_mindmap/web/pages/learning/runOffline.jsp 18 May 2011 16:43:24 -0000 1.4 +++ lams_tool_mindmap/web/pages/learning/runOffline.jsp 9 Apr 2013 12:45:47 -0000 1.5 @@ -38,7 +38,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_nb/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/conf/language/lams/ApplicationResources.properties,v diff -u -r1.16 -r1.17 --- lams_tool_nb/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:12:44 -0000 1.16 +++ lams_tool_nb/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:33 -0000 1.17 @@ -45,6 +45,7 @@ button.done =Done button.save =Save button.finish =Next Activity +button.submit =Finish button.next =Next error.mandatoryField ={0} field is mandatory. error.missingParam =Unable to continue. {0} is missing. Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java,v diff -u -r1.21 -r1.22 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java 5 Jan 2007 03:13:52 -0000 1.21 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerAction.java 9 Apr 2013 12:46:33 -0000 1.22 @@ -40,6 +40,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.util.MessageResources; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -209,7 +210,10 @@ if (entry != null) { request.setAttribute("reflectEntry", entry.getEntry()); } - + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + return mapping.findForward(NoticeboardConstants.REFLECT_ON_ACTIVITY); } } \ No newline at end of file Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java,v diff -u -r1.27 -r1.28 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java 7 Feb 2007 02:42:22 -0000 1.27 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java 9 Apr 2013 12:46:33 -0000 1.28 @@ -35,6 +35,7 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.util.MessageResources; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -194,6 +195,9 @@ Boolean userFinished = (nbUser!=null && NoticeboardUser.COMPLETED.equals(nbUser.getUserStatus())); request.setAttribute("userFinished", userFinished); + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + /* * Checks to see if the runOffline flag is set. * If the particular flag is set, control is forwarded to jsp page Index: lams_tool_nb/web/learnerContent.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/web/learnerContent.jsp,v diff -u -r1.28 -r1.29 --- lams_tool_nb/web/learnerContent.jsp 12 Feb 2012 14:27:08 -0000 1.28 +++ lams_tool_nb/web/learnerContent.jsp 9 Apr 2013 12:46:33 -0000 1.29 @@ -79,7 +79,16 @@ - + + + + + + + + + + Index: lams_tool_nb/web/message.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/web/message.jsp,v diff -u -r1.14 -r1.15 --- lams_tool_nb/web/message.jsp 12 Feb 2012 14:27:08 -0000 1.14 +++ lams_tool_nb/web/message.jsp 9 Apr 2013 12:46:33 -0000 1.15 @@ -42,7 +42,16 @@ - + + + + + + + + + + Index: lams_tool_nb/web/reflect.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/web/reflect.jsp,v diff -u -r1.10 -r1.11 --- lams_tool_nb/web/reflect.jsp 12 Feb 2012 14:27:08 -0000 1.10 +++ lams_tool_nb/web/reflect.jsp 9 Apr 2013 12:46:33 -0000 1.11 @@ -27,7 +27,16 @@ - + + + + + + + + + + Index: lams_tool_nb/web/learning/mobile/learnerContent.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/web/learning/mobile/learnerContent.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_nb/web/learning/mobile/learnerContent.jsp 29 Feb 2012 21:30:20 -0000 1.1 +++ lams_tool_nb/web/learning/mobile/learnerContent.jsp 9 Apr 2013 12:46:33 -0000 1.2 @@ -78,7 +78,16 @@ - + + + + + + + + + + Index: lams_tool_nb/web/learning/mobile/message.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/web/learning/mobile/message.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_nb/web/learning/mobile/message.jsp 29 Feb 2012 21:30:20 -0000 1.1 +++ lams_tool_nb/web/learning/mobile/message.jsp 9 Apr 2013 12:46:33 -0000 1.2 @@ -45,8 +45,16 @@ - - + + + + + + + + + + Index: lams_tool_nb/web/learning/mobile/reflect.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/web/learning/mobile/reflect.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_nb/web/learning/mobile/reflect.jsp 29 Feb 2012 21:30:20 -0000 1.1 +++ lams_tool_nb/web/learning/mobile/reflect.jsp 9 Apr 2013 12:46:33 -0000 1.2 @@ -32,8 +32,16 @@ - - + + + + + + + + + +
Index: lams_tool_notebook/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/conf/language/lams/ApplicationResources.properties,v diff -u -r1.25 -r1.26 --- lams_tool_notebook/conf/language/lams/ApplicationResources.properties 30 Aug 2012 15:18:51 -0000 1.25 +++ lams_tool_notebook/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:45:34 -0000 1.26 @@ -62,6 +62,7 @@ button.done =Done button.save =Save button.finish =Next Activity +button.submit =Finish button.next =Next label.save =Save label.cancel =Cancel Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/actions/LearningAction.java,v diff -u -r1.12 -r1.13 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/actions/LearningAction.java 21 Mar 2012 13:41:46 -0000 1.12 +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/actions/LearningAction.java 9 Apr 2013 12:45:34 -0000 1.13 @@ -36,6 +36,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -130,7 +131,10 @@ notebook.setContentInUse(new Boolean(true)); notebookService.saveOrUpdateNotebook(notebook); } - + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + // check runOffline if (notebook.isRunOffline()) { return mapping.findForward("runOffline"); Index: lams_tool_notebook/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/web/pages/learning/notebook.jsp,v diff -u -r1.25 -r1.26 --- lams_tool_notebook/web/pages/learning/notebook.jsp 12 Feb 2012 14:28:37 -0000 1.25 +++ lams_tool_notebook/web/pages/learning/notebook.jsp 9 Apr 2013 12:45:34 -0000 1.26 @@ -101,7 +101,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_notebook/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.11 -r1.12 --- lams_tool_notebook/web/pages/learning/runOffline.jsp 12 Feb 2012 14:28:37 -0000 1.11 +++ lams_tool_notebook/web/pages/learning/runOffline.jsp 9 Apr 2013 12:45:34 -0000 1.12 @@ -37,7 +37,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_notebook/web/pages/learning/mobile/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/web/pages/learning/mobile/notebook.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_notebook/web/pages/learning/mobile/notebook.jsp 29 Feb 2012 21:31:42 -0000 1.1 +++ lams_tool_notebook/web/pages/learning/mobile/notebook.jsp 9 Apr 2013 12:45:34 -0000 1.2 @@ -99,7 +99,16 @@ - button.finish + + + + + + + + + + Index: lams_tool_notebook/web/pages/learning/mobile/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_notebook/web/pages/learning/mobile/Attic/runOffline.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_notebook/web/pages/learning/mobile/runOffline.jsp 29 Feb 2012 21:31:42 -0000 1.1 +++ lams_tool_notebook/web/pages/learning/mobile/runOffline.jsp 9 Apr 2013 12:45:34 -0000 1.2 @@ -43,7 +43,16 @@ - button.finish + + + + + + + + + + Index: lams_tool_pixlr/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_pixlr/conf/language/lams/ApplicationResources.properties,v diff -u -r1.10 -r1.11 --- lams_tool_pixlr/conf/language/lams/ApplicationResources.properties 30 Aug 2012 15:24:29 -0000 1.10 +++ lams_tool_pixlr/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:29 -0000 1.11 @@ -76,6 +76,7 @@ error.mandatoryField ={0} field is mandatory. button.try.again =Try Again button.finish =Next Activity +button.submit =Finish message.alertContentEdit =Warning: One or more learners have accessed this activity. Changing this content will result in learners getting different information. message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Pixlr activity, you won't be able to continue editing your image. message.warnLockOnFinishViewAll =Note: After you click on "View All Pixlr Images" and you come back to this Pixlr activity, you won't be able to continue editing your image. Index: lams_tool_pixlr/src/java/org/lamsfoundation/lams/tool/pixlr/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_pixlr/src/java/org/lamsfoundation/lams/tool/pixlr/web/actions/LearningAction.java,v diff -u -r1.5 -r1.6 --- lams_tool_pixlr/src/java/org/lamsfoundation/lams/tool/pixlr/web/actions/LearningAction.java 21 Mar 2012 13:40:53 -0000 1.5 +++ lams_tool_pixlr/src/java/org/lamsfoundation/lams/tool/pixlr/web/actions/LearningAction.java 9 Apr 2013 12:46:29 -0000 1.6 @@ -47,6 +47,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -143,6 +144,9 @@ pixlr.setContentInUse(new Boolean(true)); pixlrService.saveOrUpdatePixlr(pixlr); } + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); // check runOffline if (pixlr.isRunOffline()) { @@ -366,6 +370,9 @@ if (notebookEntry != null) { lrnForm.setEntryText(notebookEntry.getEntry()); } + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(pixlrUser.getPixlrSession().getSessionId(), + request, getServlet().getServletContext()); return mapping.findForward("notebook"); } @@ -451,6 +458,10 @@ request.setAttribute("pixlrDTO", new PixlrDTO(pixlr)); request.setAttribute("mode", mode); request.setAttribute("pixlrImageFolderURL", PixlrConstants.LAMS_WWW_PIXLR_FOLDER_URL); + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + return mapping.findForward("viewAll"); } Index: lams_tool_pixlr/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_pixlr/web/pages/learning/notebook.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_pixlr/web/pages/learning/notebook.jsp 13 Nov 2012 03:34:18 -0000 1.6 +++ lams_tool_pixlr/web/pages/learning/notebook.jsp 9 Apr 2013 12:46:29 -0000 1.7 @@ -53,7 +53,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_pixlr/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_pixlr/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_pixlr/web/pages/learning/runOffline.jsp 12 Feb 2012 14:30:06 -0000 1.4 +++ lams_tool_pixlr/web/pages/learning/runOffline.jsp 9 Apr 2013 12:46:29 -0000 1.5 @@ -26,7 +26,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_pixlr/web/pages/learning/viewAll.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_pixlr/web/pages/learning/viewAll.jsp,v diff -u -r1.7 -r1.8 --- lams_tool_pixlr/web/pages/learning/viewAll.jsp 13 Nov 2012 03:34:18 -0000 1.7 +++ lams_tool_pixlr/web/pages/learning/viewAll.jsp 9 Apr 2013 12:46:29 -0000 1.8 @@ -113,7 +113,16 @@ - + + + + + + + + + + Index: lams_tool_pixlr/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_pixlr/web/pages/learning/parts/finishButton.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_pixlr/web/pages/learning/parts/finishButton.jsp 12 Feb 2012 14:30:06 -0000 1.6 +++ lams_tool_pixlr/web/pages/learning/parts/finishButton.jsp 9 Apr 2013 12:46:29 -0000 1.7 @@ -63,7 +63,16 @@ - + + + + + + + + + + Index: lams_tool_sbmt/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/conf/language/lams/ApplicationResources.properties,v diff -u -r1.30 -r1.31 --- lams_tool_sbmt/conf/language/lams/ApplicationResources.properties 30 Aug 2012 15:27:54 -0000 1.30 +++ lams_tool_sbmt/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:47:23 -0000 1.31 @@ -100,6 +100,7 @@ message.monitoring.edit.activity.not.editable =This Activity is no longer editable button.try.again =Try again button.finish =Next Activity +button.submit =Finish label.submit.file.suffix =submitted the following files label.assign.mark.message.prefix =Please assign a mark and a comment for the report by label.session.name =Session name Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java,v diff -u -r1.52 -r1.53 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java 27 Mar 2013 15:11:07 -0000 1.52 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java 9 Apr 2013 12:47:23 -0000 1.53 @@ -47,6 +47,7 @@ import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.events.DeliveryMethodMail; import org.lamsfoundation.lams.events.IEventNotificationService; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -170,6 +171,9 @@ content.setDefineLater(false); submitFilesService.saveOrUpdateContent(content); + LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionID, request, getServlet() + .getServletContext()); + // add run offline support if (content.isRunOffline()) { return mapping.findForward("runOffline"); @@ -229,6 +233,9 @@ // set the mode into http session Long sessionID = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); + LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionID, request, getServlet() + .getServletContext()); + if (validateUploadForm(learnerForm, request)) { // get session from shared session. HttpSession ss = SessionManager.getSession(); Index: lams_tool_sbmt/web/learner/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/learner/notebook.jsp,v diff -u -r1.11 -r1.12 --- lams_tool_sbmt/web/learner/notebook.jsp 12 Feb 2012 14:31:11 -0000 1.11 +++ lams_tool_sbmt/web/learner/notebook.jsp 9 Apr 2013 12:47:23 -0000 1.12 @@ -41,7 +41,16 @@
- + + + + + + + + +
Index: lams_tool_sbmt/web/learner/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/learner/Attic/runoffline.jsp,v diff -u -r1.19 -r1.20 --- lams_tool_sbmt/web/learner/runoffline.jsp 12 Feb 2012 14:31:11 -0000 1.19 +++ lams_tool_sbmt/web/learner/runoffline.jsp 9 Apr 2013 12:47:23 -0000 1.20 @@ -85,7 +85,16 @@ - + + + + + + + + + + Index: lams_tool_sbmt/web/learner/sbmtlearner.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/learner/sbmtlearner.jsp,v diff -u -r1.31 -r1.32 --- lams_tool_sbmt/web/learner/sbmtlearner.jsp 15 Aug 2012 10:59:22 -0000 1.31 +++ lams_tool_sbmt/web/learner/sbmtlearner.jsp 9 Apr 2013 12:47:23 -0000 1.32 @@ -291,7 +291,16 @@ - + + + + + + + + + + Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java,v diff -u -r1.13 -r1.14 --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java 16 Dec 2012 09:06:14 -0000 1.13 +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningAction.java 9 Apr 2013 12:47:36 -0000 1.14 @@ -45,6 +45,8 @@ import org.apache.struts.action.ActionRedirect; import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -204,6 +206,10 @@ scratchie.setDefineLater(false); service.saveOrUpdateScratchie(scratchie); + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionId, request, getServlet() + .getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + // add run offline support if (scratchie.getRunOffline()) { sessionMap.put(ScratchieConstants.PARAM_RUN_OFFLINE, true); Index: lams_tool_scratchie/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/web/pages/learning/notebook.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_scratchie/web/pages/learning/notebook.jsp 19 Jul 2012 19:20:09 -0000 1.1 +++ lams_tool_scratchie/web/pages/learning/notebook.jsp 9 Apr 2013 12:47:36 -0000 1.2 @@ -42,7 +42,16 @@
- + + + + + + + + + +
Index: lams_tool_scratchie/web/pages/learning/questionlist.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/web/pages/learning/questionlist.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_scratchie/web/pages/learning/questionlist.jsp 22 Feb 2013 12:33:14 -0000 1.3 +++ lams_tool_scratchie/web/pages/learning/questionlist.jsp 9 Apr 2013 12:47:36 -0000 1.4 @@ -100,7 +100,16 @@ - + + + + + + + + + + Index: lams_tool_scratchie/web/pages/learning/results.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/web/pages/learning/results.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_scratchie/web/pages/learning/results.jsp 3 Oct 2012 13:07:44 -0000 1.2 +++ lams_tool_scratchie/web/pages/learning/results.jsp 9 Apr 2013 12:47:36 -0000 1.3 @@ -111,7 +111,16 @@ - + + + + + + + + + + Index: lams_tool_scratchie/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scratchie/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_scratchie/web/pages/learning/runoffline.jsp 19 Jul 2012 19:20:09 -0000 1.1 +++ lams_tool_scratchie/web/pages/learning/runoffline.jsp 9 Apr 2013 12:47:36 -0000 1.2 @@ -71,7 +71,16 @@ - + + + + + + + + + + Index: lams_tool_scribe/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scribe/conf/language/lams/ApplicationResources.properties,v diff -u -r1.22 -r1.23 --- lams_tool_scribe/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:07:43 -0000 1.22 +++ lams_tool_scribe/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:45:43 -0000 1.23 @@ -68,6 +68,7 @@ button.done =Done button.save =Save button.finish =Next Activity +button.submitActivity =Finish button.continue =Continue button.next =Next label.save =Save Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java,v diff -u -r1.15 -r1.16 --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java 21 Mar 2012 13:45:59 -0000 1.15 +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/actions/LearningAction.java 9 Apr 2013 12:45:43 -0000 1.16 @@ -38,6 +38,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -134,6 +135,9 @@ scribeService.saveOrUpdateScribe(scribe); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + // Retrieve the current user ScribeUser scribeUser = getCurrentUser(toolSessionID); @@ -295,6 +299,10 @@ .getScribe()); request.setAttribute("scribeDTO", scribeDTO); + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(scribeUser.getScribeSession().getSessionId(), + request, getServlet().getServletContext()); + return mapping.findForward("notebook"); } @@ -456,6 +464,9 @@ if ( session.getScribe().isShowAggregatedReports() ) setupOtherGroupReportDTO(request, session, scribeUser); + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(session.getSessionId(), request, getServlet() + .getServletContext()); return mapping.findForward("report"); } Index: lams_tool_scribe/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scribe/web/pages/learning/notebook.jsp,v diff -u -r1.9 -r1.10 --- lams_tool_scribe/web/pages/learning/notebook.jsp 12 Feb 2012 14:32:20 -0000 1.9 +++ lams_tool_scribe/web/pages/learning/notebook.jsp 9 Apr 2013 12:45:43 -0000 1.10 @@ -29,7 +29,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_scribe/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scribe/web/pages/learning/parts/finishButton.jsp,v diff -u -r1.13 -r1.14 --- lams_tool_scribe/web/pages/learning/parts/finishButton.jsp 12 Feb 2012 14:32:20 -0000 1.13 +++ lams_tool_scribe/web/pages/learning/parts/finishButton.jsp 9 Apr 2013 12:45:43 -0000 1.14 @@ -29,7 +29,16 @@ - + + + + + + + + + + Index: lams_tool_spreadsheet/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_spreadsheet/conf/language/lams/ApplicationResources.properties,v diff -u -r1.9 -r1.10 --- lams_tool_spreadsheet/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:08:03 -0000 1.9 +++ lams_tool_spreadsheet/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:47:21 -0000 1.10 @@ -124,6 +124,7 @@ label.continue =Continue button.close =Close label.finished =Next Activity +label.submit =Finish label.finish =Finished error.msg.repository =A repository error occurred while trying to upload the file. message.alertContentEdit =Warning: One of more learners have accessed this activity. Changing this content will result in learners getting different information. Index: lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/action/LearningAction.java,v diff -u -r1.5 -r1.6 --- lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/action/LearningAction.java 24 Jul 2008 01:58:30 -0000 1.5 +++ lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/action/LearningAction.java 9 Apr 2013 12:47:21 -0000 1.6 @@ -40,6 +40,8 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionRedirect; import org.apache.struts.config.ForwardConfig; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -172,6 +174,10 @@ spreadsheet.setDefineLater(false); service.saveOrUpdateSpreadsheet(spreadsheet); + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, + request, getServlet().getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + //add run offline support if(spreadsheet.getRunOffline()){ sessionMap.put(SpreadsheetConstants.PARAM_RUN_OFFLINE, true); Index: lams_tool_spreadsheet/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_spreadsheet/web/pages/learning/learning.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_spreadsheet/web/pages/learning/learning.jsp 12 Feb 2012 14:33:46 -0000 1.6 +++ lams_tool_spreadsheet/web/pages/learning/learning.jsp 9 Apr 2013 12:47:21 -0000 1.7 @@ -173,7 +173,16 @@ - + + + + + + + + + + Index: lams_tool_spreadsheet/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_spreadsheet/web/pages/learning/notebook.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_spreadsheet/web/pages/learning/notebook.jsp 12 Feb 2012 14:33:46 -0000 1.4 +++ lams_tool_spreadsheet/web/pages/learning/notebook.jsp 9 Apr 2013 12:47:21 -0000 1.5 @@ -43,7 +43,16 @@
- + + + + + + + + + +
Index: lams_tool_spreadsheet/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_spreadsheet/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.5 -r1.6 --- lams_tool_spreadsheet/web/pages/learning/runoffline.jsp 12 Feb 2012 14:33:46 -0000 1.5 +++ lams_tool_spreadsheet/web/pages/learning/runoffline.jsp 9 Apr 2013 12:47:21 -0000 1.6 @@ -71,7 +71,16 @@ - + + + + + + + + + + Index: lams_tool_survey/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/conf/language/lams/ApplicationResources.properties,v diff -u -r1.25 -r1.26 --- lams_tool_survey/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:09:10 -0000 1.25 +++ lams_tool_survey/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:46:23 -0000 1.26 @@ -103,6 +103,7 @@ label.view =View label.edit =Edit label.finished =Next Activity +label.submit =Finish label.completed =Completed label.finish =Next Activity button.upload =Upload Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java,v diff -u -r1.24 -r1.25 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java 27 Mar 2013 15:09:39 -0000 1.24 +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java 9 Apr 2013 12:46:23 -0000 1.25 @@ -49,6 +49,8 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.lamsfoundation.lams.events.DeliveryMethodMail; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -210,6 +212,10 @@ sessionMap.put(SurveyConstants.PARAM_RUN_OFFLINE, false); } + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, + request, getServlet().getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + // check if there is submission deadline Date submissionDeadline = survey.getSubmissionDeadline(); if (submissionDeadline != null) { Index: lams_tool_survey/web/pages/learning/result.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/web/pages/learning/result.jsp,v diff -u -r1.20 -r1.21 --- lams_tool_survey/web/pages/learning/result.jsp 12 Feb 2012 14:35:29 -0000 1.20 +++ lams_tool_survey/web/pages/learning/result.jsp 9 Apr 2013 12:46:23 -0000 1.21 @@ -154,7 +154,16 @@ - + + + + + + + + + + Index: lams_tool_survey/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_survey/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.15 -r1.16 --- lams_tool_survey/web/pages/learning/runoffline.jsp 12 Feb 2012 14:35:29 -0000 1.15 +++ lams_tool_survey/web/pages/learning/runoffline.jsp 9 Apr 2013 12:46:23 -0000 1.16 @@ -84,7 +84,16 @@ - + + + + + + + + + + Index: lams_tool_task/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_task/conf/language/lams/ApplicationResources.properties,v diff -u -r1.40 -r1.41 --- lams_tool_task/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:12:03 -0000 1.40 +++ lams_tool_task/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:45:55 -0000 1.41 @@ -152,6 +152,7 @@ button.close =Close message.alertContentEdit =Warning: One of more learners have accessed this activity. Changing this content will result in learners getting different information. label.finished =Next Activity +label.submit =Finish label.finish =Next Activity label.default.user.name =Instructor output.desc.learner.number.of.tasks.completed =Number of Tasks Completed Index: lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/action/LearningAction.java,v diff -u -r1.16 -r1.17 --- lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/action/LearningAction.java 10 May 2011 23:45:57 -0000 1.16 +++ lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/action/LearningAction.java 9 Apr 2013 12:45:55 -0000 1.17 @@ -52,6 +52,8 @@ import org.apache.struts.action.ActionRedirect; import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -323,6 +325,10 @@ taskList.setDefineLater(false); service.saveOrUpdateTaskList(taskList); + ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, + request, getServlet().getServletContext()); + sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); + //add run offline support if(taskList.getRunOffline()){ sessionMap.put(TaskListConstants.PARAM_RUN_OFFLINE, true); Index: lams_tool_task/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_task/web/pages/learning/learning.jsp,v diff -u -r1.22 -r1.23 --- lams_tool_task/web/pages/learning/learning.jsp 12 Feb 2012 14:36:47 -0000 1.22 +++ lams_tool_task/web/pages/learning/learning.jsp 9 Apr 2013 12:45:55 -0000 1.23 @@ -211,7 +211,16 @@ - + + + + + + + + + + Index: lams_tool_task/web/pages/learning/runoffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_task/web/pages/learning/Attic/runoffline.jsp,v diff -u -r1.7 -r1.8 --- lams_tool_task/web/pages/learning/runoffline.jsp 12 Feb 2012 14:36:47 -0000 1.7 +++ lams_tool_task/web/pages/learning/runoffline.jsp 9 Apr 2013 12:45:55 -0000 1.8 @@ -81,7 +81,16 @@ - + + + + + + + + + + Index: lams_tool_task/web/pages/learning/parts/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_task/web/pages/learning/parts/notebook.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_task/web/pages/learning/parts/notebook.jsp 12 Feb 2012 14:36:47 -0000 1.4 +++ lams_tool_task/web/pages/learning/parts/notebook.jsp 9 Apr 2013 12:45:55 -0000 1.5 @@ -43,7 +43,16 @@
- + + + + + + + + + +
Index: lams_tool_videorecorder/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/conf/language/lams/ApplicationResources.properties,v diff -u -r1.7 -r1.8 --- lams_tool_videorecorder/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:07:15 -0000 1.7 +++ lams_tool_videorecorder/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:47:29 -0000 1.8 @@ -85,6 +85,7 @@ button.try.again =Try Again message.learner.blank.input =You have not written anything. Are you sure this is correct? button.finish =Next Activity +button.submit =Finish button.continue =Continue message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Notebook, you won't be able to continue adding notes. message.activityLocked =The instructor has set this activity not to allow notes after you have finished it. As you are returning to this Notebook, you are able to see your notes but not allowed to add more. Index: lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/web/actions/LearningAction.java,v diff -u -r1.5 -r1.6 --- lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/web/actions/LearningAction.java 21 Mar 2012 13:46:46 -0000 1.5 +++ lams_tool_videorecorder/src/java/org/lamsfoundation/lams/tool/videoRecorder/web/actions/LearningAction.java 9 Apr 2013 12:47:30 -0000 1.6 @@ -36,6 +36,8 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.lamsfoundation.lams.dao.IBaseDAO; +import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.ToolSession; @@ -164,6 +166,9 @@ videoRecorder.setContentInUse(new Boolean(true)); videoRecorderService.saveOrUpdateVideoRecorder(videoRecorder); } + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); // check runOffline if (videoRecorder.isRunOffline()) { Index: lams_tool_videorecorder/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_videorecorder/web/pages/learning/parts/finishButton.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_videorecorder/web/pages/learning/parts/finishButton.jsp 12 Feb 2012 14:37:57 -0000 1.4 +++ lams_tool_videorecorder/web/pages/learning/parts/finishButton.jsp 9 Apr 2013 12:47:30 -0000 1.5 @@ -60,7 +60,16 @@ - + + + + + + + + + + Index: lams_tool_vote/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/conf/language/lams/ApplicationResources.properties,v diff -u -r1.30 -r1.31 --- lams_tool_vote/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:04:26 -0000 1.30 +++ lams_tool_vote/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:47:27 -0000 1.31 @@ -77,6 +77,7 @@ label.retake =Redo Vote label.submit.vote =Submit Vote button.endLearning =Next Activity +button.submitActivity =Finish label.user =User label.attemptTime =Voting Time sbmt.learner.nominations.successful =Your votes have been submitted. Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningAction.java,v diff -u -r1.51 -r1.52 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningAction.java 17 Mar 2010 10:49:00 -0000 1.51 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningAction.java 9 Apr 2013 12:47:26 -0000 1.52 @@ -43,6 +43,7 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -298,6 +299,10 @@ logger.debug("view-only voteGeneralLearnerFlowDTO: " + voteGeneralLearnerFlowDTO); request.setAttribute(VOTE_GENERAL_LEARNER_FLOW_DTO, voteGeneralLearnerFlowDTO); + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(new Long(toolSessionID), request, getServlet() + .getServletContext()); + logger.debug("fwding to ALL_NOMINATIONS: " + ALL_NOMINATIONS); return (mapping.findForward(ALL_NOMINATIONS)); } @@ -382,6 +387,10 @@ logger.debug("final voteGeneralLearnerFlowDTO: " + voteGeneralLearnerFlowDTO); request.setAttribute(VOTE_GENERAL_LEARNER_FLOW_DTO, voteGeneralLearnerFlowDTO); + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(new Long(toolSessionID), request, getServlet() + .getServletContext()); + logger.debug("fwd'ing to : " + VIEW_ANSWERS); return (mapping.findForward(VIEW_ANSWERS)); } @@ -957,6 +966,9 @@ logger.debug("final voteGeneralLearnerFlowDTO: " + voteGeneralLearnerFlowDTO); voteLearningForm.resetCommands(); + LearningWebUtil.putActivityPositionInRequestByToolSessionId(new Long(toolSessionID), request, getServlet() + .getServletContext()); + logger.debug("fwd'ing to: " + NOTEBOOK); return (mapping.findForward(NOTEBOOK)); } Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningStarterAction.java,v diff -u -r1.50 -r1.51 --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningStarterAction.java 17 May 2011 03:39:31 -0000 1.50 +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/web/VoteLearningStarterAction.java 9 Apr 2013 12:47:26 -0000 1.51 @@ -175,6 +175,7 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.vote.VoteAppConstants; @@ -381,6 +382,9 @@ /* by now, we know that the mode is learner */ putNotebookEntryIntoVoteGeneralLearnerFlowDTO(voteService, voteGeneralLearnerFlowDTO, toolSessionID, userID); + LearningWebUtil.putActivityPositionInRequestByToolSessionId(new Long(toolSessionID), request, getServlet() + .getServletContext()); + /* * find out if the content is set to run offline or online. If it is set to run offline , the learners are * informed about that. Index: lams_tool_vote/web/learning/AllNominations.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/AllNominations.jsp,v diff -u -r1.49 -r1.50 --- lams_tool_vote/web/learning/AllNominations.jsp 12 Nov 2012 17:13:44 -0000 1.49 +++ lams_tool_vote/web/learning/AllNominations.jsp 9 Apr 2013 12:47:26 -0000 1.50 @@ -250,7 +250,16 @@ - + + + + + + + + + + Index: lams_tool_vote/web/learning/ExitLearning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/ExitLearning.jsp,v diff -u -r1.35 -r1.36 --- lams_tool_vote/web/learning/ExitLearning.jsp 12 Nov 2012 17:13:44 -0000 1.35 +++ lams_tool_vote/web/learning/ExitLearning.jsp 9 Apr 2013 12:47:26 -0000 1.36 @@ -119,7 +119,16 @@
- + + + + + + + + + +
Index: lams_tool_vote/web/learning/IndividualLearnerResults.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/IndividualLearnerResults.jsp,v diff -u -r1.34 -r1.35 --- lams_tool_vote/web/learning/IndividualLearnerResults.jsp 12 Feb 2012 14:40:07 -0000 1.34 +++ lams_tool_vote/web/learning/IndividualLearnerResults.jsp 9 Apr 2013 12:47:26 -0000 1.35 @@ -121,7 +121,16 @@ - + + + + + + + + + + Index: lams_tool_vote/web/learning/RevisitedAllNominations.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/RevisitedAllNominations.jsp,v diff -u -r1.16 -r1.17 --- lams_tool_vote/web/learning/RevisitedAllNominations.jsp 12 Nov 2012 17:13:44 -0000 1.16 +++ lams_tool_vote/web/learning/RevisitedAllNominations.jsp 9 Apr 2013 12:47:26 -0000 1.17 @@ -118,7 +118,16 @@ - + + + + + + + + + + Index: lams_tool_vote/web/learning/RunOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/Attic/RunOffline.jsp,v diff -u -r1.14 -r1.15 --- lams_tool_vote/web/learning/RunOffline.jsp 12 Feb 2012 14:40:07 -0000 1.14 +++ lams_tool_vote/web/learning/RunOffline.jsp 9 Apr 2013 12:47:26 -0000 1.15 @@ -82,8 +82,17 @@ - - + + + + + + + + + + + Index: lams_tool_vote/web/learning/mobile/AllNominations.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/mobile/AllNominations.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_vote/web/learning/mobile/AllNominations.jsp 12 Nov 2012 17:13:43 -0000 1.4 +++ lams_tool_vote/web/learning/mobile/AllNominations.jsp 9 Apr 2013 12:47:26 -0000 1.5 @@ -265,7 +265,16 @@ - + + + + + + + + + + Index: lams_tool_vote/web/learning/mobile/ExitLearning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/mobile/ExitLearning.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_vote/web/learning/mobile/ExitLearning.jsp 12 Nov 2012 17:13:43 -0000 1.4 +++ lams_tool_vote/web/learning/mobile/ExitLearning.jsp 9 Apr 2013 12:47:27 -0000 1.5 @@ -130,7 +130,16 @@ - + + + + + + + + + + Index: lams_tool_vote/web/learning/mobile/IndividualLearnerResults.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/mobile/IndividualLearnerResults.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_vote/web/learning/mobile/IndividualLearnerResults.jsp 29 Sep 2012 13:58:23 -0000 1.3 +++ lams_tool_vote/web/learning/mobile/IndividualLearnerResults.jsp 9 Apr 2013 12:47:27 -0000 1.4 @@ -130,7 +130,16 @@ - + + + + + + + + + + Index: lams_tool_vote/web/learning/mobile/RevisitedAllNominations.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/mobile/RevisitedAllNominations.jsp,v diff -u -r1.5 -r1.6 --- lams_tool_vote/web/learning/mobile/RevisitedAllNominations.jsp 12 Nov 2012 17:13:43 -0000 1.5 +++ lams_tool_vote/web/learning/mobile/RevisitedAllNominations.jsp 9 Apr 2013 12:47:26 -0000 1.6 @@ -125,7 +125,16 @@ - + + + + + + + + + + Index: lams_tool_vote/web/learning/mobile/RunOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_vote/web/learning/mobile/Attic/RunOffline.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_vote/web/learning/mobile/RunOffline.jsp 29 Sep 2012 13:58:23 -0000 1.3 +++ lams_tool_vote/web/learning/mobile/RunOffline.jsp 9 Apr 2013 12:47:26 -0000 1.4 @@ -88,7 +88,16 @@ - + + + + + + + + + + Index: lams_tool_wiki/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wiki/conf/language/lams/ApplicationResources.properties,v diff -u -r1.15 -r1.16 --- lams_tool_wiki/conf/language/lams/ApplicationResources.properties 13 Apr 2012 15:30:54 -0000 1.15 +++ lams_tool_wiki/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:45:26 -0000 1.16 @@ -94,6 +94,7 @@ button.try.again =Try Again message.learner.blank.input =You have not written anything. Are you sure this is correct? button.finish =Next Activity +button.submit =Finish message.alertContentEdit =Warning: One of more learners have accessed this activity. Changing this content will result in learners getting different information. message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Wiki, you won't be able to continue editing. message.activityLocked =The instructor has set this activity not to allow editing after you have finished it. As you are returning to this Wiki, you are able to see your Wiki but not allowed to edit it. Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/LearningAction.java,v diff -u -r1.8 -r1.9 --- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/LearningAction.java 21 Mar 2012 13:47:46 -0000 1.8 +++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/LearningAction.java 9 Apr 2013 12:45:26 -0000 1.9 @@ -37,6 +37,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.lamsfoundation.lams.events.IEventNotificationService; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -137,7 +138,10 @@ wiki.setContentInUse(new Boolean(true)); wikiService.saveOrUpdateWiki(wiki); } - + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + // check runOffline if (wiki.isRunOffline()) { return mapping.findForward("runOffline"); @@ -326,7 +330,10 @@ if (notebookEntry != null) { lrnForm.setEntryText(notebookEntry.getEntry()); } - + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(lrnForm.getToolSessionID(), request, getServlet() + .getServletContext()); + return mapping.findForward("notebook"); } Index: lams_tool_wiki/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wiki/web/pages/learning/notebook.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_wiki/web/pages/learning/notebook.jsp 12 Feb 2012 14:41:31 -0000 1.4 +++ lams_tool_wiki/web/pages/learning/notebook.jsp 9 Apr 2013 12:45:26 -0000 1.5 @@ -29,7 +29,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_wiki/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wiki/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.4 -r1.5 --- lams_tool_wiki/web/pages/learning/runOffline.jsp 12 Feb 2012 14:41:31 -0000 1.4 +++ lams_tool_wiki/web/pages/learning/runOffline.jsp 9 Apr 2013 12:45:26 -0000 1.5 @@ -25,7 +25,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_wiki/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wiki/web/pages/learning/parts/finishButton.jsp,v diff -u -r1.7 -r1.8 --- lams_tool_wiki/web/pages/learning/parts/finishButton.jsp 12 Feb 2012 14:41:31 -0000 1.7 +++ lams_tool_wiki/web/pages/learning/parts/finishButton.jsp 9 Apr 2013 12:45:26 -0000 1.8 @@ -57,10 +57,20 @@
- - button.finish - -
+ + + + + + + + + + + + +
Index: lams_tool_wookie/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wookie/conf/language/lams/ApplicationResources.properties,v diff -u -r1.7 -r1.8 --- lams_tool_wookie/conf/language/lams/ApplicationResources.properties 13 Apr 2012 16:08:38 -0000 1.7 +++ lams_tool_wookie/conf/language/lams/ApplicationResources.properties 9 Apr 2013 12:47:32 -0000 1.8 @@ -74,6 +74,7 @@ error.mandatoryField ={0} field is mandatory. button.try.again =Try Again button.finish =Next Activity +button.submit =Finish message.alertContentEdit =Warning: One of more students have accessed this activity. Changing this content will result in students getting different information. message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Wookie activity, you won't be able the activity will be hidden and you will not be able to edit it. message.activityLocked =The instructor has set this activity to be locked after you have finished it. As you are returning to this activity, you cannot edit anymore. Index: lams_tool_wookie/src/java/org/lamsfoundation/lams/tool/wookie/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wookie/src/java/org/lamsfoundation/lams/tool/wookie/web/actions/LearningAction.java,v diff -u -r1.7 -r1.8 --- lams_tool_wookie/src/java/org/lamsfoundation/lams/tool/wookie/web/actions/LearningAction.java 21 Mar 2012 13:48:22 -0000 1.7 +++ lams_tool_wookie/src/java/org/lamsfoundation/lams/tool/wookie/web/actions/LearningAction.java 9 Apr 2013 12:47:32 -0000 1.8 @@ -42,6 +42,7 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -129,7 +130,10 @@ wookie.setContentInUse(new Boolean(true)); wookieService.saveOrUpdateWookie(wookie); } - + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet() + .getServletContext()); + // check runOffline if (wookie.isRunOffline()) { return mapping.findForward("runOffline"); @@ -314,6 +318,9 @@ lrnForm.setEntryText(notebookEntry.getEntry()); } + LearningWebUtil.putActivityPositionInRequestByToolSessionId(lrnForm.getToolSessionID(), request, getServlet() + .getServletContext()); + return mapping.findForward("notebook"); } Index: lams_tool_wookie/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wookie/web/pages/learning/notebook.jsp,v diff -u -r1.3 -r1.4 --- lams_tool_wookie/web/pages/learning/notebook.jsp 13 Nov 2012 03:36:32 -0000 1.3 +++ lams_tool_wookie/web/pages/learning/notebook.jsp 9 Apr 2013 12:47:32 -0000 1.4 @@ -54,7 +54,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_wookie/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wookie/web/pages/learning/Attic/runOffline.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_wookie/web/pages/learning/runOffline.jsp 28 Jul 2009 05:30:14 -0000 1.1 +++ lams_tool_wookie/web/pages/learning/runOffline.jsp 9 Apr 2013 12:47:32 -0000 1.2 @@ -26,7 +26,16 @@
- button.finish + + + + + + + + + +
Index: lams_tool_wookie/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_wookie/web/pages/learning/parts/finishButton.jsp,v diff -u -r1.2 -r1.3 --- lams_tool_wookie/web/pages/learning/parts/finishButton.jsp 31 Jul 2009 04:17:01 -0000 1.2 +++ lams_tool_wookie/web/pages/learning/parts/finishButton.jsp 9 Apr 2013 12:47:32 -0000 1.3 @@ -55,7 +55,16 @@ - + + + + + + + + + +