Index: lams_common/src/java/org/lamsfoundation/lams/util/CommonConstants.java =================================================================== diff -u -r3e58e9a9a8b4b7f7d94ad65d64376f091d7502dc -rf9f3f3fababd3ccbc84765f36d73be67c7655b46 --- lams_common/src/java/org/lamsfoundation/lams/util/CommonConstants.java (.../CommonConstants.java) (revision 3e58e9a9a8b4b7f7d94ad65d64376f091d7502dc) +++ lams_common/src/java/org/lamsfoundation/lams/util/CommonConstants.java (.../CommonConstants.java) (revision f9f3f3fababd3ccbc84765f36d73be67c7655b46) @@ -70,7 +70,7 @@ // FLUX sinks // updated when a learner completes an activity by himself - public static final String ACTIVITY_COMPLETED_SINK_NAME = "activity completed by learner"; + public static final String ACTIVITY_ENTERED_SINK_NAME = "activity completed by learner"; // updated when a learner completes an activity by himself public static final String LESSON_JOINED_SINK_NAME = "lesson joined by learner"; // updated when a there was a change to lesson progress Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/CompleteActivityController.java =================================================================== diff -u -r20e62542c73330b5ccd425dc727597660abdd129 -rf9f3f3fababd3ccbc84765f36d73be67c7655b46 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/CompleteActivityController.java (.../CompleteActivityController.java) (revision 20e62542c73330b5ccd425dc727597660abdd129) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/CompleteActivityController.java (.../CompleteActivityController.java) (revision f9f3f3fababd3ccbc84765f36d73be67c7655b46) @@ -31,16 +31,13 @@ import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; -import org.lamsfoundation.lams.flux.FluxRegistry; import org.lamsfoundation.lams.integration.service.IIntegrationService; import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.service.LearnerServiceException; 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.lesson.LearnerProgress; -import org.lamsfoundation.lams.lesson.util.LearnerActivityCompleteFluxItem; -import org.lamsfoundation.lams.util.CommonConstants; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.util.AttributeNames; import org.springframework.beans.factory.annotation.Autowired; @@ -121,12 +118,7 @@ } } - // notify all event subscribers that a learner finished an activity - FluxRegistry.emit(CommonConstants.ACTIVITY_COMPLETED_SINK_NAME, - new LearnerActivityCompleteFluxItem(lessonId, learnerId, activityId)); - return forward; - } catch (LearnerServiceException e) { return "error"; } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java =================================================================== diff -u -r20e62542c73330b5ccd425dc727597660abdd129 -rf9f3f3fababd3ccbc84765f36d73be67c7655b46 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java (.../LearnerController.java) (revision 20e62542c73330b5ccd425dc727597660abdd129) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java (.../LearnerController.java) (revision f9f3f3fababd3ccbc84765f36d73be67c7655b46) @@ -143,7 +143,7 @@ public static final String LEARNER_TIMELINE_FLUX_NAME = "learner timeline updated"; public LearnerController() { - FluxRegistry.initFluxMap(LEARNER_TIMELINE_FLUX_NAME, CommonConstants.ACTIVITY_COMPLETED_SINK_NAME, + FluxRegistry.initFluxMap(LEARNER_TIMELINE_FLUX_NAME, CommonConstants.ACTIVITY_ENTERED_SINK_NAME, (LearnerActivityCompleteFluxItem item, LearnerActivityCompleteFluxItem key) -> item.getLessonId() == key.getLessonId() && item.getUserId() == key.getUserId(), Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LoadToolActivityController.java =================================================================== diff -u -r63b60926aa4fcd1084fffc798f120c16962f9d59 -rf9f3f3fababd3ccbc84765f36d73be67c7655b46 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LoadToolActivityController.java (.../LoadToolActivityController.java) (revision 63b60926aa4fcd1084fffc798f120c16962f9d59) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LoadToolActivityController.java (.../LoadToolActivityController.java) (revision f9f3f3fababd3ccbc84765f36d73be67c7655b46) @@ -28,14 +28,17 @@ import org.apache.log4j.Logger; import org.hibernate.AssertionFailure; +import org.lamsfoundation.lams.flux.FluxRegistry; import org.lamsfoundation.lams.learning.service.ILearnerFullService; import org.lamsfoundation.lams.learning.web.form.ActivityForm; 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.dto.ActivityURL; import org.lamsfoundation.lams.lesson.LearnerProgress; +import org.lamsfoundation.lams.lesson.util.LearnerActivityCompleteFluxItem; import org.lamsfoundation.lams.tool.exception.RequiredGroupMissingException; +import org.lamsfoundation.lams.util.CommonConstants; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.util.AttributeNames; import org.springframework.beans.factory.annotation.Autowired; @@ -133,6 +136,11 @@ log.error("activity not ToolActivity"); return "error"; } + + // notify all event subscribers that a learner finished an activity + FluxRegistry.emit(CommonConstants.ACTIVITY_ENTERED_SINK_NAME, new LearnerActivityCompleteFluxItem( + learnerProgress.getLesson().getLessonId(), learnerProgress.getUser().getUserId(), activityId)); + return "loadToolActivity"; } } \ No newline at end of file Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java =================================================================== diff -u -rd202358115970ecfc252a9cdc1de83bd8c04f2ad -rf9f3f3fababd3ccbc84765f36d73be67c7655b46 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java (.../MonitoringController.java) (revision d202358115970ecfc252a9cdc1de83bd8c04f2ad) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringController.java (.../MonitoringController.java) (revision f9f3f3fababd3ccbc84765f36d73be67c7655b46) @@ -155,7 +155,7 @@ public MonitoringController() { // bind sinks so a learner finishing an activity also triggers an update in lesson progress - FluxRegistry.bindSink(CommonConstants.ACTIVITY_COMPLETED_SINK_NAME, CommonConstants.LESSON_PROGRESSED_SINK_NAME, + FluxRegistry.bindSink(CommonConstants.ACTIVITY_ENTERED_SINK_NAME, CommonConstants.LESSON_PROGRESSED_SINK_NAME, learnerProgressFluxItem -> ((LearnerActivityCompleteFluxItem) learnerProgressFluxItem).getLessonId()); // bind sinks so a learner entering a lesson also triggers an update in lesson progress FluxRegistry.bindSink(CommonConstants.LESSON_JOINED_SINK_NAME, CommonConstants.LESSON_PROGRESSED_SINK_NAME,