Index: lams_tool_daco/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r843648563725cffa91af1dfd96dce9682d39b410 -rd5b13766f602aa85ed8be456dfab8defa9b2ecc6 --- lams_tool_daco/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 843648563725cffa91af1dfd96dce9682d39b410) +++ lams_tool_daco/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision d5b13766f602aa85ed8be456dfab8defa9b2ecc6) @@ -100,6 +100,7 @@ label.authoring.advanced.record=Limit number of records label.authoring.advanced.record.nolimit=No limit label.authoring.advanced.lock.on.finished =Lock when finished +label.authoring.advanced.notify.onlearnerentry=Notify monitoring teachers when a learner enters this activity label.authoring.online.instruction =Online Instructions label.authoring.online.file =Upload online file @@ -262,4 +263,7 @@ error.msg.default.content.not.find =Could not retrieve default content record for this tool. error.msg.repository =A repository error occurred while trying to upload the file. +event.learnerentry.subject=LAMS: A learner entered a data collection tool +event.learnerentry.body=The learner {0} entered a data collection tool.\n\nThis message was send automatically, following tool's advanced settings. + #======= End labels: Exported 159 labels for en AU ===== Index: lams_tool_daco/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u -r843648563725cffa91af1dfd96dce9682d39b410 -rd5b13766f602aa85ed8be456dfab8defa9b2ecc6 --- lams_tool_daco/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 843648563725cffa91af1dfd96dce9682d39b410) +++ lams_tool_daco/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision d5b13766f602aa85ed8be456dfab8defa9b2ecc6) @@ -100,6 +100,7 @@ label.authoring.advanced.record=Limit number of records label.authoring.advanced.record.nolimit=No limit label.authoring.advanced.lock.on.finished =Lock when finished +label.authoring.advanced.notify.onlearnerentry=Notify monitoring teachers when a learner enters this activity label.authoring.online.instruction =Online Instructions label.authoring.online.file =Upload online file @@ -262,4 +263,7 @@ error.msg.default.content.not.find =Could not retrieve default content record for this tool. error.msg.repository =A repository error occurred while trying to upload the file. +event.learnerentry.subject=LAMS: A learner entered a data collection tool +event.learnerentry.body=The learner {0} entered a data collection tool.\n\nThis message was send automatically, following tool's advanced settings. + #======= End labels: Exported 159 labels for en AU ===== Index: lams_tool_daco/db/model/daco.clay =================================================================== diff -u -r843648563725cffa91af1dfd96dce9682d39b410 -rd5b13766f602aa85ed8be456dfab8defa9b2ecc6 --- lams_tool_daco/db/model/daco.clay (.../daco.clay) (revision 843648563725cffa91af1dfd96dce9682d39b410) +++ lams_tool_daco/db/model/daco.clay (.../daco.clay) (revision d5b13766f602aa85ed8be456dfab8defa9b2ecc6) @@ -1,17 +1,17 @@ - - + + - + - +
- + @@ -24,7 +24,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -50,7 +50,7 @@ - + @@ -63,27 +63,27 @@ - + - + - + - + @@ -93,11 +93,11 @@
- +
- + @@ -110,7 +110,7 @@ - + @@ -123,34 +123,34 @@ - + + - - + - + - + @@ -162,15 +162,15 @@
- + - +
- + @@ -183,7 +183,7 @@ - + @@ -196,21 +196,21 @@ - + - + - + @@ -223,13 +223,13 @@ - + - + @@ -243,13 +243,13 @@ - + - + @@ -258,17 +258,17 @@ - +
- +
- + - + @@ -281,19 +281,19 @@ - + - + - + @@ -306,40 +306,40 @@ - + - + + - - + + - - + @@ -352,7 +352,7 @@ - + @@ -365,25 +365,25 @@ - + - + - + - + @@ -396,7 +396,7 @@ - + @@ -409,8 +409,21 @@ - + + + + + + + + + + + + + + @@ -423,13 +436,13 @@ - + - + @@ -438,21 +451,21 @@ - + - +
- +
- + @@ -465,20 +478,20 @@ - + - + - + @@ -491,13 +504,13 @@ - + - + @@ -510,20 +523,20 @@ - + + - - + @@ -540,7 +553,7 @@ - + @@ -557,20 +570,20 @@ - + + - - + @@ -583,7 +596,7 @@ - + @@ -597,27 +610,27 @@ - + - + - + - + @@ -626,25 +639,25 @@ - + - + - +
- +
- + @@ -657,19 +670,19 @@ - + - + - + @@ -682,7 +695,7 @@ - + @@ -695,7 +708,7 @@ - + @@ -708,21 +721,21 @@ - + - + - + @@ -731,17 +744,17 @@ - +
- +
- + @@ -754,7 +767,7 @@ - + @@ -767,28 +780,28 @@ - + - + - + - + @@ -801,7 +814,7 @@ - + @@ -814,7 +827,7 @@ - + @@ -828,27 +841,27 @@ - + - + - + - + @@ -857,7 +870,7 @@ - + Index: lams_tool_daco/db/sql/create_lams_tool_daco.sql =================================================================== diff -u -r843648563725cffa91af1dfd96dce9682d39b410 -rd5b13766f602aa85ed8be456dfab8defa9b2ecc6 --- lams_tool_daco/db/sql/create_lams_tool_daco.sql (.../create_lams_tool_daco.sql) (revision 843648563725cffa91af1dfd96dce9682d39b410) +++ lams_tool_daco/db/sql/create_lams_tool_daco.sql (.../create_lams_tool_daco.sql) (revision d5b13766f602aa85ed8be456dfab8defa9b2ecc6) @@ -25,7 +25,8 @@ define_later tinyint DEFAULT 0, content_id bigint UNIQUE, reflect_instructions varchar(255), - reflect_on_activity smallint, + reflect_on_activity tinyint, + learner_entry_notify tinyint DEFAULT 0, PRIMARY KEY (uid) )TYPE=innodb; Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java =================================================================== diff -u -r3bdebf472590492a1e54e2495e1b566449e5ea4a -rd5b13766f602aa85ed8be456dfab8defa9b2ecc6 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java (.../DacoConstants.java) (revision 3bdebf472590492a1e54e2495e1b566449e5ea4a) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java (.../DacoConstants.java) (revision d5b13766f602aa85ed8be456dfab8defa9b2ecc6) @@ -29,21 +29,34 @@ public class DacoConstants { // system-wide constants public static final String TOOL_SIGNATURE = "ladaco10"; + public static final String DACO_SERVICE = "dacoService"; + public static final String TOOL_CONTENT_HANDLER_NAME = "dacoToolContentHandler"; + public static final int SESSION_COMPLETED = 1; // question types public static final String QUESTION_TYPE = "questionType"; + public static final short QUESTION_TYPE_TEXTFIELD = 1; + public static final short QUESTION_TYPE_TEXTAREA = 2; + public static final short QUESTION_TYPE_NUMBER = 3; + public static final short QUESTION_TYPE_DATE = 4; + public static final short QUESTION_TYPE_FILE = 5; + public static final short QUESTION_TYPE_IMAGE = 6; + public static final short QUESTION_TYPE_RADIO = 7; + public static final short QUESTION_TYPE_DROPDOWN = 8; + public static final short QUESTION_TYPE_CHECKBOX = 9; + public static final short QUESTION_TYPE_LONGLAT = 10; // longitude/latitude maps @@ -54,129 +67,226 @@ // answer options' constants public static final int INIT_ANSWER_OPTION_COUNT = 3; + public static final int ANSWER_OPTION_MINIMUM_COUNT = 2; + public static final String ANSWER_OPTION_DESC_PREFIX = "answerOptionItemDesc"; + public static final String ANSWER_OPTION_COUNT = "answerOptionCount"; // image question valid extensions public static final String[] IMAGE_EXTENSIONS = new String[] { "GIF", "JPG", "PNG" }; // action forward names public static final String SUCCESS = "success"; + public static final String ERROR = "error"; + public static final String DEFINE_LATER = "definelater"; + public static final String RUN_OFFLINE = "runOffline"; // record operations public static final String RECORD_OPERATION_ADD = "add"; + public static final String RECORD_OPERATION_EDIT = "edit"; // question summary columns public static final short QUESTION_DB_NUMBER_SUMMARY_QUESTION_UID = 0; + public static final short QUESTION_DB_NUMBER_SUMMARY_SUM = 1; + public static final short QUESTION_DB_NUMBER_SUMMARY_AVERAGE = 2; + public static final short QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_QUESTION_UID = 0; + public static final short QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_ANSWER = 1; + public static final short QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_QUESTION_TYPE = 2; + public static final short QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_COUNT = 3; // learning views public static final String LEARNING_VIEW_HORIZONTAL = "horizontal"; + public static final String LEARNING_VIEW_VERTICAL = "vertical"; //monitoring summary query match public static final Long MONITORING_SUMMARY_MATCH_ALL = null; + public static final Long MONITORING_SUMMARY_MATCH_NONE = -1L; public static final String USER_UID = "userUid"; + public static final String USER_ID = "userId"; + public static final String USER_FULL_NAME = "userFullName"; + // for parameters' name public static final String PARAM_FILE_VERSION_ID = "fileVersionId"; + public static final String PARAM_FILE_UUID = "fileUuid"; + public static final String PARAM_QUESTION_INDEX = "questionIndex"; + public static final String PARAM_RECORD_INDEX = "recordIndex"; + public static final String PARAM_QUESTION_UID = "questionUid"; + public static final String PARAM_RUN_OFFLINE = "runOffline"; + public static final String PARAM_LONGLAT_MAPS_SELECTED = "longlatMapsSelected"; + public static final String PARAM_ANSWER_OPTION_INDEX = "removeIndex"; // for request attribute name public static final String ATTR_USER = "user"; + public static final String ATTR_MONITORING_SUMMARY = "monitoringSummary"; + public static final String ATTR_MONITORING_CURRENT_TAB = "monitoringCurrentTab"; + public static final String ATTR_LEARNING_CURRENT_TAB = "learningCurrentTab"; + public static final String ATTR_QUESTION_LIST = "questionList"; + public static final String ATTR_RECORD_LIST = "recordList"; + public static final String ATTR_ATTACHMENT_LIST = "instructionAttachmentList"; + public static final String ATTR_DELETED_QUESTION_LIST = "deleteDacoList"; + public static final String ATTR_DELETED_ATTACHMENT_LIST = "deletedAttachmmentList"; + public static final String ATTR_DELETED_QUESTION_ATTACHMENT_LIST = "deletedQuestionAttachmmentList"; + public static final String ATTR_QUESTION_REVIEW_URL = "dacoQuestionReviewUrl"; + public static final String ATTR_DACO = "daco"; + public static final String ATTR_NEXT_ACTIVITY_URL = "nextActivityUrl"; + public static final String ATTR_USER_LIST = "userList"; + public static final String ATTR_FINISH_LOCK = "finishedLock"; + public static final String ATTR_SESSION_MAP_ID = "sessionMapID"; + public static final String ATTR_DACO_FORM = "dacoForm"; + public static final String ATTR_FILE_TYPE_FLAG = "fileTypeFlag"; + public static final String ATTR_USER_FINISHED = "userFinished"; + public static final String ATTR_ANSWER_OPTION_LIST = "answerOptionList"; + public static final String ATTR_REFLECTION_ENTRY = "reflectEntry"; + public static final String ATTR_RECORD_OPERATION_SUCCESS = "recordOperationSuccess"; + public static final String ATTR_DISPLAYED_RECORD_NUMBER = "displayedRecordNumber"; + public static final String ATTR_LEARNING_VIEW = "learningView"; + public static final String ATTR_QUESTION_SUMMARIES = "questionSummaries"; + public static final String ATTR_TOTAL_RECORD_COUNT = "totalRecordCount"; + // error message keys public static final String ERROR_MSG_DESC_BLANK = "error.question.desc.blank"; + public static final String ERROR_MSG_FILE_BLANK = "error.question.file.blank"; + public static final String ERROR_MSG_UPLOAD_FAILED = "error.upload.failed"; + public static final String ERROR_MSG_MAX_BLANK = "error.question.max.blank"; + public static final String ERROR_MSG_MAX_NUMBER_INT = "error.question.max.number.int"; + public static final String ERROR_MSG_MAX_NUMBER_FLOAT = "error.question.max.number.float"; + public static final String ERROR_MSG_MAX_NEGATIVE = "error.question.max.negative"; + public static final String ERROR_MSG_MAX_TOOHIGH = "error.question.max.toohigh"; + public static final String ERROR_MSG_MAX_TOOHIGH_ANSWEROPTION = "error.question.max.toohigh.answeroption"; + public static final String ERROR_MSG_MAX_TOOLOW = "error.question.max.toolow"; + public static final String ERROR_MSG_MIN_BLANK = "error.question.min.blank"; + public static final String ERROR_MSG_MIN_NUMBER_INT = "error.question.min.number.int"; + public static final String ERROR_MSG_MIN_NUMBER_FLOAT = "error.question.min.number.float"; + public static final String ERROR_MSG_MIN_NEGATIVE = "error.question.min.negative"; + public static final String ERROR_MSG_MIN_TOOHIGH = "error.question.min.toohigh"; + public static final String ERROR_MSG_MIN_TOOHIGH_ANSWEROPTION = "error.question.min.toohigh.answeroption"; + public static final String ERROR_MSG_MIN_TOOLOW = "error.question.min.toolow"; + public static final String ERROR_MSG_MIN_TOOHIGH_MAX = "error.question.min.toohigh.max"; + public static final String ERROR_MSG_ANSWEROPTION_REPEAT = "error.question.answeroption.repeat"; + public static final String ERROR_MSG_ANSWEROPTION_NOTENOUGH = "error.question.answeroption.notenough"; + public static final String ERROR_MSG_DIGITSDECIMAL_INT = "error.question.digitsdecimal.int"; + public static final String ERROR_MSG_DIGITSDECIMAL_NONNEGATIVE = "error.question.digitsdecimal.nonnegative"; + public static final String ERROR_MSG_RECORDLIMIT_MIN_TOOHIGH_MAX = "error.recordlimit.min.toohigh.max"; public static final String ERROR_MSG_RECORD_BLANK = "error.record.blank"; + public static final String ERROR_MSG_RECORD_TEXTAREA_LONG = "error.record.textarea.long"; + public static final String ERROR_MSG_RECORD_NUMBER_MIN = "error.record.number.min"; + public static final String ERROR_MSG_RECORD_NUMBER_MAX = "error.record.number.max"; + public static final String ERROR_MSG_RECORD_NUMBER_FLOAT = "error.record.number.float"; + public static final String ERROR_MSG_RECORD_DATE_DAY_BLANK = "error.record.date.day.blank"; + public static final String ERROR_MSG_RECORD_DATE_DAY_INT = "error.record.date.day.int"; + public static final String ERROR_MSG_RECORD_DATE_DAY_LIMIT = "error.record.date.day.limit"; + public static final String ERROR_MSG_RECORD_DATE_MONTH_BLANK = "error.record.date.month.blank"; + public static final String ERROR_MSG_RECORD_DATE_MONTH_INT = "error.record.date.month.int"; + public static final String ERROR_MSG_RECORD_DATE_MONTH_LIMIT = "error.record.date.month.limit"; + public static final String ERROR_MSG_RECORD_DATE_YEAR_BLANK = "error.record.date.year.blank"; + public static final String ERROR_MSG_RECORD_DATE_YEAR_INT = "error.record.date.year.int"; + public static final String ERROR_MSG_RECORD_IMAGE_FORMAT = "error.record.image.format"; + public static final String ERROR_MSG_RECORD_CHECKBOX_MIN = "error.record.checkbox.min"; + public static final String ERROR_MSG_RECORD_CHECKBOX_MAX = "error.record.checkbox.max"; + public static final String ERROR_MSG_RECORD_LONGITUDE_BLANK = "error.record.longlat.longitude.blank"; + public static final String ERROR_MSG_RECORD_LONGITUDE_FLOAT = "error.record.longlat.longitude.float"; + public static final String ERROR_MSG_RECORD_LATITUDE_BLANK = "error.record.longlat.latitude.blank"; + public static final String ERROR_MSG_RECORD_LATITUDE_FLOAT = "error.record.longlat.latitude.float"; + public static final String ERROR_MSG_RECORD_NOTENOUGH = "error.record.notenough"; + public static final String ERROR_MSG_RECORD_TOOMUCH = "error.record.toomuch"; public static final String PAGE_EDITABLE = "isPageEditable"; + // events + public static final String EVENT_NAME_NOTIFY_TEACHERS_ON_LEARNER_ENTRY = "notify_teachers_on_learner_entry"; + } \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dacoApplicationContext.xml =================================================================== diff -u -r843648563725cffa91af1dfd96dce9682d39b410 -rd5b13766f602aa85ed8be456dfab8defa9b2ecc6 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dacoApplicationContext.xml (.../dacoApplicationContext.xml) (revision 843648563725cffa91af1dfd96dce9682d39b410) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dacoApplicationContext.xml (.../dacoApplicationContext.xml) (revision d5b13766f602aa85ed8be456dfab8defa9b2ecc6) @@ -106,7 +106,10 @@ - + + + + Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/Daco.hbm.xml =================================================================== diff -u -r843648563725cffa91af1dfd96dce9682d39b410 -rd5b13766f602aa85ed8be456dfab8defa9b2ecc6 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/Daco.hbm.xml (.../Daco.hbm.xml) (revision 843648563725cffa91af1dfd96dce9682d39b410) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/Daco.hbm.xml (.../Daco.hbm.xml) (revision d5b13766f602aa85ed8be456dfab8defa9b2ecc6) @@ -196,6 +196,14 @@ column="max_records" /> + +