Index: lams_build/lib/lams/lams.jar
===================================================================
RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams.jar,v
diff -u -r1.333 -r1.334
Binary files differ
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml,v
diff -u -r1.21 -r1.22
--- lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml 1 Jul 2009 02:46:38 -0000 1.21
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml 4 Oct 2010 15:27:02 -0000 1.22
@@ -58,7 +58,7 @@
-
+
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java,v
diff -u -r1.90 -r1.91
--- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 17 Feb 2010 04:23:31 -0000 1.90
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 4 Oct 2010 15:27:03 -0000 1.91
@@ -78,6 +78,8 @@
import org.lamsfoundation.lams.learningdesign.service.ILearningDesignService;
import org.lamsfoundation.lams.lesson.Lesson;
import org.lamsfoundation.lams.lesson.service.ILessonService;
+import org.lamsfoundation.lams.logevent.LogEvent;
+import org.lamsfoundation.lams.logevent.service.ILogEventService;
import org.lamsfoundation.lams.monitoring.service.IMonitoringService;
import org.lamsfoundation.lams.monitoring.service.MonitoringServiceException;
import org.lamsfoundation.lams.planner.dao.PedagogicalPlannerDAO;
@@ -157,6 +159,8 @@
protected IWorkspaceManagementService workspaceManagementService;
+ protected ILogEventService logEventService;
+
protected ToolContentIDGenerator contentIDGenerator;
/** The bean factory is used to create ObjectExtractor objects */
@@ -332,6 +336,10 @@
this.workspaceManagementService = workspaceManagementService;
}
+ public void setLogEventService(ILogEventService logEventService) {
+ this.logEventService = logEventService;
+ }
+
/**
* @param contentIDGenerator
* The contentIDGenerator to set.
@@ -1846,6 +1854,8 @@
.getCopyTypeID(), customCSV);
}
+
+ logEventService.logEvent(LogEvent.TYPE_TEACHER_LEARNING_DESIGN_CREATE, userID, design.getLearningDesignId(), null, null);
return design.getLearningDesignId();
}
Index: lams_common/build.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_common/build.xml,v
diff -u -r1.71 -r1.72
--- lams_common/build.xml 1 Oct 2010 20:36:29 -0000 1.71
+++ lams_common/build.xml 4 Oct 2010 15:32:04 -0000 1.72
@@ -434,6 +434,8 @@
+
+
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/logevent/LogEvent.hbm.xml'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_common/db/sql/create_lams_11_tables.sql
===================================================================
RCS file: /usr/local/cvsroot/lams_common/db/sql/create_lams_11_tables.sql,v
diff -u -r1.152 -r1.153
--- lams_common/db/sql/create_lams_11_tables.sql 1 Oct 2010 20:36:29 -0000 1.152
+++ lams_common/db/sql/create_lams_11_tables.sql 4 Oct 2010 15:32:04 -0000 1.153
@@ -877,16 +877,26 @@
)TYPE=InnoDB;
CREATE TABLE lams_log_event (
- log_event_id BIGINT(20) NOT NULL AUTO_INCREMENT
+ id BIGINT(20) NOT NULL AUTO_INCREMENT
, log_event_type_id INT(5) NOT NULL
- , user_id BIGINT(20)
- , timestamp DATETIME NOT NULL
- , ref_id BIGINT(20)
- , message VARCHAR(255)
- , PRIMARY KEY (log_event_id)
- , INDEX (log_event_type_id)
+ , user_id BIGINT(20) NOT NULL
+ , occurred_date_time DATETIME NOT NULL
+ , learning_design_id BIGINT(20)
+ , lesson_id BIGINT(20)
+ , activity_id BIGINT(20)
+ , PRIMARY KEY (id)
+ , INDEX (occurred_date_time)
, CONSTRAINT FK_lams_event_log_1 FOREIGN KEY (log_event_type_id)
REFERENCES lams_log_event_type (log_event_type_id)
+ , INDEX (user_id)
+ , CONSTRAINT FK_lams_event_log_2 FOREIGN KEY (user_id)
+ REFERENCES lams_user (user_id)
+ , CONSTRAINT FK_lams_event_log_3 FOREIGN KEY (learning_design_id)
+ REFERENCES lams_learning_design (learning_design_id)
+ , CONSTRAINT FK_lams_event_log_4 FOREIGN KEY (lesson_id)
+ REFERENCES lams_lesson (lesson_id)
+ , CONSTRAINT FK_lams_event_log_5 FOREIGN KEY (activity_id)
+ REFERENCES lams_learning_activity (activity_id)
)TYPE=InnoDB;
CREATE TABLE lams_workspace_folder_content (
Index: lams_common/db/sql/insert_types_data.sql
===================================================================
RCS file: /usr/local/cvsroot/lams_common/db/sql/insert_types_data.sql,v
diff -u -r1.99 -r1.100
--- lams_common/db/sql/insert_types_data.sql 1 Oct 2010 20:36:29 -0000 1.99
+++ lams_common/db/sql/insert_types_data.sql 4 Oct 2010 15:32:04 -0000 1.100
@@ -130,12 +130,12 @@
INSERT INTO lams_grouping_support_type VALUES (2 ,'OPTIONAL');
INSERT INTO lams_grouping_support_type VALUES (3 ,'REQUIRED');
-INSERT INTO lams_log_event_type VALUES (1, 'LEARNER_LESSON_START');
-INSERT INTO lams_log_event_type VALUES (2, 'LEARNER_LESSON_FINISH');
-INSERT INTO lams_log_event_type VALUES (3, 'LEARNER_LESSON_EXIT');
-INSERT INTO lams_log_event_type VALUES (4, 'LEARNER_LESSON_RESUME');
-INSERT INTO lams_log_event_type VALUES (5, 'LEARNER_ACTIVITY_START');
-INSERT INTO lams_log_event_type VALUES (6, 'LEARNER_ACTIVITY_FINISH');
+INSERT INTO lams_log_event_type VALUES (1, 'TYPE_TEACHER_LEARNING_DESIGN_CREATE');
+INSERT INTO lams_log_event_type VALUES (2, 'TYPE_TEACHER_LESSON_CREATE');
+INSERT INTO lams_log_event_type VALUES (3, 'TYPE_TEACHER_LESSON_START');
+INSERT INTO lams_log_event_type VALUES (4, 'TYPE_TEACHER_LESSON_CHANGE_STATE');
+INSERT INTO lams_log_event_type VALUES (5, 'TYPE_LEARNER_ACTIVITY_START');
+INSERT INTO lams_log_event_type VALUES (6, 'TYPE_LEARNER_ACTIVITY_FINISH');
INSERT INTO lams_wkspc_fld_content_type VALUES (1,'FILE');
INSERT INTO lams_wkspc_fld_content_type VALUES (2,'PACKAGE');
Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/commonContext.xml,v
diff -u -r1.89 -r1.90
--- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml 1 Oct 2010 20:36:29 -0000 1.89
+++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml 4 Oct 2010 15:32:04 -0000 1.90
@@ -69,6 +69,8 @@
classpath:org/lamsfoundation/lams/events/Event.hbm.xml
classpath:org/lamsfoundation/lams/events/Subscription.hbm.xml
+
+ classpath:org/lamsfoundation/lams/logevent/LogEvent.hbm.xml
classpath:org/lamsfoundation/lams/config/ConfigurationItem.hbm.xml
classpath:org/lamsfoundation/lams/config/Registration.hbm.xml
@@ -499,6 +501,25 @@
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+
+
+
+
@@ -570,6 +591,11 @@
+
+
+
+
+
Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040006.sql
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040006.sql,v
diff -u -r1.3 -r1.4
--- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040006.sql 1 Oct 2010 20:36:29 -0000 1.3
+++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040006.sql 4 Oct 2010 15:32:04 -0000 1.4
@@ -85,5 +85,40 @@
UPDATE lams_user SET timezone='Etc/GMT-11' WHERE timezone='29';
UPDATE lams_user SET timezone='Pacific/Auckland' WHERE timezone='30';
+-- LDEV-2550
+
+DROP TABLE IF EXISTS lams_log_event;
+CREATE TABLE lams_log_event (
+ id BIGINT(20) NOT NULL AUTO_INCREMENT
+ , log_event_type_id INT(5) NOT NULL
+ , user_id BIGINT(20) NOT NULL
+ , occurred_date_time DATETIME NOT NULL
+ , learning_design_id BIGINT(20)
+ , lesson_id BIGINT(20)
+ , activity_id BIGINT(20)
+ , PRIMARY KEY (id)
+ , INDEX (occurred_date_time)
+ , CONSTRAINT FK_lams_event_log_1 FOREIGN KEY (log_event_type_id)
+ REFERENCES lams_log_event_type (log_event_type_id)
+ , INDEX (user_id)
+ , CONSTRAINT FK_lams_event_log_2 FOREIGN KEY (user_id)
+ REFERENCES lams_user (user_id)
+ , CONSTRAINT FK_lams_event_log_3 FOREIGN KEY (learning_design_id)
+ REFERENCES lams_learning_design (learning_design_id)
+ , CONSTRAINT FK_lams_event_log_4 FOREIGN KEY (lesson_id)
+ REFERENCES lams_lesson (lesson_id)
+ , CONSTRAINT FK_lams_event_log_5 FOREIGN KEY (activity_id)
+ REFERENCES lams_learning_activity (activity_id)
+)TYPE=InnoDB;
+
+DELETE FROM lams_log_event_type;
+INSERT INTO lams_log_event_type VALUES (1, 'TYPE_TEACHER_LEARNING_DESIGN_CREATE');
+INSERT INTO lams_log_event_type VALUES (2, 'TYPE_TEACHER_LESSON_CREATE');
+INSERT INTO lams_log_event_type VALUES (3, 'TYPE_TEACHER_LESSON_START');
+INSERT INTO lams_log_event_type VALUES (4, 'TYPE_TEACHER_LESSON_CHANGE_STATE');
+INSERT INTO lams_log_event_type VALUES (5, 'TYPE_LEARNER_ACTIVITY_START');
+INSERT INTO lams_log_event_type VALUES (6, 'TYPE_LEARNER_ACTIVITY_FINISH');
+
+
COMMIT;
SET AUTOCOMMIT = 1;
\ No newline at end of file
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/logevent/LogEvent.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/logevent/dao/ILogEventDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/logevent/dao/hibernate/LogEventDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/logevent/service/ILogEventService.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/logevent/service/LogEventService.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml,v
diff -u -r1.27 -r1.28
--- lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml 6 Jul 2009 07:25:49 -0000 1.27
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml 4 Oct 2010 15:29:01 -0000 1.28
@@ -38,6 +38,7 @@
+
@@ -91,6 +92,7 @@
+
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java
===================================================================
RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java,v
diff -u -r1.35 -r1.36
--- lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java 2 Jul 2009 08:19:33 -0000 1.35
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java 4 Oct 2010 15:29:02 -0000 1.36
@@ -39,6 +39,8 @@
import org.lamsfoundation.lams.lesson.LearnerProgress;
import org.lamsfoundation.lams.lesson.Lesson;
import org.lamsfoundation.lams.lesson.ParallelWaitActivity;
+import org.lamsfoundation.lams.logevent.LogEvent;
+import org.lamsfoundation.lams.logevent.service.ILogEventService;
import org.lamsfoundation.lams.usermanagement.User;
/**
@@ -53,6 +55,7 @@
protected Logger log = Logger.getLogger(ProgressEngine.class);
private IActivityDAO activityDAO;
+ private ILogEventService logEventService;
/**
* Method determines next step for a learner based on the activity they have
@@ -222,6 +225,10 @@
}
}
+ logEventService.logEvent(LogEvent.TYPE_LEARNER_ACTIVITY_START, progress.getUser().getUserId(), activity
+ .getLearningDesign().getLearningDesignId(), progress.getLesson().getLessonId(), activity
+ .getActivityId());
+
// update activity
activityDAO.insertOrUpdate(activity);
}
@@ -409,5 +416,9 @@
public void setActivityDAO(IActivityDAO activityDAO) {
this.activityDAO = activityDAO;
}
+
+ public void setLogEventService(ILogEventService logEventService) {
+ this.logEventService = logEventService;
+ }
}
\ No newline at end of file
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.100 -r1.101
--- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 13 Jan 2010 03:07:29 -0000 1.100
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 4 Oct 2010 15:29:01 -0000 1.101
@@ -69,6 +69,8 @@
import org.lamsfoundation.lams.lesson.dto.LessonDTO;
import org.lamsfoundation.lams.lesson.service.ILessonService;
import org.lamsfoundation.lams.lesson.service.LessonServiceException;
+import org.lamsfoundation.lams.logevent.LogEvent;
+import org.lamsfoundation.lams.logevent.service.ILogEventService;
import org.lamsfoundation.lams.tool.ToolOutput;
import org.lamsfoundation.lams.tool.ToolOutputValue;
import org.lamsfoundation.lams.tool.ToolSession;
@@ -106,6 +108,7 @@
private static HashMap syncMap = new HashMap();
protected MessageService messageService;
private IGradebookService gradebookService;
+ private ILogEventService logEventService;
// ---------------------------------------------------------------------
// Inversion of Control Methods - Constructor injection
@@ -207,6 +210,10 @@
public void setLessonService(ILessonService lessonService) {
this.lessonService = lessonService;
}
+
+ public void setLogEventService(ILogEventService logEventService) {
+ this.logEventService = logEventService;
+ }
// ---------------------------------------------------------------------
// Service Methods
@@ -598,6 +605,9 @@
}
}
// }
+ logEventService.logEvent(LogEvent.TYPE_LEARNER_ACTIVITY_FINISH, learnerId, activity.getLearningDesign()
+ .getLearningDesignId(), progress.getLesson().getLessonId(), activity.getActivityId());
+
return nextLearnerProgress;
}
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml,v
diff -u -r1.33 -r1.34
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml 10 Feb 2010 06:50:26 -0000 1.33
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml 4 Oct 2010 15:28:26 -0000 1.34
@@ -41,7 +41,8 @@
-
+
+
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java,v
diff -u -r1.154 -r1.155
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 1 Oct 2010 20:38:05 -0000 1.154
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 4 Oct 2010 15:28:26 -0000 1.155
@@ -78,6 +78,8 @@
import org.lamsfoundation.lams.lesson.dto.LessonDetailsDTO;
import org.lamsfoundation.lams.lesson.service.ILessonService;
import org.lamsfoundation.lams.lesson.service.LessonServiceException;
+import org.lamsfoundation.lams.logevent.LogEvent;
+import org.lamsfoundation.lams.logevent.service.ILogEventService;
import org.lamsfoundation.lams.monitoring.LearnerProgressBatchDTO;
import org.lamsfoundation.lams.monitoring.MonitoringConstants;
import org.lamsfoundation.lams.tool.ToolSession;
@@ -184,6 +186,8 @@
private MessageService messageService;
private AuditService auditService;
+
+ private ILogEventService logEventService;
/** Message keys */
private static final String FORCE_COMPLETE_STOP_MESSAGE_ACTIVITY_DONE = "force.complete.stop.message.activity.done";
@@ -342,6 +346,10 @@
public void setAuditService(AuditService auditService) {
this.auditService = auditService;
}
+
+ public void setLogEventService(ILogEventService logEventService) {
+ this.logEventService = logEventService;
+ }
// ---------------------------------------------------------------------
// Service Methods
@@ -422,9 +430,13 @@
}
User user = userID != null ? (User) baseDAO.find(User.class, userID) : null;
- return initializeLesson(lessonName, lessonDescription, learnerExportAvailable, originalLearningDesign, user,
+ Lesson initializedLesson = initializeLesson(lessonName, lessonDescription, learnerExportAvailable, originalLearningDesign, user,
runSeqFolder, LearningDesign.COPY_TYPE_LESSON, customCSV, learnerPresenceAvailable, learnerImAvailable, liveEditEnabled);
-
+
+ Long initializedLearningDesignId = initializedLesson.getLearningDesign().getLearningDesignId();
+ logEventService.logEvent(LogEvent.TYPE_TEACHER_LESSON_CREATE, userID, initializedLearningDesignId, initializedLesson.getLessonId(), null);
+
+ return initializedLesson;
}
/**
@@ -852,6 +864,7 @@
if (MonitoringService.log.isDebugEnabled()) {
MonitoringService.log.debug("=============Lesson " + lessonId + " started===============");
}
+ logEventService.logEvent(LogEvent.TYPE_TEACHER_LESSON_START, userId, null, lessonId, null);
}
/**
@@ -1052,6 +1065,8 @@
requestedLesson.setPreviousLessonStateId(requestedLesson.getLessonStateId());
requestedLesson.setLessonStateId(status);
lessonDAO.updateLesson(requestedLesson);
+ logEventService.logEvent(LogEvent.TYPE_TEACHER_LESSON_CHANGE_STATE, requestedLesson.getUser().getUserId(),
+ null, requestedLesson.getLessonId(), null);
}
/**
@@ -1090,6 +1105,9 @@
requestedLesson.setPreviousLessonStateId(currentStatus);
}
lessonDAO.updateLesson(requestedLesson);
+
+ logEventService.logEvent(LogEvent.TYPE_TEACHER_LESSON_CHANGE_STATE, requestedLesson.getUser().getUserId(),
+ null, requestedLesson.getLessonId(), null);
}
/**