Index: lams_build/lib/lams/lams.jar
===================================================================
diff -u -r5bcac6182758458fcd994b9bda8c6620a9493265 -rbfc093eb87907e66a284fd1c30cf0f212122f706
Binary files differ
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/gradebook/GradebookUserActivityArchive.hbm.xml
===================================================================
diff -u -r8daec7e047f7ea8404c6f16218b63a8e855a15b2 -rbfc093eb87907e66a284fd1c30cf0f212122f706
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/gradebook/GradebookUserActivityArchive.hbm.xml (.../GradebookUserActivityArchive.hbm.xml) (revision 8daec7e047f7ea8404c6f16218b63a8e855a15b2)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/gradebook/GradebookUserActivityArchive.hbm.xml (.../GradebookUserActivityArchive.hbm.xml) (revision bfc093eb87907e66a284fd1c30cf0f212122f706)
@@ -77,5 +77,13 @@
insert="true"
column="update_date"
/>
+
+
\ No newline at end of file
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/gradebook/GradebookUserLessonArchive.hbm.xml
===================================================================
diff -u -r8daec7e047f7ea8404c6f16218b63a8e855a15b2 -rbfc093eb87907e66a284fd1c30cf0f212122f706
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/gradebook/GradebookUserLessonArchive.hbm.xml (.../GradebookUserLessonArchive.hbm.xml) (revision 8daec7e047f7ea8404c6f16218b63a8e855a15b2)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/gradebook/GradebookUserLessonArchive.hbm.xml (.../GradebookUserLessonArchive.hbm.xml) (revision bfc093eb87907e66a284fd1c30cf0f212122f706)
@@ -60,5 +60,13 @@
column="feedback"
length="65535"
/>
+
+
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20180628.sql
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20180628.sql (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20180628.sql (revision bfc093eb87907e66a284fd1c30cf0f212122f706)
@@ -0,0 +1,18 @@
+-- Turn off autocommit, so nothing is committed if there is an error
+SET AUTOCOMMIT = 0;
+SET FOREIGN_KEY_CHECKS=0;
+----------------------Put all sql statements below here-------------------------
+
+-- LDEV-4609 Bind archived activity marks in batches
+DELETE FROM lams_gradebook_user_activity_archive;
+DELETE FROM lams_gradebook_user_lesson_archive;
+
+ALTER TABLE lams_gradebook_user_lesson_archive ADD COLUMN archive_date DATETIME;
+ALTER TABLE lams_gradebook_user_activity_archive ADD COLUMN archive_date DATETIME;
+
+----------------------Put all sql statements above here-------------------------
+
+-- If there were no errors, commit and restore autocommit to on
+COMMIT;
+SET AUTOCOMMIT = 1;
+SET FOREIGN_KEY_CHECKS=1;
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserActivityArchive.java
===================================================================
diff -u -r8daec7e047f7ea8404c6f16218b63a8e855a15b2 -rbfc093eb87907e66a284fd1c30cf0f212122f706
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserActivityArchive.java (.../GradebookUserActivityArchive.java) (revision 8daec7e047f7ea8404c6f16218b63a8e855a15b2)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserActivityArchive.java (.../GradebookUserActivityArchive.java) (revision bfc093eb87907e66a284fd1c30cf0f212122f706)
@@ -28,26 +28,27 @@
import org.lamsfoundation.lams.usermanagement.User;
public class GradebookUserActivityArchive {
-
private long uid;
private ToolActivity activity;
private User learner;
private Double mark;
private String feedback;
private Boolean markedInGradebook;
private Date updateDate;
+ private Date archiveDate;
public GradebookUserActivityArchive() {
}
- public GradebookUserActivityArchive(GradebookUserActivity source) {
+ public GradebookUserActivityArchive(GradebookUserActivity source, Date archiveDate) {
this.uid = source.getUid();
this.activity = source.getActivity();
this.learner = source.getLearner();
this.mark = source.getMark();
this.feedback = source.getFeedback();
this.markedInGradebook = source.getMarkedInGradebook();
this.updateDate = source.getUpdateDate();
+ this.archiveDate = archiveDate;
}
public long getUid() {
@@ -105,4 +106,12 @@
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
+
+ public Date getArchiveDate() {
+ return archiveDate;
+ }
+
+ public void setArchiveDate(Date archiveDate) {
+ this.archiveDate = archiveDate;
+ }
}
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserLessonArchive.java
===================================================================
diff -u -r8daec7e047f7ea8404c6f16218b63a8e855a15b2 -rbfc093eb87907e66a284fd1c30cf0f212122f706
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserLessonArchive.java (.../GradebookUserLessonArchive.java) (revision 8daec7e047f7ea8404c6f16218b63a8e855a15b2)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserLessonArchive.java (.../GradebookUserLessonArchive.java) (revision bfc093eb87907e66a284fd1c30cf0f212122f706)
@@ -22,6 +22,8 @@
package org.lamsfoundation.lams.gradebook;
+import java.util.Date;
+
import org.lamsfoundation.lams.lesson.Lesson;
import org.lamsfoundation.lams.usermanagement.User;
@@ -31,16 +33,18 @@
private User learner;
private Double mark;
private String feedback;
+ private Date archiveDate;
public GradebookUserLessonArchive() {
}
- public GradebookUserLessonArchive(GradebookUserLesson source) {
+ public GradebookUserLessonArchive(GradebookUserLesson source, Date archiveDate) {
this.uid = source.getUid();
this.lesson = source.getLesson();
this.learner = source.getLearner();
this.mark = source.getMark();
this.feedback = source.getFeedback();
+ this.archiveDate = archiveDate;
}
public long getUid() {
@@ -82,4 +86,12 @@
public void setFeedback(String feedback) {
this.feedback = feedback;
}
+
+ public Date getArchiveDate() {
+ return archiveDate;
+ }
+
+ public void setArchiveDate(Date archiveDate) {
+ this.archiveDate = archiveDate;
+ }
}
\ No newline at end of file
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java
===================================================================
diff -u -r2485ce33e55a921bdcde94e4f242da5da3cf1fc4 -rbfc093eb87907e66a284fd1c30cf0f212122f706
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 2485ce33e55a921bdcde94e4f242da5da3cf1fc4)
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision bfc093eb87907e66a284fd1c30cf0f212122f706)
@@ -1800,21 +1800,22 @@
@Override
public void archiveLearnerMarks(Long lessonId, Integer learnerId) {
+ Date archiveDate = new Date();
if (logger.isDebugEnabled()) {
- logger.debug(
- "Archiving activity and lesson entries for learner ID " + learnerId + " and lesson ID " + lessonId);
+ logger.debug("Archiving activity and lesson entries for learner ID " + learnerId + " and lesson ID "
+ + lessonId + " with archive date " + archiveDate);
}
Lesson lesson = getLessonService().getLesson(lessonId);
List activities = getLessonActivitiesForLearner(lesson, learnerId);
for (ToolActivity activity : activities) {
GradebookUserActivity gradebookUserActivity = getGradebookUserActivity(activity.getActivityId(), learnerId);
if (gradebookUserActivity != null) {
- gradebookDAO.insert(new GradebookUserActivityArchive(gradebookUserActivity));
+ gradebookDAO.insert(new GradebookUserActivityArchive(gradebookUserActivity, archiveDate));
}
}
GradebookUserLesson gradebookUserLesson = getGradebookUserLesson(lesson.getLessonId(), learnerId);
if (gradebookUserLesson != null) {
- gradebookDAO.insert(new GradebookUserLessonArchive(gradebookUserLesson));
+ gradebookDAO.insert(new GradebookUserLessonArchive(gradebookUserLesson, archiveDate));
}
}