Index: lams_build/common.properties =================================================================== diff -u -r3f26e63720851bdf7d37c22ae2655ffae3154e46 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_build/common.properties (.../common.properties) (revision 3f26e63720851bdf7d37c22ae2655ffae3154e46) +++ lams_build/common.properties (.../common.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -18,7 +18,7 @@ # http://www.gnu.org/licenses/gpl.txt # put into EAR MANIFEST.MF file -project.version=4.0 +project.version=4.6 # is HTTPS in use? if so, set it to true, so JSESSIONID cookie is secured secure.cookie=false Index: lams_common/build.xml =================================================================== diff -u -r92252270b8c634b6703f62b79d40d7cf6291da4f -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_common/build.xml (.../build.xml) (revision 92252270b8c634b6703f62b79d40d7cf6291da4f) +++ lams_common/build.xml (.../build.xml) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -38,8 +38,8 @@ - + Index: lams_common/db/sql/create_lams_11_tables.sql =================================================================== diff -u -r843bfb2a245193732040b8852349a5f5c4657893 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 843bfb2a245193732040b8852349a5f5c4657893) +++ lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,51 +1,41 @@ +-- dumped with +-- mysqldump --default-character-set=utf8mb4 --single-transaction --hex-blob --routines --triggers --add-drop-table --add-drop-trigger --skip-quote-names --skip-set-charset --skip-add-locks --skip-comments + SET FOREIGN_KEY_CHECKS=0; -DROP TABLE IF EXISTS lams_activity_category; - - -CREATE TABLE lams_activity_category ( - activity_category_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - PRIMARY KEY (activity_category_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - DROP TABLE IF EXISTS lams_activity_evaluation; - CREATE TABLE lams_activity_evaluation ( activity_id bigint NOT NULL, - tool_output_definition varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + tool_output_definition varchar(255) NOT NULL, weight tinyint DEFAULT NULL, PRIMARY KEY (activity_id), KEY activity_id (activity_id), CONSTRAINT FK_lams_activity_evaluation_1 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_auth_method_type; - CREATE TABLE lams_auth_method_type ( authentication_method_type_id int NOT NULL, - `description` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(64) NOT NULL, PRIMARY KEY (authentication_method_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_authentication_method; - CREATE TABLE lams_authentication_method ( authentication_method_id bigint NOT NULL, authentication_method_type_id int NOT NULL DEFAULT '0', - authentication_method_name varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + authentication_method_name varchar(191) NOT NULL, PRIMARY KEY (authentication_method_id), UNIQUE KEY UQ_lams_authentication_method_1 (authentication_method_name), KEY authentication_method_type_id (authentication_method_type_id), CONSTRAINT FK_lams_authorization_method_1 FOREIGN KEY (authentication_method_type_id) REFERENCES lams_auth_method_type (authentication_method_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_branch_activity_entry; - CREATE TABLE lams_branch_activity_entry ( entry_id bigint NOT NULL AUTO_INCREMENT, entry_ui_id int DEFAULT NULL, @@ -63,31 +53,29 @@ CONSTRAINT FK_lams_branch_map_branch FOREIGN KEY (branch_activity_id) REFERENCES lams_learning_activity (activity_id), CONSTRAINT FK_lams_branch_map_sequence FOREIGN KEY (sequence_activity_id) REFERENCES lams_learning_activity (activity_id), CONSTRAINT FK_lams_group_activity_1 FOREIGN KEY (group_id) REFERENCES lams_group (group_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_branch_condition; - CREATE TABLE lams_branch_condition ( condition_id bigint NOT NULL AUTO_INCREMENT, condition_ui_id int DEFAULT NULL, order_id int DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - display_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - start_value varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - end_value varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - exact_match_value varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(255) NOT NULL, + display_name varchar(255) DEFAULT NULL, + `type` varchar(30) NOT NULL, + start_value varchar(255) DEFAULT NULL, + end_value varchar(255) DEFAULT NULL, + exact_match_value varchar(255) DEFAULT NULL, PRIMARY KEY (condition_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_comment; - CREATE TABLE lams_comment ( uid bigint NOT NULL AUTO_INCREMENT, session_id bigint NOT NULL, - body mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + body mediumtext, create_by bigint DEFAULT NULL, create_date datetime DEFAULT NULL, update_date datetime DEFAULT NULL, @@ -117,11 +105,10 @@ CONSTRAINT FK_comment_root FOREIGN KEY (root_comment_uid) REFERENCES lams_comment (uid), CONSTRAINT FK_comment_session FOREIGN KEY (session_id) REFERENCES lams_comment_session (uid), CONSTRAINT FK_comment_thread FOREIGN KEY (thread_comment_uid) REFERENCES lams_comment (uid) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_comment_likes; - CREATE TABLE lams_comment_likes ( uid bigint NOT NULL AUTO_INCREMENT, comment_uid bigint NOT NULL, @@ -133,38 +120,35 @@ KEY FK_commentlike_user (user_id), CONSTRAINT FK_commentlike_comment FOREIGN KEY (comment_uid) REFERENCES lams_comment (uid), CONSTRAINT FK_commentlike_user FOREIGN KEY (user_id) REFERENCES lams_user (user_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_comment_session; - CREATE TABLE lams_comment_session ( uid bigint NOT NULL AUTO_INCREMENT, external_id bigint DEFAULT NULL, external_id_type int DEFAULT NULL, - external_signature varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + external_signature varchar(40) DEFAULT NULL, external_secondary_id bigint DEFAULT NULL, PRIMARY KEY (uid), KEY comment_ext_sig (external_id,external_signature) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_competence; - CREATE TABLE lams_competence ( competence_id bigint NOT NULL AUTO_INCREMENT, learning_design_id bigint DEFAULT NULL, - `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - title varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description` mediumtext, + title varchar(191) DEFAULT NULL, PRIMARY KEY (competence_id), UNIQUE KEY competence_id (competence_id), UNIQUE KEY learning_design_id (learning_design_id,title), CONSTRAINT LearningDesignCompetenceMap FOREIGN KEY (learning_design_id) REFERENCES lams_learning_design (learning_design_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_competence_mapping; - CREATE TABLE lams_competence_mapping ( competence_mapping_id bigint NOT NULL AUTO_INCREMENT, competence_id bigint DEFAULT NULL, @@ -175,59 +159,56 @@ KEY activity_id (activity_id), CONSTRAINT FK_lams_competence_mapping_1 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_competence_mapping_2 FOREIGN KEY (competence_id) REFERENCES lams_competence (competence_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_configuration; - CREATE TABLE lams_configuration ( - config_key varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - config_value varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - description_key varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - header_name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `format` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + config_key varchar(30) NOT NULL, + config_value varchar(255) DEFAULT NULL, + description_key varchar(255) DEFAULT NULL, + header_name varchar(50) DEFAULT NULL, + `format` varchar(30) DEFAULT NULL, required tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (config_key) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_copy_type; - CREATE TABLE lams_copy_type ( copy_type_id tinyint NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (copy_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_cr_credential; - CREATE TABLE lams_cr_credential ( credential_id bigint unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, PRIMARY KEY (credential_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_cr_node; - CREATE TABLE lams_cr_node ( node_id bigint unsigned NOT NULL AUTO_INCREMENT, + portrait_uuid binary(16) DEFAULT NULL, workspace_id bigint unsigned NOT NULL, - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `path` varchar(255) DEFAULT NULL, + `type` varchar(255) NOT NULL, created_date_time datetime NOT NULL, next_version_id bigint unsigned NOT NULL DEFAULT '1', parent_nv_id bigint unsigned DEFAULT NULL, PRIMARY KEY (node_id), + UNIQUE KEY IDX_portrait_uuid (portrait_uuid), KEY workspace_id (workspace_id), CONSTRAINT FK_lams_cr_node_1 FOREIGN KEY (workspace_id) REFERENCES lams_cr_workspace (workspace_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_cr_node_version; - CREATE TABLE lams_cr_node_version ( nv_id bigint unsigned NOT NULL AUTO_INCREMENT, node_id bigint unsigned NOT NULL, @@ -237,34 +218,31 @@ PRIMARY KEY (nv_id), KEY node_id (node_id), CONSTRAINT FK_lams_cr_node_version_2 FOREIGN KEY (node_id) REFERENCES lams_cr_node (node_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_cr_node_version_property; - CREATE TABLE lams_cr_node_version_property ( id bigint unsigned NOT NULL AUTO_INCREMENT, nv_id bigint unsigned NOT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(255) NOT NULL, + `value` varchar(255) NOT NULL, `type` tinyint NOT NULL, PRIMARY KEY (id), KEY nv_id (nv_id), CONSTRAINT FK_lams_cr_node_version_property_1 FOREIGN KEY (nv_id) REFERENCES lams_cr_node_version (nv_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_cr_workspace; - CREATE TABLE lams_cr_workspace ( workspace_id bigint unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(255) NOT NULL, PRIMARY KEY (workspace_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_cr_workspace_credential; - CREATE TABLE lams_cr_workspace_credential ( wc_id bigint unsigned NOT NULL AUTO_INCREMENT, workspace_id bigint unsigned NOT NULL, @@ -274,120 +252,132 @@ KEY credential_id (credential_id), CONSTRAINT FK_lams_cr_workspace_credential_1 FOREIGN KEY (workspace_id) REFERENCES lams_cr_workspace (workspace_id), CONSTRAINT FK_lams_cr_workspace_credential_2 FOREIGN KEY (credential_id) REFERENCES lams_cr_credential (credential_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_data_flow; - CREATE TABLE lams_data_flow ( data_flow_object_id bigint NOT NULL AUTO_INCREMENT, transition_id bigint NOT NULL, order_id int DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - display_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(255) NOT NULL, + display_name varchar(255) DEFAULT NULL, tool_assigment_id int DEFAULT NULL, PRIMARY KEY (data_flow_object_id), KEY FK_lams_learning_transition_1 (transition_id), CONSTRAINT FK_lams_learning_transition_1 FOREIGN KEY (transition_id) REFERENCES lams_learning_transition (transition_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); -DROP TABLE IF EXISTS lams_email_notification_archive; +DROP TABLE IF EXISTS lams_discussion_sentiment; +CREATE TABLE lams_discussion_sentiment ( + uid bigint NOT NULL AUTO_INCREMENT, + lesson_id bigint NOT NULL, + tool_question_uid bigint NOT NULL, + burning_question_uid bigint DEFAULT NULL, + user_id bigint DEFAULT NULL, + selected_option tinyint unsigned DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY UQ_lams_discussion_sentiment_2 (lesson_id,tool_question_uid,burning_question_uid,user_id), + KEY IDX_lams_discussion_sentiment_1 (burning_question_uid), + KEY FK_lams_discussion_sentiment_2 (tool_question_uid), + KEY FK_lams_discussion_sentiment_3 (user_id), + CONSTRAINT FK_lams_discussion_sentiment_1 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_discussion_sentiment_2 FOREIGN KEY (tool_question_uid) REFERENCES lams_qb_tool_question (tool_question_uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_discussion_sentiment_3 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE +); +DROP TABLE IF EXISTS lams_email_notification_archive; + CREATE TABLE lams_email_notification_archive ( uid bigint NOT NULL AUTO_INCREMENT, organisation_id bigint DEFAULT NULL, lesson_id bigint DEFAULT NULL, search_type tinyint NOT NULL, sent_on datetime NOT NULL, - body mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + body mediumtext, PRIMARY KEY (uid), KEY FK_lams_email_notification_archive_1 (organisation_id), KEY FK_lams_email_notification_archive_2 (lesson_id), CONSTRAINT FK_lams_email_notification_archive_1 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_email_notification_archive_2 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_email_notification_recipient_archive; - CREATE TABLE lams_email_notification_recipient_archive ( email_notification_uid bigint NOT NULL, user_id bigint NOT NULL, KEY FK_lams_email_notification_recipient_archive_1 (email_notification_uid), KEY FK_lams_email_notification_recipient_archive_2 (user_id), CONSTRAINT FK_lams_email_notification_recipient_archive_1 FOREIGN KEY (email_notification_uid) REFERENCES lams_email_notification_archive (uid) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_email_notification_recipient_archive_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_ext_course_class_map; - CREATE TABLE lams_ext_course_class_map ( sid int NOT NULL AUTO_INCREMENT, - courseid varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + courseid varchar(255) NOT NULL, classid bigint NOT NULL, ext_server_org_map_id int NOT NULL, PRIMARY KEY (sid), KEY classid (classid), KEY ext_server_org_map_id (ext_server_org_map_id), CONSTRAINT lams_ext_course_class_map_fk FOREIGN KEY (classid) REFERENCES lams_organisation (organisation_id), CONSTRAINT lams_ext_course_class_map_fk1 FOREIGN KEY (ext_server_org_map_id) REFERENCES lams_ext_server_org_map (sid) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_ext_server_lesson_map; - CREATE TABLE lams_ext_server_lesson_map ( uid bigint NOT NULL AUTO_INCREMENT, lesson_id bigint NOT NULL, ext_server_org_map_id int NOT NULL, - resource_link_id varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + resource_link_id varchar(255) DEFAULT NULL, PRIMARY KEY (uid), UNIQUE KEY lesson_id (lesson_id), KEY lams_ext_server_lesson_map_fk1 (ext_server_org_map_id), CONSTRAINT lams_ext_server_lesson_map_fk1 FOREIGN KEY (ext_server_org_map_id) REFERENCES lams_ext_server_org_map (sid) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT lams_ext_server_lesson_map_fk2 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_ext_server_org_map; - CREATE TABLE lams_ext_server_org_map ( sid int NOT NULL AUTO_INCREMENT, - serverid varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - serverkey text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - servername varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - serverdesc mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - prefix varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - userinfo_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - lesson_finish_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - logout_url text COLLATE utf8mb4_unicode_ci, + serverid varchar(191) NOT NULL, + serverkey text NOT NULL, + servername varchar(255) NOT NULL, + serverdesc mediumtext, + prefix varchar(11) NOT NULL, + userinfo_url text NOT NULL, + lesson_finish_url text, + logout_url text, disabled bit(1) NOT NULL, time_to_live_login_request int DEFAULT '80', time_to_live_login_request_enabled tinyint(1) NOT NULL DEFAULT '0', - ext_groups_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + ext_groups_url text, server_type_id int NOT NULL DEFAULT '1', - lti_consumer_monitor_roles text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + lti_consumer_monitor_roles text, learner_presence_avail tinyint(1) DEFAULT '0', learner_im_avail tinyint(1) DEFAULT '0', live_edit_enabled tinyint(1) DEFAULT '1', enable_lesson_notifications tinyint(1) DEFAULT '1', force_restart tinyint(1) DEFAULT '0', allow_restart tinyint(1) DEFAULT '0', gradebook_on_complete tinyint(1) DEFAULT '1', - membership_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - user_id_parameter_name varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + membership_url text, + user_id_parameter_name varchar(255) DEFAULT NULL, PRIMARY KEY (sid), UNIQUE KEY serverid (serverid), UNIQUE KEY prefix (prefix), KEY FK_lams_ext_server_type (server_type_id), CONSTRAINT FK_lams_ext_server_type FOREIGN KEY (server_type_id) REFERENCES lams_ext_server_type (server_type_id) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_ext_server_tool_map; - CREATE TABLE lams_ext_server_tool_map ( uid bigint NOT NULL AUTO_INCREMENT, tool_id bigint NOT NULL, @@ -397,36 +387,33 @@ KEY lams_ext_server_tool_map_fk2 (tool_id), CONSTRAINT lams_ext_server_tool_map_fk1 FOREIGN KEY (ext_server_org_map_id) REFERENCES lams_ext_server_org_map (sid) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT lams_ext_server_tool_map_fk2 FOREIGN KEY (tool_id) REFERENCES lams_tool (tool_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_ext_server_type; - CREATE TABLE lams_ext_server_type ( server_type_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (server_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_ext_user_userid_map; - CREATE TABLE lams_ext_user_userid_map ( sid int NOT NULL AUTO_INCREMENT, - external_username varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + external_username varchar(250) NOT NULL, user_id bigint NOT NULL, ext_server_org_map_id int NOT NULL, - tc_gradebook_id text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + tc_gradebook_id text, PRIMARY KEY (sid), KEY user_id (user_id), KEY ext_server_org_map_id (ext_server_org_map_id), CONSTRAINT lams_ext_user_userid_map_fk FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT lams_ext_user_userid_map_fk1 FOREIGN KEY (ext_server_org_map_id) REFERENCES lams_ext_server_org_map (sid) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_favorite_organisation; - CREATE TABLE lams_favorite_organisation ( favorite_organisation_id bigint NOT NULL AUTO_INCREMENT, organisation_id bigint NOT NULL, @@ -436,56 +423,52 @@ KEY user_id (user_id), CONSTRAINT FK_lams_favorite_organisation_1 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id), CONSTRAINT FK_lams_favorite_organisation_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_gate_activity_level; - CREATE TABLE lams_gate_activity_level ( gate_activity_level_id int NOT NULL, - `description` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(128) NOT NULL, PRIMARY KEY (gate_activity_level_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_gate_allowed_learners; - CREATE TABLE lams_gate_allowed_learners ( user_id bigint NOT NULL, activity_id bigint NOT NULL, KEY user_id (user_id), KEY activity_id (activity_id), CONSTRAINT FK_TABLE_32_1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id), CONSTRAINT FK_TABLE_32_2 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_gradebook_user_activity; - CREATE TABLE lams_gradebook_user_activity ( uid bigint NOT NULL AUTO_INCREMENT, activity_id bigint NOT NULL, user_id bigint NOT NULL, mark double DEFAULT NULL, - feedback mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + feedback mediumtext, marked_in_gradebook tinyint(1) NOT NULL DEFAULT '0', update_date datetime DEFAULT NULL, PRIMARY KEY (uid), - KEY activity_id (activity_id,user_id), + UNIQUE KEY UQ_lams_gradebook_user_activity_1 (activity_id,user_id), KEY FK_lams_gradebook_user_activity_2 (user_id), CONSTRAINT FK_lams_gradebook_user_activity_1 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_gradebook_user_activity_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_gradebook_user_activity_archive; - CREATE TABLE lams_gradebook_user_activity_archive ( uid bigint NOT NULL, activity_id bigint NOT NULL, user_id bigint NOT NULL, mark double DEFAULT NULL, - feedback mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + feedback mediumtext, marked_in_gradebook tinyint(1) NOT NULL DEFAULT '0', update_date datetime DEFAULT NULL, archive_date datetime DEFAULT NULL, @@ -494,59 +477,55 @@ KEY FK_lams_gradebook_user_activity_archive_2 (user_id), CONSTRAINT FK_lams_gradebook_user_activity_archive_1 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_gradebook_user_activity_archive_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_gradebook_user_lesson; - CREATE TABLE lams_gradebook_user_lesson ( uid bigint NOT NULL AUTO_INCREMENT, lesson_id bigint NOT NULL, user_id bigint NOT NULL, mark double DEFAULT NULL, - feedback text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + feedback text, PRIMARY KEY (uid), - KEY lesson_id (lesson_id,user_id), + UNIQUE KEY lesson_id (lesson_id,user_id), KEY FK_lams_gradebook_user_lesson_2 (user_id), CONSTRAINT FK_lams_gradebook_user_lesson_1 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id), CONSTRAINT FK_lams_gradebook_user_lesson_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_gradebook_user_lesson_archive; - CREATE TABLE lams_gradebook_user_lesson_archive ( uid bigint NOT NULL, lesson_id bigint NOT NULL, user_id bigint NOT NULL, mark double DEFAULT NULL, - feedback mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + feedback mediumtext, archive_date datetime DEFAULT NULL, PRIMARY KEY (uid), KEY lesson_id (lesson_id,user_id), KEY FK_lams_gradebook_user_lesson_archive_2 (user_id), CONSTRAINT FK_lams_gradebook_user_lesson_archive_1 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_gradebook_user_lesson_archive_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_group; - CREATE TABLE lams_group ( group_id bigint NOT NULL AUTO_INCREMENT, - group_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + group_name varchar(255) NOT NULL, grouping_id bigint NOT NULL, order_id int NOT NULL DEFAULT '1', group_ui_id int DEFAULT NULL, PRIMARY KEY (group_id), UNIQUE KEY UQ_lams_group_1 (grouping_id,order_id), KEY grouping_id (grouping_id), CONSTRAINT FK_lams_learning_group_1 FOREIGN KEY (grouping_id) REFERENCES lams_grouping (grouping_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_grouping; - CREATE TABLE lams_grouping ( grouping_id bigint NOT NULL AUTO_INCREMENT, grouping_ui_id int DEFAULT NULL, @@ -560,57 +539,52 @@ PRIMARY KEY (grouping_id), KEY grouping_type_id (grouping_type_id), CONSTRAINT FK_lams_learning_grouping_1 FOREIGN KEY (grouping_type_id) REFERENCES lams_grouping_type (grouping_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_grouping_support_type; - CREATE TABLE lams_grouping_support_type ( grouping_support_type_id int NOT NULL, - `description` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(64) NOT NULL, PRIMARY KEY (grouping_support_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_grouping_type; - CREATE TABLE lams_grouping_type ( grouping_type_id int NOT NULL, - `description` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(128) NOT NULL, PRIMARY KEY (grouping_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_input_activity; - CREATE TABLE lams_input_activity ( activity_id bigint NOT NULL, input_activity_id bigint NOT NULL, UNIQUE KEY UQ_lams_input_activity_1 (activity_id,input_activity_id), KEY activity_id (activity_id), CONSTRAINT FK_lams_input_activity_1 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id), CONSTRAINT FK_lams_input_activity_2 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_kumalive; - CREATE TABLE lams_kumalive ( kumalive_id bigint NOT NULL AUTO_INCREMENT, organisation_id bigint NOT NULL, created_by bigint DEFAULT NULL, finished tinyint(1) NOT NULL DEFAULT '0', - `name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(250) DEFAULT NULL, PRIMARY KEY (kumalive_id), KEY FK_lams_kumalive_1 (organisation_id), KEY FK_lams_kumalive_2 (created_by), CONSTRAINT FK_lams_kumalive_1 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_kumalive_2 FOREIGN KEY (created_by) REFERENCES lams_user (user_id) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_kumalive_log; - CREATE TABLE lams_kumalive_log ( log_id bigint NOT NULL AUTO_INCREMENT, kumalive_id bigint NOT NULL, @@ -622,40 +596,37 @@ KEY FK_lams_kumalive_log_2 (user_id), CONSTRAINT FK_lams_kumalive_log_1 FOREIGN KEY (kumalive_id) REFERENCES lams_kumalive (kumalive_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_kumalive_log_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_kumalive_poll; - CREATE TABLE lams_kumalive_poll ( poll_id bigint NOT NULL AUTO_INCREMENT, kumalive_id bigint NOT NULL, - `name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(250) DEFAULT NULL, votes_released tinyint(1) DEFAULT '0', voters_released tinyint(1) DEFAULT '0', start_date datetime NOT NULL, finish_date datetime DEFAULT NULL, PRIMARY KEY (poll_id), KEY FK_lams_kumalive_poll_1 (kumalive_id), CONSTRAINT FK_lams_kumalive_poll_1 FOREIGN KEY (kumalive_id) REFERENCES lams_kumalive (kumalive_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_kumalive_poll_answer; - CREATE TABLE lams_kumalive_poll_answer ( answer_id bigint NOT NULL AUTO_INCREMENT, poll_id bigint NOT NULL, order_id tinyint NOT NULL, - `name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(250) DEFAULT NULL, PRIMARY KEY (answer_id), KEY FK_lams_kumalive_poll_answer_1 (poll_id), CONSTRAINT FK_lams_kumalive_poll_answer_1 FOREIGN KEY (poll_id) REFERENCES lams_kumalive_poll (poll_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_kumalive_poll_vote; - CREATE TABLE lams_kumalive_poll_vote ( answer_id bigint NOT NULL, user_id bigint NOT NULL, @@ -664,27 +635,25 @@ KEY FK_lams_kumalive_poll_vote_2 (user_id), CONSTRAINT FK_lams_kumalive_poll_vote_1 FOREIGN KEY (answer_id) REFERENCES lams_kumalive_poll_answer (answer_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_kumalive_poll_vote_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_kumalive_rubric; - CREATE TABLE lams_kumalive_rubric ( rubric_id bigint NOT NULL AUTO_INCREMENT, organisation_id bigint NOT NULL, kumalive_id bigint DEFAULT NULL, order_id tinyint NOT NULL, - `name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(250) DEFAULT NULL, PRIMARY KEY (rubric_id), KEY FK_lams_kumalive_rubric_1 (organisation_id), KEY FK_lams_kumalive_rubric_2 (kumalive_id), CONSTRAINT FK_lams_kumalive_rubric_1 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_kumalive_rubric_2 FOREIGN KEY (kumalive_id) REFERENCES lams_kumalive (kumalive_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_kumalive_score; - CREATE TABLE lams_kumalive_score ( score_id bigint NOT NULL AUTO_INCREMENT, rubric_id bigint NOT NULL, @@ -696,11 +665,27 @@ KEY FK_lams_kumalive_score_2 (user_id), CONSTRAINT FK_lams_kumalive_score_1 FOREIGN KEY (rubric_id) REFERENCES lams_kumalive_rubric (rubric_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_kumalive_score_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); -DROP TABLE IF EXISTS lams_learner_progress; +DROP TABLE IF EXISTS lams_learner_interaction_event; +CREATE TABLE lams_learner_interaction_event ( + uid bigint unsigned NOT NULL AUTO_INCREMENT, + event_type tinyint unsigned NOT NULL, + occurred_date_time datetime NOT NULL, + user_id bigint NOT NULL, + qb_tool_question_uid bigint DEFAULT NULL, + option_uid bigint DEFAULT NULL, + PRIMARY KEY (uid), + KEY event_type (event_type), + KEY lams_learner_interaction_event_FK1 (user_id), + KEY lams_learner_interaction_event_FK2 (qb_tool_question_uid), + CONSTRAINT lams_learner_interaction_event_FK1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT lams_learner_interaction_event_FK2 FOREIGN KEY (qb_tool_question_uid) REFERENCES lams_qb_tool_question (tool_question_uid) ON DELETE RESTRICT ON UPDATE CASCADE +); +DROP TABLE IF EXISTS lams_learner_progress; + CREATE TABLE lams_learner_progress ( learner_progress_id bigint NOT NULL AUTO_INCREMENT, user_id bigint NOT NULL, @@ -725,11 +710,10 @@ CONSTRAINT FK_lams_learner_progress_3 FOREIGN KEY (current_activity_id) REFERENCES lams_learning_activity (activity_id), CONSTRAINT FK_lams_learner_progress_4 FOREIGN KEY (next_activity_id) REFERENCES lams_learning_activity (activity_id), CONSTRAINT FK_lams_learner_progress_5 FOREIGN KEY (previous_activity_id) REFERENCES lams_learning_activity (activity_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_learner_progress_archive; - CREATE TABLE lams_learner_progress_archive ( learner_progress_id bigint NOT NULL AUTO_INCREMENT, user_id bigint NOT NULL, @@ -747,16 +731,15 @@ CONSTRAINT FK_lams_learner_progress_archive_1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_learner_progress_archive_2 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_learner_progress_archive_3 FOREIGN KEY (current_activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_learning_activity; - CREATE TABLE lams_learning_activity ( activity_id bigint NOT NULL AUTO_INCREMENT, activity_ui_id int DEFAULT NULL, - `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - title varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description` mediumtext, + title varchar(255) DEFAULT NULL, xcoord int DEFAULT NULL, ycoord int DEFAULT NULL, parent_activity_id bigint DEFAULT NULL, @@ -772,23 +755,23 @@ create_date_time datetime NOT NULL, max_number_of_options int DEFAULT NULL, min_number_of_options int DEFAULT NULL, - options_instructions mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + options_instructions mediumtext, tool_id bigint DEFAULT NULL, tool_content_id bigint DEFAULT NULL, - activity_category_id int, gate_activity_level_id int DEFAULT NULL, gate_open_flag tinyint(1) DEFAULT NULL, gate_open_user bigint DEFAULT NULL, gate_open_time datetime DEFAULT NULL, gate_start_time_offset bigint DEFAULT NULL, gate_end_time_offset bigint DEFAULT NULL, gate_activity_completion_based tinyint(1) DEFAULT NULL, - gate_password varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - library_activity_ui_image varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + gate_password varchar(32) DEFAULT NULL, + gate_stop_at_preceding_activity tinyint NOT NULL DEFAULT '0', + library_activity_ui_image varchar(255) DEFAULT NULL, create_grouping_id bigint DEFAULT NULL, create_grouping_ui_id int DEFAULT NULL, library_activity_id bigint DEFAULT NULL, - language_file varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + language_file varchar(255) DEFAULT NULL, system_tool_id bigint DEFAULT NULL, `read_only` tinyint(1) DEFAULT '0', initialised tinyint(1) DEFAULT '0', @@ -800,6 +783,7 @@ stop_after_activity tinyint(1) NOT NULL DEFAULT '0', transition_to_id bigint DEFAULT NULL, transition_from_id bigint DEFAULT NULL, + branching_ordered_asc tinyint(1) DEFAULT NULL, PRIMARY KEY (activity_id), KEY lams_learning_activity_tool_content_id (tool_content_id), KEY learning_library_id (learning_library_id), @@ -811,15 +795,13 @@ KEY gate_activity_level_id (gate_activity_level_id), KEY create_grouping_id (create_grouping_id), KEY library_activity_id (library_activity_id), - KEY activity_category_id (activity_category_id), KEY grouping_support_type_id (grouping_support_type_id), KEY system_tool_id (system_tool_id), KEY FK_lams_learning_activity_15 (transition_to_id), KEY FK_lams_learning_activity_16 (transition_from_id), KEY FK_lams_learning_activity_17 (gate_open_user), CONSTRAINT FK_lams_learning_activity_10 FOREIGN KEY (gate_activity_level_id) REFERENCES lams_gate_activity_level (gate_activity_level_id), CONSTRAINT FK_lams_learning_activity_11 FOREIGN KEY (library_activity_id) REFERENCES lams_learning_activity (activity_id), - CONSTRAINT FK_lams_learning_activity_12 FOREIGN KEY (activity_category_id) REFERENCES lams_activity_category (activity_category_id), CONSTRAINT FK_lams_learning_activity_13 FOREIGN KEY (grouping_support_type_id) REFERENCES lams_grouping_support_type (grouping_support_type_id), CONSTRAINT FK_lams_learning_activity_14 FOREIGN KEY (system_tool_id) REFERENCES lams_system_tool (system_tool_id), CONSTRAINT FK_lams_learning_activity_15 FOREIGN KEY (transition_to_id) REFERENCES lams_learning_transition (transition_id) ON DELETE SET NULL ON UPDATE CASCADE, @@ -832,40 +814,37 @@ CONSTRAINT FK_learning_activity_2 FOREIGN KEY (parent_activity_id) REFERENCES lams_learning_activity (activity_id), CONSTRAINT FK_learning_activity_3 FOREIGN KEY (learning_activity_type_id) REFERENCES lams_learning_activity_type (learning_activity_type_id), CONSTRAINT FK_learning_activity_6 FOREIGN KEY (grouping_id) REFERENCES lams_grouping (grouping_id) -) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_learning_activity_type; - CREATE TABLE lams_learning_activity_type ( learning_activity_type_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (learning_activity_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_learning_command; - CREATE TABLE lams_learning_command ( uid bigint NOT NULL AUTO_INCREMENT, lesson_id bigint DEFAULT NULL, - user_name varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + user_name varchar(191) DEFAULT NULL, create_date datetime NOT NULL, - command_TEXT text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + command_TEXT text, PRIMARY KEY (uid), KEY idx_lesson_id (lesson_id), KEY idx_user_name (user_name), KEY idx_create_date (create_date) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_learning_design; - CREATE TABLE lams_learning_design ( learning_design_id bigint NOT NULL AUTO_INCREMENT, learning_design_ui_id int DEFAULT NULL, - `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - title varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description` mediumtext, + title varchar(255) DEFAULT NULL, first_activity_id bigint DEFAULT NULL, floating_activity_id bigint DEFAULT NULL, max_id int DEFAULT NULL, @@ -874,22 +853,22 @@ date_read_only datetime DEFAULT NULL, user_id bigint NOT NULL, original_user_id bigint NOT NULL, - help_text mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + help_text mediumtext, copy_type_id tinyint NOT NULL, create_date_time datetime NOT NULL, - version varchar(56) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + version varchar(56) DEFAULT NULL, original_learning_design_id bigint DEFAULT NULL, workspace_folder_id bigint DEFAULT NULL, duration bigint DEFAULT NULL, license_id bigint DEFAULT NULL, - license_TEXT mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + license_TEXT mediumtext, last_modified_date_time datetime DEFAULT NULL, - content_folder_id char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + content_folder_id char(36) DEFAULT NULL, edit_override_lock tinyint(1) DEFAULT '0', edit_override_user_id bigint DEFAULT NULL, design_version int DEFAULT '1', removed tinyint(1) NOT NULL DEFAULT '0', - design_type varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + design_type varchar(255) DEFAULT NULL, PRIMARY KEY (learning_design_id), KEY user_id (user_id), KEY workspace_folder_id (workspace_folder_id), @@ -904,11 +883,10 @@ CONSTRAINT FK_lams_learning_design_5 FOREIGN KEY (license_id) REFERENCES lams_license (license_id), CONSTRAINT FK_lams_learning_design_6 FOREIGN KEY (copy_type_id) REFERENCES lams_copy_type (copy_type_id), CONSTRAINT FK_lams_learning_design_7 FOREIGN KEY (edit_override_user_id) REFERENCES lams_user (user_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_learning_design_access; - CREATE TABLE lams_learning_design_access ( learning_design_id bigint NOT NULL, user_id bigint NOT NULL, @@ -917,65 +895,52 @@ KEY FK_lams_learning_design_access_2 (user_id), CONSTRAINT FK_lams_learning_design_access_1 FOREIGN KEY (learning_design_id) REFERENCES lams_learning_design (learning_design_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_learning_design_access_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_learning_design_annotation; - CREATE TABLE lams_learning_design_annotation ( uid bigint NOT NULL AUTO_INCREMENT, learning_design_id bigint NOT NULL, ui_id int DEFAULT NULL, - title varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + title varchar(1024) DEFAULT NULL, xcoord int DEFAULT NULL, ycoord int DEFAULT NULL, end_xcoord int DEFAULT NULL, end_ycoord int DEFAULT NULL, - color char(7) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + color char(7) DEFAULT NULL, size tinyint DEFAULT NULL, PRIMARY KEY (uid), KEY FK_lams_learning_design_annotation_1 (learning_design_id), CONSTRAINT FK_lams_learning_design_annotation_1 FOREIGN KEY (learning_design_id) REFERENCES lams_learning_design (learning_design_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_learning_library; - CREATE TABLE lams_learning_library ( learning_library_id bigint NOT NULL AUTO_INCREMENT, - `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - title varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description` mediumtext, + title varchar(255) DEFAULT NULL, valid_flag tinyint(1) NOT NULL DEFAULT '1', create_date_time datetime NOT NULL, PRIMARY KEY (learning_library_id) -) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); -DROP TABLE IF EXISTS lams_learning_library_group; - - -CREATE TABLE lams_learning_library_group ( - group_id int NOT NULL AUTO_INCREMENT, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - PRIMARY KEY (group_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - DROP TABLE IF EXISTS lams_learning_library_to_group; - CREATE TABLE lams_learning_library_to_group ( group_id int NOT NULL, learning_library_id bigint NOT NULL, PRIMARY KEY (group_id,learning_library_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_learning_transition; - CREATE TABLE lams_learning_transition ( transition_id bigint NOT NULL AUTO_INCREMENT, transition_ui_id int DEFAULT NULL, - `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - title varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description` mediumtext, + title varchar(255) DEFAULT NULL, to_activity_id bigint NOT NULL, from_activity_id bigint NOT NULL, learning_design_id bigint DEFAULT NULL, @@ -990,17 +955,16 @@ CONSTRAINT FK_learning_transition_2 FOREIGN KEY (to_activity_id) REFERENCES lams_learning_activity (activity_id), CONSTRAINT FK_learning_transition_3 FOREIGN KEY (from_activity_id) REFERENCES lams_learning_activity (activity_id), CONSTRAINT lddefn_transition_ibfk_1 FOREIGN KEY (learning_design_id) REFERENCES lams_learning_design (learning_design_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_lesson; - CREATE TABLE lams_lesson ( lesson_id bigint NOT NULL AUTO_INCREMENT, learning_design_id bigint NOT NULL, user_id bigint NOT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + `name` varchar(255) NOT NULL, + `description` mediumtext, create_date_time datetime NOT NULL, organisation_id bigint DEFAULT NULL, class_grouping_id bigint DEFAULT NULL, @@ -1033,46 +997,42 @@ CONSTRAINT FK_lams_lesson_3 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id), CONSTRAINT FK_lams_lesson_4 FOREIGN KEY (lesson_state_id) REFERENCES lams_lesson_state (lesson_state_id), CONSTRAINT FK_lams_lesson_5 FOREIGN KEY (class_grouping_id) REFERENCES lams_grouping (grouping_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_lesson_dependency; - CREATE TABLE lams_lesson_dependency ( lesson_id bigint NOT NULL, preceding_lesson_id bigint NOT NULL, PRIMARY KEY (lesson_id,preceding_lesson_id), KEY FK_lams_lesson_dependency_2 (preceding_lesson_id), CONSTRAINT FK_lams_lesson_dependency_1 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_lesson_dependency_2 FOREIGN KEY (preceding_lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_lesson_state; - CREATE TABLE lams_lesson_state ( lesson_state_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (lesson_state_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_license; - CREATE TABLE lams_license ( license_id bigint NOT NULL, - `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - url varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(200) NOT NULL, + `code` varchar(20) NOT NULL, + url varchar(256) DEFAULT NULL, default_flag tinyint(1) NOT NULL DEFAULT '0', - picture_url varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + picture_url varchar(256) DEFAULT NULL, order_id tinyint DEFAULT '0', PRIMARY KEY (license_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_log_event; - CREATE TABLE lams_log_event ( id bigint NOT NULL AUTO_INCREMENT, log_event_type_id int NOT NULL, @@ -1081,82 +1041,81 @@ lesson_id bigint DEFAULT NULL, activity_id bigint DEFAULT NULL, target_user_id bigint DEFAULT NULL, - `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + `description` text, PRIMARY KEY (id), KEY event_log_occurred_date_time (occurred_date_time), KEY FK_event_log_event_type_idx (log_event_type_id), KEY event_log_date_and_type (occurred_date_time,log_event_type_id), + KEY event_log_user (user_id), + KEY event_log_target_user (target_user_id), + KEY event_log_lesson (lesson_id), + KEY event_log_activity (activity_id), CONSTRAINT FK_event_log_event_type FOREIGN KEY (log_event_type_id) REFERENCES lams_log_event_type (log_event_type_id) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_log_event_type; - CREATE TABLE lams_log_event_type ( log_event_type_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - area varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description` varchar(255) NOT NULL, + area varchar(255) DEFAULT NULL, PRIMARY KEY (log_event_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_notebook_entry; - CREATE TABLE lams_notebook_entry ( uid bigint NOT NULL AUTO_INCREMENT, external_id bigint DEFAULT NULL, external_id_type int DEFAULT NULL, - external_signature varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + external_signature varchar(255) DEFAULT NULL, user_id int DEFAULT NULL, - title varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - entry mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + title varchar(255) DEFAULT NULL, + entry mediumtext, create_date datetime DEFAULT NULL, last_modified datetime DEFAULT NULL, PRIMARY KEY (uid), KEY ext_sig_user (external_id,external_id_type,external_signature,user_id), KEY idx_create_date (create_date) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_notification_event; - CREATE TABLE lams_notification_event ( uid bigint NOT NULL AUTO_INCREMENT, - scope varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + scope varchar(128) NOT NULL, + `name` varchar(128) NOT NULL, event_session_id bigint DEFAULT NULL, - `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - message mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + `subject` varchar(255) DEFAULT NULL, + message mediumtext, fail_time datetime DEFAULT NULL, html_format tinyint(1) DEFAULT '0', PRIMARY KEY (uid), KEY scope (scope,`name`,event_session_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_notification_subscription; - CREATE TABLE lams_notification_subscription ( uid bigint NOT NULL AUTO_INCREMENT, user_id bigint DEFAULT NULL, event_uid bigint DEFAULT NULL, delivery_method_id tinyint unsigned DEFAULT NULL, - last_operation_message mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + last_operation_message mediumtext, PRIMARY KEY (uid), KEY EventSubscriptionsToUsers (user_id), KEY event_uid (event_uid), CONSTRAINT EventSubscriptionsToEvent FOREIGN KEY (event_uid) REFERENCES lams_notification_event (uid) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT EventSubscriptionsToUsers FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_organisation; - CREATE TABLE lams_organisation ( organisation_id bigint NOT NULL AUTO_INCREMENT, - `name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + `name` varchar(250) NOT NULL, + `code` varchar(20) DEFAULT NULL, + `description` mediumtext, parent_organisation_id bigint DEFAULT NULL, organisation_type_id int NOT NULL DEFAULT '0', create_date datetime NOT NULL, @@ -1172,104 +1131,93 @@ enable_live_edit tinyint(1) NOT NULL DEFAULT '1', enable_kumalive tinyint(1) NOT NULL DEFAULT '0', archived_date datetime DEFAULT NULL, - ordered_lesson_ids text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + ordered_lesson_ids text, PRIMARY KEY (organisation_id), KEY organisation_type_id (organisation_type_id), KEY parent_organisation_id (parent_organisation_id), KEY organisation_state_id (organisation_state_id), CONSTRAINT FK_lams_organisation_1 FOREIGN KEY (organisation_type_id) REFERENCES lams_organisation_type (organisation_type_id), CONSTRAINT FK_lams_organisation_3 FOREIGN KEY (parent_organisation_id) REFERENCES lams_organisation (organisation_id), CONSTRAINT FK_lams_organisation_4 FOREIGN KEY (organisation_state_id) REFERENCES lams_organisation_state (organisation_state_id) -) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_organisation_group; - CREATE TABLE lams_organisation_group ( group_id bigint NOT NULL AUTO_INCREMENT, grouping_id bigint NOT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, PRIMARY KEY (group_id), KEY FK_lams_organisation_group_1 (grouping_id), CONSTRAINT FK_lams_organisation_group_1 FOREIGN KEY (grouping_id) REFERENCES lams_organisation_grouping (grouping_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_organisation_grouping; - CREATE TABLE lams_organisation_grouping ( grouping_id bigint NOT NULL AUTO_INCREMENT, organisation_id bigint NOT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, PRIMARY KEY (grouping_id), KEY FK_lams_organisation_grouping_1 (organisation_id), CONSTRAINT FK_lams_organisation_grouping_1 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_organisation_state; - CREATE TABLE lams_organisation_state ( organisation_state_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description` varchar(255) DEFAULT NULL, PRIMARY KEY (organisation_state_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_organisation_type; - CREATE TABLE lams_organisation_type ( organisation_type_id int NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(64) NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (organisation_type_id), UNIQUE KEY UQ_lams_organisation_type_name (`name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_outcome; - CREATE TABLE lams_outcome ( outcome_id mediumint NOT NULL AUTO_INCREMENT, - organisation_id bigint DEFAULT NULL, scale_id mediumint NOT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - content_folder_id char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `code` varchar(50) DEFAULT NULL, + `description` text, create_by bigint DEFAULT NULL, create_date_time datetime NOT NULL, PRIMARY KEY (outcome_id), - UNIQUE KEY code_2 (`code`,organisation_id), KEY `name` (`name`), KEY `code` (`code`), - KEY FK_lams_outcome_1 (organisation_id), KEY FK_lams_outcome_2 (scale_id), - CONSTRAINT FK_lams_outcome_1 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_outcome_2 FOREIGN KEY (scale_id) REFERENCES lams_outcome_scale (scale_id) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_outcome_mapping; - CREATE TABLE lams_outcome_mapping ( mapping_id bigint NOT NULL AUTO_INCREMENT, outcome_id mediumint NOT NULL, lesson_id bigint DEFAULT NULL, tool_content_id bigint DEFAULT NULL, item_id bigint DEFAULT NULL, + qb_question_id int DEFAULT NULL, PRIMARY KEY (mapping_id), KEY FK_lams_outcome_mapping_1 (outcome_id), KEY FK_lams_outcome_mapping_2 (lesson_id), KEY FK_lams_outcome_mapping_3 (tool_content_id), CONSTRAINT FK_lams_outcome_mapping_1 FOREIGN KEY (outcome_id) REFERENCES lams_outcome (outcome_id) ON DELETE RESTRICT ON UPDATE CASCADE, CONSTRAINT FK_lams_outcome_mapping_2 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_outcome_mapping_3 FOREIGN KEY (tool_content_id) REFERENCES lams_tool_content (tool_content_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_outcome_result; - CREATE TABLE lams_outcome_result ( result_id bigint NOT NULL AUTO_INCREMENT, mapping_id bigint NOT NULL, @@ -1284,69 +1232,47 @@ CONSTRAINT FK_lams_outcome_result_1 FOREIGN KEY (mapping_id) REFERENCES lams_outcome_mapping (mapping_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_outcome_result_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_outcome_result_3 FOREIGN KEY (create_by) REFERENCES lams_user (user_id) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_outcome_scale; - CREATE TABLE lams_outcome_scale ( scale_id mediumint NOT NULL AUTO_INCREMENT, - organisation_id bigint DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - content_folder_id char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `code` varchar(50) DEFAULT NULL, + `description` text, create_by bigint DEFAULT NULL, create_date_time datetime NOT NULL, PRIMARY KEY (scale_id), - UNIQUE KEY code_2 (`code`,organisation_id), KEY `name` (`name`), - KEY `code` (`code`), - KEY FK_lams_outcome_scale_1 (organisation_id), - CONSTRAINT FK_lams_outcome_scale_1 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + KEY `code` (`code`) +); DROP TABLE IF EXISTS lams_outcome_scale_item; - CREATE TABLE lams_outcome_scale_item ( item_id int NOT NULL AUTO_INCREMENT, scale_id mediumint DEFAULT NULL, `value` tinyint DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, PRIMARY KEY (item_id), KEY FK_lams_outcome_scale_item_1 (scale_id), CONSTRAINT FK_lams_outcome_scale_item_1 FOREIGN KEY (scale_id) REFERENCES lams_outcome_scale (scale_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_password_request; - CREATE TABLE lams_password_request ( request_id bigint NOT NULL AUTO_INCREMENT, user_id bigint NOT NULL, - request_key char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + request_key char(36) DEFAULT NULL, request_date datetime NOT NULL, PRIMARY KEY (request_id), UNIQUE KEY IX_lams_psswd_rqst_key (request_key) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); -DROP TABLE IF EXISTS lams_planner_activity_metadata; - - -CREATE TABLE lams_planner_activity_metadata ( - activity_id bigint NOT NULL, - collapsed tinyint(1) DEFAULT '0', - expanded tinyint(1) DEFAULT '0', - hidden tinyint(1) DEFAULT '0', - editing_advice varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - KEY FK_lams_planner_metadata_primary (activity_id), - CONSTRAINT FK_lams_planner_metadata_primary FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - DROP TABLE IF EXISTS lams_planner_node_role; - CREATE TABLE lams_planner_node_role ( uid bigint NOT NULL AUTO_INCREMENT, node_uid bigint NOT NULL, @@ -1359,20 +1285,19 @@ CONSTRAINT FK_planner_node_role_node FOREIGN KEY (node_uid) REFERENCES lams_planner_nodes (uid) ON DELETE CASCADE, CONSTRAINT FK_planner_node_role_role FOREIGN KEY (role_id) REFERENCES lams_role (role_id) ON DELETE CASCADE, CONSTRAINT FK_planner_node_role_user FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_planner_nodes; - CREATE TABLE lams_planner_nodes ( uid bigint NOT NULL AUTO_INCREMENT, parent_uid bigint DEFAULT NULL, order_id tinyint unsigned NOT NULL, `locked` tinyint(1) NOT NULL DEFAULT '0', - content_folder_id char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - title varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - brief_desc mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - full_desc mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + content_folder_id char(36) DEFAULT NULL, + title varchar(255) NOT NULL, + brief_desc mediumtext, + full_desc mediumtext, ld_id bigint DEFAULT NULL, user_id bigint DEFAULT NULL, permissions int DEFAULT NULL, @@ -1381,32 +1306,18 @@ KEY FK_lams_planner_node_user (user_id), CONSTRAINT FK_lams_planner_node_parent FOREIGN KEY (parent_uid) REFERENCES lams_planner_nodes (uid) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_planner_node_user FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE SET NULL ON UPDATE SET NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); -DROP TABLE IF EXISTS lams_planner_recent_learning_designs; - - -CREATE TABLE lams_planner_recent_learning_designs ( - user_id bigint NOT NULL, - learning_design_id bigint NOT NULL, - last_modified_date timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (user_id,learning_design_id), - KEY FK_lams_planner_recent_learning_designs_2 (learning_design_id), - CONSTRAINT FK_lams_planner_recent_learning_designs_1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT FK_lams_planner_recent_learning_designs_2 FOREIGN KEY (learning_design_id) REFERENCES lams_learning_design (learning_design_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - DROP TABLE IF EXISTS lams_policy; - CREATE TABLE lams_policy ( uid bigint NOT NULL AUTO_INCREMENT, policy_id bigint DEFAULT NULL, created_by bigint NOT NULL, - policy_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - version mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - summary text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - full_policy text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + policy_name varchar(255) NOT NULL, + version mediumtext, + summary text, + full_policy text, last_modified datetime NOT NULL, policy_state_id int NOT NULL, policy_type_id int NOT NULL, @@ -1417,11 +1328,10 @@ CONSTRAINT FK_lams_lesson_1 FOREIGN KEY (created_by) REFERENCES lams_user (user_id), CONSTRAINT FK_lams_policy_2 FOREIGN KEY (policy_state_id) REFERENCES lams_policy_state (policy_state_id), CONSTRAINT FK_lams_policy_3 FOREIGN KEY (policy_type_id) REFERENCES lams_policy_type (policy_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_policy_consent; - CREATE TABLE lams_policy_consent ( uid bigint NOT NULL AUTO_INCREMENT, date_agreed_on datetime NOT NULL, @@ -1432,58 +1342,53 @@ KEY user_id (user_id), CONSTRAINT FK_lams_consent_1_1 FOREIGN KEY (policy_uid) REFERENCES lams_policy (uid), CONSTRAINT FK_lams_consent_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_policy_state; - CREATE TABLE lams_policy_state ( policy_state_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (policy_state_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_policy_type; - CREATE TABLE lams_policy_type ( policy_type_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (policy_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_presence_chat_msgs; - CREATE TABLE lams_presence_chat_msgs ( uid bigint NOT NULL AUTO_INCREMENT, lesson_id bigint DEFAULT NULL, - from_user varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - to_user varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + from_user varchar(191) DEFAULT NULL, + to_user varchar(191) DEFAULT NULL, date_sent datetime DEFAULT NULL, - message varchar(1023) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + message varchar(1023) DEFAULT NULL, PRIMARY KEY (uid), KEY FK_lams_presence_chat_msgs_lesson (lesson_id), KEY idx_lams_presence_chat_msgs_from (from_user), KEY idx_lams_presence_chat_msgs_to (to_user), CONSTRAINT FK_lams_presence_chat_msgs_lesson FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_presence_user; - CREATE TABLE lams_presence_user ( - nickname varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + nickname varchar(191) NOT NULL, lesson_id bigint NOT NULL, last_presence datetime DEFAULT NULL, PRIMARY KEY (nickname,lesson_id), KEY FK_lams_presence_user_lesson (lesson_id), CONSTRAINT FK_lams_presence_user_lesson FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_progress_attempted; - CREATE TABLE lams_progress_attempted ( learner_progress_id bigint NOT NULL, activity_id bigint NOT NULL, @@ -1493,11 +1398,10 @@ KEY activity_id (activity_id), CONSTRAINT FK_lams_progress_current_1 FOREIGN KEY (learner_progress_id) REFERENCES lams_learner_progress (learner_progress_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_progress_current_2 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_progress_attempted_archive; - CREATE TABLE lams_progress_attempted_archive ( learner_progress_id bigint NOT NULL, activity_id bigint NOT NULL, @@ -1506,11 +1410,10 @@ KEY FK_lams_progress_current_archive_2 (activity_id), CONSTRAINT FK_lams_progress_current_archive_1 FOREIGN KEY (learner_progress_id) REFERENCES lams_learner_progress_archive (learner_progress_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_progress_current_archive_2 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_progress_completed; - CREATE TABLE lams_progress_completed ( learner_progress_id bigint NOT NULL, activity_id bigint NOT NULL, @@ -1521,11 +1424,10 @@ KEY activity_id (activity_id), CONSTRAINT FK_lams_progress_completed_1 FOREIGN KEY (learner_progress_id) REFERENCES lams_learner_progress (learner_progress_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_progress_completed_2 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_progress_completed_archive; - CREATE TABLE lams_progress_completed_archive ( learner_progress_id bigint NOT NULL, activity_id bigint NOT NULL, @@ -1535,11 +1437,138 @@ KEY FK_lams_progress_completed_archive_2 (activity_id), CONSTRAINT FK_lams_progress_completed_archive_1 FOREIGN KEY (learner_progress_id) REFERENCES lams_learner_progress_archive (learner_progress_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_progress_completed_archive_2 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); -DROP TABLE IF EXISTS lams_rating; +DROP TABLE IF EXISTS lams_qb_collection; +CREATE TABLE lams_qb_collection ( + uid bigint NOT NULL AUTO_INCREMENT, + `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + user_id bigint DEFAULT NULL, + personal tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (uid), + KEY personal (personal), + KEY FK_lams_qb_collection_1 (user_id), + CONSTRAINT FK_lams_qb_collection_1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE +); +DROP TABLE IF EXISTS lams_qb_collection_organisation; + +CREATE TABLE lams_qb_collection_organisation ( + collection_uid bigint NOT NULL, + organisation_id bigint NOT NULL, + KEY FK_lams_qb_collection_share_1 (collection_uid), + KEY FK_lams_qb_collection_share_2 (organisation_id), + CONSTRAINT FK_lams_qb_collection_share_1 FOREIGN KEY (collection_uid) REFERENCES lams_qb_collection (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_qb_collection_share_2 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id) ON DELETE CASCADE ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS lams_qb_collection_question; + +CREATE TABLE lams_qb_collection_question ( + collection_uid bigint NOT NULL, + qb_question_id int NOT NULL, + KEY FK_lams_qb_collection_question_1 (collection_uid), + KEY FK_lams_qb_collection_question_2 (qb_question_id), + CONSTRAINT FK_lams_qb_collection_question_1 FOREIGN KEY (collection_uid) REFERENCES lams_qb_collection (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_qb_collection_question_2 FOREIGN KEY (qb_question_id) REFERENCES lams_qb_question (question_id) ON DELETE CASCADE ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS lams_qb_option; + +CREATE TABLE lams_qb_option ( + uid bigint NOT NULL AUTO_INCREMENT, + qb_question_uid bigint NOT NULL, + display_order tinyint NOT NULL DEFAULT '1', + `name` text COLLATE utf8mb4_unicode_ci, + matching_pair text COLLATE utf8mb4_unicode_ci, + numerical_option double DEFAULT NULL, + max_mark float DEFAULT '0', + accepted_error float DEFAULT '0', + feedback text COLLATE utf8mb4_unicode_ci, + PRIMARY KEY (uid), + KEY display_order (display_order), + KEY FK_lams_qb_option_1 (qb_question_uid), + CONSTRAINT FK_lams_qb_option_1 FOREIGN KEY (qb_question_uid) REFERENCES lams_qb_question (uid) ON DELETE CASCADE ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS lams_qb_question; + +CREATE TABLE lams_qb_question ( + uid bigint NOT NULL AUTO_INCREMENT, + uuid binary(16) NOT NULL, + `type` tinyint NOT NULL, + question_id int NOT NULL, + version smallint NOT NULL DEFAULT '1', + create_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + content_folder_id char(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `name` text COLLATE utf8mb4_unicode_ci, + `description` mediumtext COLLATE utf8mb4_unicode_ci, + max_mark int DEFAULT NULL, + feedback text COLLATE utf8mb4_unicode_ci, + penalty_factor float DEFAULT '0', + multiple_answers_allowed tinyint(1) DEFAULT '0', + incorrect_answer_nullifies_mark tinyint(1) DEFAULT '0', + feedback_on_correct text COLLATE utf8mb4_unicode_ci, + feedback_on_partially_correct text COLLATE utf8mb4_unicode_ci, + feedback_on_incorrect text COLLATE utf8mb4_unicode_ci, + shuffle tinyint(1) DEFAULT '0', + prefix_answers_with_letters tinyint(1) DEFAULT '0', + case_sensitive tinyint(1) DEFAULT '0', + correct_answer tinyint(1) DEFAULT '0', + allow_rich_editor tinyint(1) DEFAULT '0', + max_words_limit int DEFAULT '0', + min_words_limit int DEFAULT '0', + code_style tinyint unsigned DEFAULT NULL, + hedging_justification_enabled tinyint(1) DEFAULT '0', + autocomplete_enabled tinyint(1) DEFAULT '0', + PRIMARY KEY (uid), + UNIQUE KEY UQ_question_version (question_id,version) +); + +DROP TABLE IF EXISTS lams_qb_question_unit; + +CREATE TABLE lams_qb_question_unit ( + uid bigint NOT NULL AUTO_INCREMENT, + qb_question_uid bigint NOT NULL, + display_order tinyint NOT NULL DEFAULT '1', + multiplier float DEFAULT '0', + `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + PRIMARY KEY (uid), + KEY FK_lams_qb_question_unit_1 (qb_question_uid), + CONSTRAINT FK_lams_qb_question_unit_1 FOREIGN KEY (qb_question_uid) REFERENCES lams_qb_question (uid) ON DELETE CASCADE ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS lams_qb_tool_answer; + +CREATE TABLE lams_qb_tool_answer ( + answer_uid bigint NOT NULL AUTO_INCREMENT, + tool_question_uid bigint NOT NULL, + qb_option_uid bigint DEFAULT NULL, + answer mediumtext COLLATE utf8mb4_unicode_ci, + PRIMARY KEY (answer_uid), + KEY FK_lams_qb_tool_answer_1 (tool_question_uid), + KEY FK_lams_qb_tool_answer_2 (qb_option_uid), + CONSTRAINT FK_lams_qb_tool_answer_1 FOREIGN KEY (tool_question_uid) REFERENCES lams_qb_tool_question (tool_question_uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_qb_tool_answer_2 FOREIGN KEY (qb_option_uid) REFERENCES lams_qb_option (uid) ON DELETE CASCADE ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS lams_qb_tool_question; + +CREATE TABLE lams_qb_tool_question ( + tool_question_uid bigint NOT NULL AUTO_INCREMENT, + qb_question_uid bigint NOT NULL, + tool_content_id bigint NOT NULL, + answer_required tinyint NOT NULL DEFAULT '0', + display_order tinyint unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (tool_question_uid), + KEY tool_content_id (tool_content_id), + KEY FK_lams_qb_tool_question_1 (qb_question_uid), + CONSTRAINT FK_lams_qb_tool_question_1 FOREIGN KEY (qb_question_uid) REFERENCES lams_qb_question (uid) ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS lams_rating; + CREATE TABLE lams_rating ( uid bigint NOT NULL AUTO_INCREMENT, rating_criteria_id bigint NOT NULL, @@ -1553,17 +1582,16 @@ KEY FK_lams_rating_3 (tool_session_id), CONSTRAINT FK_lams_rating_1 FOREIGN KEY (rating_criteria_id) REFERENCES lams_rating_criteria (rating_criteria_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_rating_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_rating_comment; - CREATE TABLE lams_rating_comment ( uid bigint NOT NULL AUTO_INCREMENT, rating_criteria_id bigint NOT NULL, item_id bigint DEFAULT NULL, user_id bigint NOT NULL, - `comment` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + `comment` mediumtext, posted_date datetime DEFAULT NULL, tool_session_id bigint DEFAULT NULL, PRIMARY KEY (uid), @@ -1572,15 +1600,15 @@ KEY FK_lams_rating_comment_3 (tool_session_id), CONSTRAINT FK_lams_rating_comment_1 FOREIGN KEY (rating_criteria_id) REFERENCES lams_rating_criteria (rating_criteria_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_rating_comment_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_rating_criteria; - CREATE TABLE lams_rating_criteria ( rating_criteria_id bigint NOT NULL AUTO_INCREMENT, - title varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + title varchar(255) DEFAULT NULL, rating_criteria_type_id int NOT NULL DEFAULT '0', + rating_criteria_group_id mediumint unsigned DEFAULT NULL, comments_enabled tinyint(1) NOT NULL DEFAULT '0', comments_min_words_limit int DEFAULT '0', order_id int NOT NULL, @@ -1598,32 +1626,51 @@ CONSTRAINT FK_lams_rating_criteria_1 FOREIGN KEY (rating_criteria_type_id) REFERENCES lams_rating_criteria_type (rating_criteria_type_id), CONSTRAINT FK_lams_rating_criteria_2 FOREIGN KEY (tool_content_id) REFERENCES lams_tool_content (tool_content_id), CONSTRAINT FK_lams_rating_criteria_3 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_rating_criteria_type; - CREATE TABLE lams_rating_criteria_type ( rating_criteria_type_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (rating_criteria_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); -DROP TABLE IF EXISTS lams_role; +DROP TABLE IF EXISTS lams_rating_rubrics_columns; +CREATE TABLE lams_rating_rubrics_columns ( + uid int unsigned NOT NULL AUTO_INCREMENT, + rating_criteria_group_id mediumint unsigned DEFAULT NULL, + rating_criteria_id bigint DEFAULT NULL, + order_id tinyint unsigned NOT NULL, + `name` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY UQ_lams_rating_rubrics_columns_1 (rating_criteria_group_id,rating_criteria_id,order_id), + KEY FK_lams_rating_rubrics_columns_1 (rating_criteria_id), + CONSTRAINT FK_lams_rating_rubrics_columns_1 FOREIGN KEY (rating_criteria_id) REFERENCES lams_rating_criteria (rating_criteria_id) ON DELETE CASCADE ON UPDATE CASCADE +); +DROP TABLE IF EXISTS lams_role; + CREATE TABLE lams_role ( role_id int NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + `name` varchar(64) NOT NULL, + `description` text, create_date datetime NOT NULL, PRIMARY KEY (role_id), KEY gname (`name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); -DROP TABLE IF EXISTS lams_signup_organisation; +DROP TABLE IF EXISTS lams_sequence_generator; +CREATE TABLE lams_sequence_generator ( + lams_qb_question_question_id int DEFAULT NULL, + UNIQUE KEY IDX_lams_qb_question_question_id (lams_qb_question_question_id) +); + +DROP TABLE IF EXISTS lams_signup_organisation; + CREATE TABLE lams_signup_organisation ( signup_organisation_id bigint NOT NULL AUTO_INCREMENT, organisation_id bigint NOT NULL, @@ -1632,149 +1679,139 @@ add_with_author tinyint(1) DEFAULT '0', add_with_monitor tinyint(1) DEFAULT '0', email_verify tinyint(1) DEFAULT '0', - course_key varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - blurb text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + course_key varchar(255) DEFAULT NULL, + blurb text, create_date datetime DEFAULT NULL, disabled tinyint(1) DEFAULT '0', - `conTEXT` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `conTEXT` varchar(191) NOT NULL, login_tab_active tinyint(1) DEFAULT '0', PRIMARY KEY (signup_organisation_id), UNIQUE KEY `conTEXT` (`conTEXT`), KEY organisation_id (organisation_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_supported_locale; - CREATE TABLE lams_supported_locale ( locale_id int NOT NULL AUTO_INCREMENT, - language_iso_code varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - country_iso_code varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - direction varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - fckeditor_code varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + language_iso_code varchar(2) NOT NULL, + country_iso_code varchar(2) DEFAULT NULL, + `description` varchar(255) NOT NULL, + direction varchar(3) NOT NULL, + fckeditor_code varchar(10) DEFAULT NULL, PRIMARY KEY (locale_id) -) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_system_tool; - CREATE TABLE lams_system_tool ( system_tool_id bigint NOT NULL AUTO_INCREMENT, learning_activity_type_id int NOT NULL, - tool_display_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - learner_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - learner_preview_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - learner_progress_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - monitor_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - contribute_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - help_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + tool_display_name varchar(255) NOT NULL, + `description` text, + learner_url text, + learner_preview_url text, + learner_progress_url text, + monitor_url text, + contribute_url text, + help_url text, create_date_time datetime NOT NULL, - admin_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - pedagogical_planner_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + admin_url text, PRIMARY KEY (system_tool_id), UNIQUE KEY UQ_systool_activity_type (learning_activity_type_id), CONSTRAINT FK_lams_system_tool FOREIGN KEY (learning_activity_type_id) REFERENCES lams_learning_activity_type (learning_activity_type_id) -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_text_search_condition; - CREATE TABLE lams_text_search_condition ( condition_id bigint NOT NULL, - text_search_all_words text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - text_search_phrase text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - text_search_any_words text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - text_search_excluded_words text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + text_search_all_words text, + text_search_phrase text, + text_search_any_words text, + text_search_excluded_words text, PRIMARY KEY (condition_id), CONSTRAINT TextSearchConditionInheritance FOREIGN KEY (condition_id) REFERENCES lams_branch_condition (condition_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_theme; - CREATE TABLE lams_theme ( theme_id bigint NOT NULL AUTO_INCREMENT, - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `description` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - image_directory varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name` varchar(100) NOT NULL, + `description` varchar(100) DEFAULT NULL, + image_directory varchar(100) DEFAULT NULL, PRIMARY KEY (theme_id), UNIQUE KEY UQ_name (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_timezone; - CREATE TABLE lams_timezone ( id bigint NOT NULL AUTO_INCREMENT, - timezone_id varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + timezone_id varchar(255) NOT NULL, server_timezone tinyint(1) DEFAULT '0', PRIMARY KEY (id) -) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_tool; - CREATE TABLE lams_tool ( tool_id bigint NOT NULL AUTO_INCREMENT, - tool_signature varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - service_name varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - tool_display_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - tool_identifier varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - tool_version varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + tool_signature varchar(64) NOT NULL, + service_name varchar(191) NOT NULL, + tool_display_name varchar(255) NOT NULL, + `description` text, + tool_identifier varchar(64) NOT NULL, + tool_version varchar(10) NOT NULL, learning_library_id bigint DEFAULT NULL, default_tool_content_id bigint DEFAULT NULL, valid_flag tinyint(1) NOT NULL DEFAULT '1', grouping_support_type_id int NOT NULL, - learner_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - learner_preview_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - learner_progress_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - author_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - monitor_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - pedagogical_planner_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - help_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + learner_url text NOT NULL, + learner_preview_url text, + learner_progress_url text, + author_url text NOT NULL, + monitor_url text, + help_url text, create_date_time datetime NOT NULL, - language_file varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + language_file varchar(255) DEFAULT NULL, modified_date_time datetime DEFAULT NULL, - admin_url text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, + admin_url text, supports_outputs tinyint(1) DEFAULT '0', - ext_lms_id varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + ext_lms_id varchar(255) DEFAULT NULL, PRIMARY KEY (tool_id), UNIQUE KEY UQ_lams_tool_sig (tool_signature), UNIQUE KEY UQ_lams_tool_class_name (service_name), KEY learning_library_id (learning_library_id), KEY grouping_support_type_id (grouping_support_type_id), CONSTRAINT FK_lams_tool_1 FOREIGN KEY (learning_library_id) REFERENCES lams_learning_library (learning_library_id), CONSTRAINT FK_lams_tool_2 FOREIGN KEY (grouping_support_type_id) REFERENCES lams_grouping_support_type (grouping_support_type_id) -) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_tool_content; - CREATE TABLE lams_tool_content ( tool_content_id bigint NOT NULL AUTO_INCREMENT, tool_id bigint NOT NULL, PRIMARY KEY (tool_content_id), KEY tool_id (tool_id), CONSTRAINT FK_lams_tool_content_1 FOREIGN KEY (tool_id) REFERENCES lams_tool (tool_id) -) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_tool_session; - CREATE TABLE lams_tool_session ( tool_session_id bigint NOT NULL AUTO_INCREMENT, - tool_session_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + tool_session_name varchar(255) NOT NULL, tool_session_type_id int NOT NULL, lesson_id bigint NOT NULL, activity_id bigint NOT NULL, tool_session_state_id int NOT NULL, create_date_time datetime NOT NULL, group_id bigint DEFAULT NULL, user_id bigint DEFAULT NULL, - unique_key varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + unique_key varchar(128) NOT NULL, PRIMARY KEY (tool_session_id), UNIQUE KEY UQ_lams_tool_session_1 (unique_key), KEY tool_session_state_id (tool_session_state_id), @@ -1787,61 +1824,59 @@ CONSTRAINT FK_lams_tool_session_5 FOREIGN KEY (user_id) REFERENCES lams_user (user_id), CONSTRAINT FK_lams_tool_session_7 FOREIGN KEY (tool_session_type_id) REFERENCES lams_tool_session_type (tool_session_type_id), CONSTRAINT FK_lams_tool_session_8 FOREIGN KEY (activity_id) REFERENCES lams_learning_activity (activity_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_tool_session_state; - CREATE TABLE lams_tool_session_state ( tool_session_state_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (tool_session_state_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_tool_session_type; - CREATE TABLE lams_tool_session_type ( tool_session_type_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (tool_session_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_user; - CREATE TABLE lams_user ( user_id bigint NOT NULL AUTO_INCREMENT, - login varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `password` char(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - salt char(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + login varchar(191) NOT NULL, + `password` char(64) NOT NULL, + salt char(64) DEFAULT NULL, two_factor_auth_enabled tinyint(1) DEFAULT '0', - two_factor_auth_secret char(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - title varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - first_name varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - last_name varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - address_line_1 varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - address_line_2 varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - address_line_3 varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - city varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - state varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - postcode varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - country varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - day_phone varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - evening_phone varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - mobile_phone varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - fax varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - email varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + two_factor_auth_secret char(64) DEFAULT NULL, + title varchar(32) DEFAULT NULL, + first_name varchar(128) DEFAULT NULL, + last_name varchar(128) DEFAULT NULL, + address_line_1 varchar(64) DEFAULT NULL, + address_line_2 varchar(64) DEFAULT NULL, + address_line_3 varchar(64) DEFAULT NULL, + city varchar(64) DEFAULT NULL, + state varchar(64) DEFAULT NULL, + postcode varchar(10) DEFAULT NULL, + country varchar(2) DEFAULT NULL, + day_phone varchar(64) DEFAULT NULL, + evening_phone varchar(64) DEFAULT NULL, + mobile_phone varchar(64) DEFAULT NULL, + fax varchar(64) DEFAULT NULL, + email varchar(128) DEFAULT NULL, email_verified tinyint(1) DEFAULT '1', disabled_flag tinyint(1) NOT NULL DEFAULT '0', create_date datetime NOT NULL, authentication_method_id bigint NOT NULL DEFAULT '0', workspace_folder_id bigint DEFAULT NULL, theme_id bigint DEFAULT NULL, locale_id int DEFAULT NULL, - portrait_uuid bigint DEFAULT NULL, + portrait_uuid binary(16) DEFAULT NULL, + password_change_date datetime DEFAULT NULL, change_password tinyint(1) DEFAULT '0', - timezone varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + timezone varchar(255) DEFAULT NULL, first_login tinyint(1) DEFAULT '1', modified_date datetime DEFAULT NULL, last_visited_organisation_id bigint DEFAULT NULL, @@ -1860,11 +1895,10 @@ CONSTRAINT FK_lams_user_5 FOREIGN KEY (theme_id) REFERENCES lams_theme (theme_id), CONSTRAINT FK_lams_user_6 FOREIGN KEY (locale_id) REFERENCES lams_supported_locale (locale_id), CONSTRAINT FK_lams_user_7 FOREIGN KEY (last_visited_organisation_id) REFERENCES lams_organisation (organisation_id) -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_user_group; - CREATE TABLE lams_user_group ( user_id bigint NOT NULL, group_id bigint NOT NULL, @@ -1874,11 +1908,10 @@ KEY group_id (group_id), CONSTRAINT FK_lams_user_group_1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id), CONSTRAINT FK_lams_user_group_2 FOREIGN KEY (group_id) REFERENCES lams_group (group_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_user_organisation; - CREATE TABLE lams_user_organisation ( user_organisation_id bigint NOT NULL AUTO_INCREMENT, organisation_id bigint NOT NULL, @@ -1888,11 +1921,10 @@ KEY user_id (user_id), CONSTRAINT FK_lams_user_organisation_1 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id), CONSTRAINT FK_lams_user_organisation_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) -) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_user_organisation_collapsed; - CREATE TABLE lams_user_organisation_collapsed ( uid bigint NOT NULL AUTO_INCREMENT, organisation_id bigint NOT NULL, @@ -1903,23 +1935,21 @@ KEY user_id (user_id), CONSTRAINT FK_lams_user_organisation_collapsed_1 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id), CONSTRAINT FK_lams_user_organisation_collapsed_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_user_organisation_group; - CREATE TABLE lams_user_organisation_group ( group_id bigint NOT NULL, user_id bigint NOT NULL, PRIMARY KEY (group_id,user_id), KEY FK_lams_user_organisation_group_2 (user_id), CONSTRAINT FK_lams_user_organisation_group_1 FOREIGN KEY (group_id) REFERENCES lams_organisation_group (group_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_lams_user_organisation_group_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_user_organisation_role; - CREATE TABLE lams_user_organisation_role ( user_organisation_role_id bigint NOT NULL AUTO_INCREMENT, user_organisation_id bigint NOT NULL, @@ -1929,15 +1959,26 @@ KEY user_organisation_id (user_organisation_id), CONSTRAINT FK_lams_user_organisation_role_2 FOREIGN KEY (role_id) REFERENCES lams_role (role_id), CONSTRAINT FK_lams_user_organisation_role_3 FOREIGN KEY (user_organisation_id) REFERENCES lams_user_organisation (user_organisation_id) -) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); -DROP TABLE IF EXISTS lams_workspace_folder; +DROP TABLE IF EXISTS lams_user_password_history; +CREATE TABLE lams_user_password_history ( + uid int unsigned NOT NULL AUTO_INCREMENT, + user_id bigint NOT NULL, + change_date datetime NOT NULL, + `password` char(129) COLLATE utf8mb4_unicode_ci NOT NULL, + PRIMARY KEY (uid), + KEY FK_lams_user_password_history_1 (user_id), + CONSTRAINT FK_lams_user_password_history_1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE +); +DROP TABLE IF EXISTS lams_workspace_folder; + CREATE TABLE lams_workspace_folder ( workspace_folder_id bigint NOT NULL AUTO_INCREMENT, parent_folder_id bigint DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(255) NOT NULL, user_id bigint NOT NULL, organisation_id bigint DEFAULT NULL, create_date_time datetime NOT NULL, @@ -1948,48 +1989,53 @@ KEY lams_workspace_folder_type_id (lams_workspace_folder_type_id), CONSTRAINT FK_lams_workspace_folder_2 FOREIGN KEY (parent_folder_id) REFERENCES lams_workspace_folder (workspace_folder_id), CONSTRAINT FK_lams_workspace_folder_4 FOREIGN KEY (lams_workspace_folder_type_id) REFERENCES lams_workspace_folder_type (lams_workspace_folder_type_id) -) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_workspace_folder_content; - CREATE TABLE lams_workspace_folder_content ( folder_content_id bigint NOT NULL AUTO_INCREMENT, content_type_id int NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `description` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(64) NOT NULL, + `description` varchar(64) NOT NULL, create_date_time datetime NOT NULL, last_modified_date datetime NOT NULL, workspace_folder_id bigint NOT NULL, uuid bigint DEFAULT NULL, version_id bigint DEFAULT NULL, - mime_type varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + mime_type varchar(10) NOT NULL, PRIMARY KEY (folder_content_id), UNIQUE KEY unique_content_name (`name`,workspace_folder_id,mime_type), UNIQUE KEY unique_node_version (workspace_folder_id,uuid,version_id), KEY content_type_id (content_type_id), KEY workspace_folder_id (workspace_folder_id), CONSTRAINT FK_lams_workspace_folder_content_1 FOREIGN KEY (workspace_folder_id) REFERENCES lams_workspace_folder (workspace_folder_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS lams_workspace_folder_type; - CREATE TABLE lams_workspace_folder_type ( lams_workspace_folder_type_id int NOT NULL, - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `description` varchar(255) NOT NULL, PRIMARY KEY (lams_workspace_folder_type_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); DROP TABLE IF EXISTS patches; - CREATE TABLE patches ( - system_name varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + system_name varchar(30) NOT NULL, patch_level int NOT NULL, patch_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - patch_in_progress char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'F', + patch_in_progress char(1) NOT NULL DEFAULT 'F', PRIMARY KEY (system_name,patch_level) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +); +DROP TRIGGER IF EXISTS before_insert_qb_question; + +-- Create a trigger to run before insert to generate the UUID for the uuid column +CREATE TRIGGER before_insert_qb_question + BEFORE INSERT ON lams_qb_question + FOR EACH ROW + SET new.uuid = UUID_TO_BIN(UUID()); + SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_common/db/sql/create_quartz_table.sql =================================================================== diff -u -r876d50bd746a64ca649314f52ec4de3396727090 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_common/db/sql/create_quartz_table.sql (.../create_quartz_table.sql) (revision 876d50bd746a64ca649314f52ec4de3396727090) +++ lams_common/db/sql/create_quartz_table.sql (.../create_quartz_table.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,228 +1,183 @@ -- Quartz 2.2.3 SET FOREIGN_KEY_CHECKS=0; -SET NAMES utf8mb4 ; --- --- Table structure for table `lams_qtz_BLOB_TRIGGERS` --- +DROP TABLE IF EXISTS lams_qtz_blob_triggers; -DROP TABLE IF EXISTS `lams_qtz_BLOB_TRIGGERS`; +CREATE TABLE lams_qtz_blob_triggers ( + SCHED_NAME varchar(120) NOT NULL, + TRIGGER_NAME varchar(200) NOT NULL, + TRIGGER_GROUP varchar(200) NOT NULL, + BLOB_DATA blob, + PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), + KEY SCHED_NAME (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), + CONSTRAINT lams_qtz_BLOB_TRIGGERS_ibfk_1 FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP) REFERENCES lams_qtz_triggers (sched_name, trigger_name, trigger_group) +); -CREATE TABLE `lams_qtz_BLOB_TRIGGERS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `BLOB_DATA` blob, - PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), - KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), - CONSTRAINT `lams_qtz_BLOB_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `lams_qtz_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +DROP TABLE IF EXISTS lams_qtz_calendars; --- --- Table structure for table `lams_qtz_CALENDARS` --- +CREATE TABLE lams_qtz_calendars ( + SCHED_NAME varchar(120) NOT NULL, + CALENDAR_NAME varchar(200) NOT NULL, + CALENDAR blob NOT NULL, + PRIMARY KEY (SCHED_NAME,CALENDAR_NAME) +); -DROP TABLE IF EXISTS `lams_qtz_CALENDARS`; +DROP TABLE IF EXISTS lams_qtz_cron_triggers; -CREATE TABLE `lams_qtz_CALENDARS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `CALENDAR_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `CALENDAR` blob NOT NULL, - PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +CREATE TABLE lams_qtz_cron_triggers ( + SCHED_NAME varchar(120) NOT NULL, + TRIGGER_NAME varchar(200) NOT NULL, + TRIGGER_GROUP varchar(200) NOT NULL, + CRON_EXPRESSION varchar(120) NOT NULL, + TIME_ZONE_ID varchar(80) DEFAULT NULL, + PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), + CONSTRAINT lams_qtz_CRON_TRIGGERS_ibfk_1 FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP) REFERENCES lams_qtz_triggers (sched_name, trigger_name, trigger_group) +); --- --- Table structure for table `lams_qtz_CRON_TRIGGERS` --- +DROP TABLE IF EXISTS lams_qtz_fired_triggers; -DROP TABLE IF EXISTS `lams_qtz_CRON_TRIGGERS`; +CREATE TABLE lams_qtz_fired_triggers ( + SCHED_NAME varchar(120) NOT NULL, + ENTRY_ID varchar(95) NOT NULL, + TRIGGER_NAME varchar(200) NOT NULL, + TRIGGER_GROUP varchar(200) NOT NULL, + INSTANCE_NAME varchar(200) NOT NULL, + FIRED_TIME bigint NOT NULL, + SCHED_TIME bigint NOT NULL, + PRIORITY int NOT NULL, + STATE varchar(16) NOT NULL, + JOB_NAME varchar(200) DEFAULT NULL, + JOB_GROUP varchar(200) DEFAULT NULL, + IS_NONCONCURRENT varchar(1) DEFAULT NULL, + REQUESTS_RECOVERY varchar(1) DEFAULT NULL, + PRIMARY KEY (SCHED_NAME,ENTRY_ID), + KEY IDX_lams_qtz_FT_TRIG_INST_NAME (SCHED_NAME,INSTANCE_NAME), + KEY IDX_lams_qtz_FT_INST_JOB_REQ_RCVRY (SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY), + KEY IDX_lams_qtz_FT_J_G (SCHED_NAME,JOB_NAME,JOB_GROUP), + KEY IDX_lams_qtz_FT_JG (SCHED_NAME,JOB_GROUP), + KEY IDX_lams_qtz_FT_T_G (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), + KEY IDX_lams_qtz_FT_TG (SCHED_NAME,TRIGGER_GROUP) +); -CREATE TABLE `lams_qtz_CRON_TRIGGERS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `CRON_EXPRESSION` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `TIME_ZONE_ID` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), - CONSTRAINT `lams_qtz_CRON_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `lams_qtz_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +DROP TABLE IF EXISTS lams_qtz_job_details; --- --- Table structure for table `lams_qtz_FIRED_TRIGGERS` --- +CREATE TABLE lams_qtz_job_details ( + SCHED_NAME varchar(120) NOT NULL, + JOB_NAME varchar(200) NOT NULL, + JOB_GROUP varchar(200) NOT NULL, + `DESCRIPTION` varchar(250) DEFAULT NULL, + JOB_CLASS_NAME varchar(250) NOT NULL, + IS_DURABLE varchar(1) NOT NULL, + IS_NONCONCURRENT varchar(1) NOT NULL, + IS_UPDATE_DATA varchar(1) NOT NULL, + REQUESTS_RECOVERY varchar(1) NOT NULL, + JOB_DATA blob, + PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP), + KEY IDX_lams_qtz_J_REQ_RECOVERY (SCHED_NAME,REQUESTS_RECOVERY), + KEY IDX_lams_qtz_J_GRP (SCHED_NAME,JOB_GROUP) +); -DROP TABLE IF EXISTS `lams_qtz_FIRED_TRIGGERS`; +DROP TABLE IF EXISTS lams_qtz_locks; -CREATE TABLE `lams_qtz_FIRED_TRIGGERS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `ENTRY_ID` varchar(95) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `INSTANCE_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `FIRED_TIME` bigint(13) NOT NULL, - `SCHED_TIME` bigint(13) NOT NULL, - `PRIORITY` int(11) NOT NULL, - `STATE` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL, - `JOB_NAME` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `JOB_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `IS_NONCONCURRENT` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `REQUESTS_RECOVERY` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`), - KEY `IDX_lams_qtz_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`), - KEY `IDX_lams_qtz_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`), - KEY `IDX_lams_qtz_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`), - KEY `IDX_lams_qtz_FT_JG` (`SCHED_NAME`,`JOB_GROUP`), - KEY `IDX_lams_qtz_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), - KEY `IDX_lams_qtz_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +CREATE TABLE lams_qtz_locks ( + SCHED_NAME varchar(120) NOT NULL, + LOCK_NAME varchar(40) NOT NULL, + PRIMARY KEY (SCHED_NAME,LOCK_NAME) +); --- --- Table structure for table `lams_qtz_JOB_DETAILS` --- +DROP TABLE IF EXISTS lams_qtz_paused_trigger_grps; -DROP TABLE IF EXISTS `lams_qtz_JOB_DETAILS`; +CREATE TABLE lams_qtz_paused_trigger_grps ( + SCHED_NAME varchar(120) NOT NULL, + TRIGGER_GROUP varchar(200) NOT NULL, + PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP) +); -CREATE TABLE `lams_qtz_JOB_DETAILS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `JOB_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `JOB_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `DESCRIPTION` varchar(250) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `JOB_CLASS_NAME` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL, - `IS_DURABLE` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL, - `IS_NONCONCURRENT` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL, - `IS_UPDATE_DATA` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL, - `REQUESTS_RECOVERY` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL, - `JOB_DATA` blob, - PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`), - KEY `IDX_lams_qtz_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`), - KEY `IDX_lams_qtz_J_GRP` (`SCHED_NAME`,`JOB_GROUP`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +DROP TABLE IF EXISTS lams_qtz_scheduler_state; --- --- Table structure for table `lams_qtz_LOCKS` --- +CREATE TABLE lams_qtz_scheduler_state ( + SCHED_NAME varchar(120) NOT NULL, + INSTANCE_NAME varchar(200) NOT NULL, + LAST_CHECKIN_TIME bigint NOT NULL, + CHECKIN_INTERVAL bigint NOT NULL, + PRIMARY KEY (SCHED_NAME,INSTANCE_NAME) +); -DROP TABLE IF EXISTS `lams_qtz_LOCKS`; +DROP TABLE IF EXISTS lams_qtz_simple_triggers; -CREATE TABLE `lams_qtz_LOCKS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `LOCK_NAME` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +CREATE TABLE lams_qtz_simple_triggers ( + SCHED_NAME varchar(120) NOT NULL, + TRIGGER_NAME varchar(200) NOT NULL, + TRIGGER_GROUP varchar(200) NOT NULL, + REPEAT_COUNT bigint NOT NULL, + REPEAT_INTERVAL bigint NOT NULL, + TIMES_TRIGGERED bigint NOT NULL, + PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), + CONSTRAINT lams_qtz_SIMPLE_TRIGGERS_ibfk_1 FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP) REFERENCES lams_qtz_triggers (sched_name, trigger_name, trigger_group) +); --- --- Dumping data for table `lams_qtz_LOCKS` --- +DROP TABLE IF EXISTS lams_qtz_simprop_triggers; -LOCK TABLES `lams_qtz_LOCKS` WRITE; -INSERT INTO `lams_qtz_LOCKS` VALUES ('LAMS','TRIGGER_ACCESS'); -UNLOCK TABLES; +CREATE TABLE lams_qtz_simprop_triggers ( + SCHED_NAME varchar(120) NOT NULL, + TRIGGER_NAME varchar(200) NOT NULL, + TRIGGER_GROUP varchar(200) NOT NULL, + STR_PROP_1 varchar(512) DEFAULT NULL, + STR_PROP_2 varchar(512) DEFAULT NULL, + STR_PROP_3 varchar(512) DEFAULT NULL, + INT_PROP_1 int DEFAULT NULL, + INT_PROP_2 int DEFAULT NULL, + LONG_PROP_1 bigint DEFAULT NULL, + LONG_PROP_2 bigint DEFAULT NULL, + DEC_PROP_1 decimal(13,4) DEFAULT NULL, + DEC_PROP_2 decimal(13,4) DEFAULT NULL, + BOOL_PROP_1 varchar(1) DEFAULT NULL, + BOOL_PROP_2 varchar(1) DEFAULT NULL, + PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), + CONSTRAINT lams_qtz_SIMPROP_TRIGGERS_ibfk_1 FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP) REFERENCES lams_qtz_triggers (sched_name, trigger_name, trigger_group) +); --- --- Table structure for table `lams_qtz_PAUSED_TRIGGER_GRPS` --- +DROP TABLE IF EXISTS lams_qtz_triggers; -DROP TABLE IF EXISTS `lams_qtz_PAUSED_TRIGGER_GRPS`; +CREATE TABLE lams_qtz_triggers ( + SCHED_NAME varchar(120) NOT NULL, + TRIGGER_NAME varchar(200) NOT NULL, + TRIGGER_GROUP varchar(200) NOT NULL, + JOB_NAME varchar(200) NOT NULL, + JOB_GROUP varchar(200) NOT NULL, + `DESCRIPTION` varchar(250) DEFAULT NULL, + NEXT_FIRE_TIME bigint DEFAULT NULL, + PREV_FIRE_TIME bigint DEFAULT NULL, + PRIORITY int DEFAULT NULL, + TRIGGER_STATE varchar(16) NOT NULL, + TRIGGER_TYPE varchar(8) NOT NULL, + START_TIME bigint NOT NULL, + END_TIME bigint DEFAULT NULL, + CALENDAR_NAME varchar(200) DEFAULT NULL, + MISFIRE_INSTR smallint DEFAULT NULL, + JOB_DATA blob, + PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), + KEY IDX_lams_qtz_T_J (SCHED_NAME,JOB_NAME,JOB_GROUP), + KEY IDX_lams_qtz_T_JG (SCHED_NAME,JOB_GROUP), + KEY IDX_lams_qtz_T_C (SCHED_NAME,CALENDAR_NAME), + KEY IDX_lams_qtz_T_G (SCHED_NAME,TRIGGER_GROUP), + KEY IDX_lams_qtz_T_STATE (SCHED_NAME,TRIGGER_STATE), + KEY IDX_lams_qtz_T_N_STATE (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE), + KEY IDX_lams_qtz_T_N_G_STATE (SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE), + KEY IDX_lams_qtz_T_NEXT_FIRE_TIME (SCHED_NAME,NEXT_FIRE_TIME), + KEY IDX_lams_qtz_T_NFT_ST (SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME), + KEY IDX_lams_qtz_T_NFT_MISFIRE (SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME), + KEY IDX_lams_qtz_T_NFT_ST_MISFIRE (SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE), + KEY IDX_lams_qtz_T_NFT_ST_MISFIRE_GRP (SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE), + CONSTRAINT lams_qtz_TRIGGERS_ibfk_1 FOREIGN KEY (SCHED_NAME, JOB_NAME, JOB_GROUP) REFERENCES lams_qtz_job_details (SCHED_NAME, JOB_NAME, JOB_GROUP) +); -CREATE TABLE `lams_qtz_PAUSED_TRIGGER_GRPS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +INSERT INTO lams_qtz_job_details VALUES ('LAMS','Resend Messages Job','DEFAULT',NULL,'org.lamsfoundation.lams.events.ResendMessagesJob','1','0','0','0',0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787000737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F40000000000010770800000010000000007800); --- --- Table structure for table `lams_qtz_SCHEDULER_STATE` --- +INSERT INTO lams_qtz_locks VALUES ('LAMS','TRIGGER_ACCESS'); -DROP TABLE IF EXISTS `lams_qtz_SCHEDULER_STATE`; +INSERT INTO lams_qtz_simple_triggers VALUES ('LAMS','Resend Messages Job Trigger','DEFAULT',-1,3600000,0); -CREATE TABLE `lams_qtz_SCHEDULER_STATE` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `INSTANCE_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `LAST_CHECKIN_TIME` bigint(13) NOT NULL, - `CHECKIN_INTERVAL` bigint(13) NOT NULL, - PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +INSERT INTO lams_qtz_triggers VALUES ('LAMS','Resend Messages Job Trigger','DEFAULT','Resend Messages Job','DEFAULT',NULL,1663667031020,-1,0,'WAITING','SIMPLE',1663667031020,0,NULL,0,''); --- --- Table structure for table `lams_qtz_SIMPLE_TRIGGERS` --- - -DROP TABLE IF EXISTS `lams_qtz_SIMPLE_TRIGGERS`; - -CREATE TABLE `lams_qtz_SIMPLE_TRIGGERS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `REPEAT_COUNT` bigint(7) NOT NULL, - `REPEAT_INTERVAL` bigint(12) NOT NULL, - `TIMES_TRIGGERED` bigint(10) NOT NULL, - PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), - CONSTRAINT `lams_qtz_SIMPLE_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `lams_qtz_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `lams_qtz_SIMPROP_TRIGGERS` --- - -DROP TABLE IF EXISTS `lams_qtz_SIMPROP_TRIGGERS`; - -CREATE TABLE `lams_qtz_SIMPROP_TRIGGERS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `STR_PROP_1` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `STR_PROP_2` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `STR_PROP_3` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `INT_PROP_1` int(11) DEFAULT NULL, - `INT_PROP_2` int(11) DEFAULT NULL, - `LONG_PROP_1` bigint(20) DEFAULT NULL, - `LONG_PROP_2` bigint(20) DEFAULT NULL, - `DEC_PROP_1` decimal(13,4) DEFAULT NULL, - `DEC_PROP_2` decimal(13,4) DEFAULT NULL, - `BOOL_PROP_1` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `BOOL_PROP_2` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), - CONSTRAINT `lams_qtz_SIMPROP_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `lams_qtz_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `lams_qtz_TRIGGERS` --- - -DROP TABLE IF EXISTS `lams_qtz_TRIGGERS`; - -CREATE TABLE `lams_qtz_TRIGGERS` ( - `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `JOB_NAME` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `JOB_GROUP` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, - `DESCRIPTION` varchar(250) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `NEXT_FIRE_TIME` bigint(13) DEFAULT NULL, - `PREV_FIRE_TIME` bigint(13) DEFAULT NULL, - `PRIORITY` int(11) DEFAULT NULL, - `TRIGGER_STATE` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL, - `TRIGGER_TYPE` varchar(8) COLLATE utf8mb4_unicode_ci NOT NULL, - `START_TIME` bigint(13) NOT NULL, - `END_TIME` bigint(13) DEFAULT NULL, - `CALENDAR_NAME` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `MISFIRE_INSTR` smallint(2) DEFAULT NULL, - `JOB_DATA` blob, - PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), - KEY `IDX_lams_qtz_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`), - KEY `IDX_lams_qtz_T_JG` (`SCHED_NAME`,`JOB_GROUP`), - KEY `IDX_lams_qtz_T_C` (`SCHED_NAME`,`CALENDAR_NAME`), - KEY `IDX_lams_qtz_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`), - KEY `IDX_lams_qtz_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`), - KEY `IDX_lams_qtz_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`), - KEY `IDX_lams_qtz_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`), - KEY `IDX_lams_qtz_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`), - KEY `IDX_lams_qtz_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`), - KEY `IDX_lams_qtz_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`), - KEY `IDX_lams_qtz_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`), - KEY `IDX_lams_qtz_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`), - CONSTRAINT `lams_qtz_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `lams_qtz_JOB_DETAILS` (`sched_name`, `job_name`, `job_group`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_common/db/sql/insert_lams_config_data.sql =================================================================== diff -u -r2b7de4cee3bd29f6206b2ce1b7c08366b741b24a -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_common/db/sql/insert_lams_config_data.sql (.../insert_lams_config_data.sql) (revision 2b7de4cee3bd29f6206b2ce1b7c08366b741b24a) +++ lams_common/db/sql/insert_lams_config_data.sql (.../insert_lams_config_data.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,12 +1,114 @@ -SET FOREIGN_KEY_CHECKS=0; -SET NAMES utf8mb4 ; - --- --- Dumping data for table `lams_configuration` --- - -LOCK TABLES `lams_configuration` WRITE; -INSERT INTO `lams_configuration` VALUES ('AdminScreenSize','1280x720','config.admin.screen.size','config.header.look.feel','STRING',1),('AllowDirectAccessIntgrtnLrnr','false','config.allow.direct.access.for.integration.learners','config.header.features','BOOLEAN',1),('AllowDirectLessonLaunch','false','config.allow.direct.lesson.launch','config.header.features','BOOLEAN',1),('AllowKumalive','true','config.allow.kumalive','config.header.features','BOOLEAN',1),('AllowLiveEdit','true','config.allow.live.edit','config.header.features','BOOLEAN',1),('AuthoringScreenSize','1280x720','config.authoring.screen.size','config.header.look.feel','STRING',1),('CleanupPreviewOlderThanDays','7','config.cleanup.preview.older.than.days','config.header.system','LONG',1),('ConfigCacheRefreshInterval','0','config.cache.refresh','config.header.system','LONG',0),('ContentRepositoryPath','@contentrepository.directory@','config.content.repository.path','config.header.uploads','STRING',1),('CustomTabLink','','config.custom.tab.link','config.header.look.feel','STRING',0),('CustomTabTitle','','config.custom.tab.title','config.header.look.feel','STRING',0),('DefaultTheme','defaultHTML','config.default.html.theme','config.header.look.feel','STRING',1),('DictionaryDateCreated','2020-11-21','config.dictionary.date.created','config.header.versions','STRING',1),('DisplayPortrait','true','config.display.portrait','config.header.look.feel','BOOLEAN',0),('DisplayPrintButton','false','config.display.print.button','config.header.features','BOOLEAN',1),('EARDir','@ear.directory@','config.ear.dir','config.header.system','STRING',1),('EnableForgotYourPasswordLink','true','config.enable.forgot.your.password.link','config.header.features','BOOLEAN',0),('EnablePortraitEditing','true','config.enable.portrait.editing','config.header.features','BOOLEAN',0),('EnableServerRegistration','false','config.server2server.registration.enable','config.header.system','BOOLEAN',1),('ErrorStackTrace','true','config.stacktrace.error','config.header.system','BOOLEAN',0),('ExecutableExtensions','.bat,.bin,.com,.cmd,.exe,.msi,.msp,.ocx,.pif,.scr,.sct,.sh,.shs,.vbs,.php,.jsp,.asp,.aspx,.pl,.do,.py,.tcl,.cgi,.shtml,.stm,.cfm,.adp','config.executable.extensions','config.header.uploads','STRING',1),('FailedAttempts','3','config.failed.attempts','config.header.password.policy','LONG',1),('HelpURL','http://wiki.lamsfoundation.org/display/lamsdocs/','config.help.url','config.header.system','STRING',1),('LamsSupportEmail','','config.lams.support.email','config.header.email','STRING',0),('LDAPAddr1Attr','postalAddress','admin.user.address_line_1','config.header.ldap.attributes','STRING',0),('LDAPAddr2Attr','','admin.user.address_line_2','config.header.ldap.attributes','STRING',0),('LDAPAddr3Attr','','admin.user.address_line_3','config.header.ldap.attributes','STRING',0),('LDAPAuthorMap','Teacher;SeniorStaff;Principal','config.ldap.author.map','config.header.ldap.attributes','STRING',0),('LDAPBaseDN','ou=Users,dc=melcoe,dc=mq,dc=edu,dc=au','config.ldap.base.dn','config.header.ldap','STRING',0),('LDAPBindUserDN','','config.ldap.bind.user.dn','config.header.ldap','STRING',0),('LDAPBindUserPassword','','config.ldap.bind.user.password','config.header.ldap','STRING',0),('LDAPCityAttr','l','admin.user.city','config.header.ldap.attributes','STRING',0),('LDAPCountryAttr','','admin.user.country','config.header.ldap.attributes','STRING',0),('LDAPDayPhoneAttr','telephoneNumber','admin.user.day_phone','config.header.ldap.attributes','STRING',0),('LDAPDisabledAttr','!accountStatus','sysadmin.disabled','config.header.ldap.attributes','STRING',0),('LDAPEmailAttr','mail','admin.user.email','config.header.ldap.attributes','STRING',0),('LDAPEveningPhoneAttr','homePhone','admin.user.evening_phone','config.header.ldap.attributes','STRING',0),('LDAPFaxAttr','facsimileTelephoneNumber','admin.user.fax','config.header.ldap.attributes','STRING',0),('LDAPFNameAttr','givenName','admin.user.first_name','config.header.ldap.attributes','STRING',0),('LDAPGroupManagerMap','Principal;Teacher;SeniorStaff','config.ldap.group.manager.map','config.header.ldap.attributes','STRING',0),('LDAPLearnerMap','Student;SchoolSupportStaff;Teacher;SeniorStaff;Principal','config.ldap.learner.map','config.header.ldap.attributes','STRING',0),('LDAPLNameAttr','sn','admin.user.last_name','config.header.ldap.attributes','STRING',0),('LDAPLocaleAttr','preferredLanguage','admin.organisation.locale','config.header.ldap.attributes','STRING',0),('LDAPLoginAttr','uid','admin.user.login','config.header.ldap.attributes','STRING',0),('LDAPMobileAttr','mobile','admin.user.mobile_phone','config.header.ldap.attributes','STRING',0),('LDAPMonitorMap','SchoolSupportStaff;Teacher;SeniorStaff;Principal','config.ldap.monitor.map','config.header.ldap.attributes','STRING',0),('LDAPOnlyOneOrg','true','config.ldap.only.one.org','config.header.ldap','BOOLEAN',1),('LDAPOrgAttr','schoolCode','admin.course','config.header.ldap.attributes','STRING',0),('LDAPOrgField','code','config.ldap.org.field','config.header.ldap.attributes','STRING',0),('LDAPPostcodeAttr','postalCode','admin.user.postcode','config.header.ldap.attributes','STRING',0),('LDAPProviderURL','ldap://192.168.111.15','config.ldap.provider.url','config.header.ldap','STRING',0),('LDAPProvisioningEnabled','false','config.ldap.provisioning.enabled','config.header.ldap','BOOLEAN',1),('LDAPRolesAttr','memberOf','admin.user.roles','config.header.ldap.attributes','STRING',0),('LDAPSearchFilter','(cn={0})','config.ldap.search.filter','config.header.ldap','STRING',0),('LDAPSearchResultsPageSize','100','config.ldap.search.results.page.size','config.header.ldap','LONG',0),('LDAPSecurityAuthentication','simple','config.ldap.security.authentication','config.header.ldap','STRING',0),('LDAPSecurityProtocol','','config.ldap.security.protocol','config.header.ldap','STRING',0),('LDAPStateAttr','st','admin.user.state','config.header.ldap.attributes','STRING',0),('LDAPUpdateOnLogin','true','config.ldap.update.on.login','config.header.ldap','BOOLEAN',1),('LearnerScreenSize','1280x720','config.learner.screen.size','config.header.look.feel','STRING',1),('LockOutTime','5','config.lock.out.time','config.header.password.policy','LONG',1),('MonitorScreenSize','1280x720','config.monitor.screen.size','config.header.look.feel','STRING',1),('PasswordPolicyLowercase','true','config.password.lowercase','config.header.password.policy','BOOLEAN',0),('PasswordPolicyMinChars','8','config.password.minimum.characters','config.header.password.policy','LONG',1),('PasswordPolicyNumerics','true','config.password.numerics','config.header.password.policy','BOOLEAN',0),('PasswordPolicySymbols','false','config.password.symbols','config.header.password.policy','BOOLEAN',0),('PasswordPolicyUppercase','true','config.password.uppercase','config.header.password.policy','BOOLEAN',0),('ProfileEditEnable','true','config.profile.edit.enable','config.header.features','BOOLEAN',1),('ProfilePartialEditEnable','true','config.profile.partial.edit.enable','config.header.features','BOOLEAN',1),('ServerCountry','AU','config.server.country','config.header.look.feel','STRING',1),('ServerLanguage','en_AU','config.server.language','config.header.look.feel','STRING',1),('ServerPageDirection','LTR','config.server.page.direction','config.header.look.feel','STRING',1),('ServerURL','http://localhost:8080/lams/','config.server.url','config.header.system','STRING',1),('ServerURLContextPath','lams/','config.server.url.context.path','config.header.system','STRING',1),('ServerVersionNumber','4.0','config.server.version.number','config.header.versions','STRING',1),('ShowAllMyLessonLink','true','config.show.all.my.lesson.link','config.header.features','BOOLEAN',1),('ShowTimezoneWarning','true','config.show.timezone.warning','config.header.features','BOOLEAN',1),('SiteName','LAMS','config.site.name','config.header.system','STRING',1),('SMTPAuthSecurity','none','config.smtp.auth.security','config.header.email','STRING',1),('SMTPPassword','','config.smtp.password','config.header.email','STRING',0),('SMTPPort','25','config.smtp.port','config.header.email','LONG',0),('SMTPServer','','config.smtp.server','config.header.email','STRING',0),('SMTPUser','','config.smtp.user','config.header.email','STRING',0),('SuffixImportedLD','false','config.authoring.suffix','config.header.features','BOOLEAN',0),('TempDir','@temp.directory@','config.temp.dir','config.header.system','STRING',1),('UploadFileMaxMemorySize','4096','config.upload.file.max.memory.size','config.header.uploads','LONG',1),('UploadFileMaxSize','10485760','config.upload.file.max.size','config.header.uploads','LONG',1),('UploadLargeFileMaxSize','104857600','config.upload.large.file.max.size','config.header.uploads','LONG',1),('UserInactiveTimeout','10800','config.user.inactive.timeout','config.header.system','LONG',1),('UserValidationEmail','true','config.user.validation.emails','config.header.user.validation','BOOLEAN',0),('UserValidationFirstLastName','true','config.user.validation.first.last.name','config.header.user.validation','BOOLEAN',0),('UserValidationUsername','true','config.user.validation.username','config.header.user.validation','BOOLEAN',0),('Version','3.1','config.version','config.header.system','STRING',1),('RestrictedGroupUserNames','true', 'config.restricted.displaying.user.names.in.groupings', 'config.header.privacy.settings', 'BOOLEAN', 0),('EnableCollapsingSubcourses','false', 'config.enable.collapsing.subcourses', 'config.header.features', 'BOOLEAN', 0),('EtherpadServerUrl','http://localhost:9001','config.etherpad.server.url','config.header.etherpad','STRING', 0),('EtherpadApiKey','','config.etherpad.api.key','config.header.etherpad','STRING', 0),('EtherpadInstanceID','LAMS','config.etherpad.instance.id','config.header.etherpad','STRING', 0); -UNLOCK TABLES; - -SET FOREIGN_KEY_CHECKS=1; +INSERT INTO lams_configuration VALUES +('AdminScreenSize','1280x720','config.admin.screen.size','config.header.look.feel','STRING',1), +('AllowDirectAccessIntgrtnLrnr','false','config.allow.direct.access.for.integration.learners','config.header.features','BOOLEAN',1), +('AllowDirectLessonLaunch','false','config.allow.direct.lesson.launch','config.header.features','BOOLEAN',1), +('AllowKumalive','true','config.allow.kumalive','config.header.features','BOOLEAN',1), +('AllowLiveEdit','true','config.allow.live.edit','config.header.features','BOOLEAN',1), +('AntivirusEnable','false','config.av.enable','config.header.antivirus','BOOLEAN',1), +('AntivirusHost','localhost','config.av.host','config.header.antivirus','STRING',0), +('AntivirusPort','3310','config.av.port','config.header.antivirus','LONG',0), +('AuthoringScreenSize','1280x720','config.authoring.screen.size','config.header.look.feel','STRING',1), +('CleanupPreviewOlderThanDays','7','config.cleanup.preview.older.than.days','config.header.system','LONG',1), +('ConfigCacheRefreshInterval','0','config.cache.refresh','config.header.system','LONG',0), +('ContentRepositoryPath','@contentrepository.directory@','config.content.repository.path','config.header.uploads','STRING',1), +('CustomTabLink','','config.custom.tab.link','config.header.look.feel','STRING',0), +('CustomTabTitle','','config.custom.tab.title','config.header.look.feel','STRING',0), +('DefaultTheme','defaultHTML','config.default.html.theme','config.header.look.feel','STRING',1), +('DictionaryDateCreated','2021-10-25','config.dictionary.date.created','config.header.versions','STRING',1), +('DisplayPortrait','true','config.display.portrait','config.header.look.feel','BOOLEAN',0), +('DisplayPrintButton','false','config.display.print.button','config.header.features','BOOLEAN',1), +('EARDir','@ear.directory@','config.ear.dir','config.header.system','STRING',1), +('EnableCollapsingSubcourses','false','config.enable.collapsing.subcourses','config.header.features','BOOLEAN',0), +('EnableForgotYourPasswordLink','true','config.enable.forgot.your.password.link','config.header.features','BOOLEAN',0), +('EnablePortraitEditing','true','config.enable.portrait.editing','config.header.features','BOOLEAN',0), +('EnableServerRegistration','false','config.server2server.registration.enable','config.header.system','BOOLEAN',1), +('ErrorStackTrace','true','config.stacktrace.error','config.header.system','BOOLEAN',0), +('EtherpadApiKey','','config.etherpad.api.key','config.header.etherpad','STRING',0), +('EtherpadInstanceID','LAMS','config.etherpad.instance.id','config.header.etherpad','STRING',0), +('EtherpadServerUrl','http://localhost:9001','config.etherpad.server.url','config.header.etherpad','STRING',0), +('ExecutableExtensions','.bat,.bin,.com,.cmd,.exe,.msi,.msp,.ocx,.pif,.scr,.sct,.sh,.shs,.vbs,.php,.jsp,.asp,.aspx,.pl,.do,.py,.tcl,.cgi,.shtml,.stm,.cfm,.adp','config.executable.extensions','config.header.uploads','STRING',1), +('FailedAttempts','3','config.failed.attempts','config.header.password.policy','LONG',1), +('HelpURL','http://wiki.lamsfoundation.org/display/lamsdocs/','config.help.url','config.header.system','STRING',1), +('LamsSupportEmail','','config.lams.support.email','config.header.email','STRING',0), +('LDAPAddr1Attr','postalAddress','admin.user.address_line_1','config.header.ldap.attributes','STRING',0), +('LDAPAddr2Attr','','admin.user.address_line_2','config.header.ldap.attributes','STRING',0), +('LDAPAddr3Attr','','admin.user.address_line_3','config.header.ldap.attributes','STRING',0), +('LDAPAuthorMap','Teacher;SeniorStaff;Principal','config.ldap.author.map','config.header.ldap.attributes','STRING',0), +('LDAPBaseDN','ou=Users,dc=melcoe,dc=mq,dc=edu,dc=au','config.ldap.base.dn','config.header.ldap','STRING',0), +('LDAPBindUserDN','','config.ldap.bind.user.dn','config.header.ldap','STRING',0), +('LDAPBindUserPassword','','config.ldap.bind.user.password','config.header.ldap','STRING',0), +('LDAPCityAttr','l','admin.user.city','config.header.ldap.attributes','STRING',0), +('LDAPCountryAttr','','admin.user.country','config.header.ldap.attributes','STRING',0), +('LDAPDayPhoneAttr','telephoneNumber','admin.user.day_phone','config.header.ldap.attributes','STRING',0), +('LDAPDisabledAttr','!accountStatus','sysadmin.disabled','config.header.ldap.attributes','STRING',0), +('LDAPEmailAttr','mail','admin.user.email','config.header.ldap.attributes','STRING',0), +('LDAPEveningPhoneAttr','homePhone','admin.user.evening_phone','config.header.ldap.attributes','STRING',0), +('LDAPFaxAttr','facsimileTelephoneNumber','admin.user.fax','config.header.ldap.attributes','STRING',0), +('LDAPFNameAttr','givenName','admin.user.first_name','config.header.ldap.attributes','STRING',0), +('LDAPGroupManagerMap','Principal;Teacher;SeniorStaff','config.ldap.group.manager.map','config.header.ldap.attributes','STRING',0), +('LDAPLearnerMap','Student;SchoolSupportStaff;Teacher;SeniorStaff;Principal','config.ldap.learner.map','config.header.ldap.attributes','STRING',0), +('LDAPLNameAttr','sn','admin.user.last_name','config.header.ldap.attributes','STRING',0), +('LDAPLocaleAttr','preferredLanguage','admin.organisation.locale','config.header.ldap.attributes','STRING',0), +('LDAPLoginAttr','uid','admin.user.login','config.header.ldap.attributes','STRING',0), +('LDAPMobileAttr','mobile','admin.user.mobile_phone','config.header.ldap.attributes','STRING',0), +('LDAPMonitorMap','SchoolSupportStaff;Teacher;SeniorStaff;Principal','config.ldap.monitor.map','config.header.ldap.attributes','STRING',0), +('LDAPOnlyOneOrg','true','config.ldap.only.one.org','config.header.ldap','BOOLEAN',1), +('LDAPOrgAttr','schoolCode','admin.course','config.header.ldap.attributes','STRING',0), +('LDAPOrgField','code','config.ldap.org.field','config.header.ldap.attributes','STRING',0), +('LDAPPostcodeAttr','postalCode','admin.user.postcode','config.header.ldap.attributes','STRING',0), +('LDAPProviderURL','ldap://192.168.111.15','config.ldap.provider.url','config.header.ldap','STRING',0), +('LDAPProvisioningEnabled','false','config.ldap.provisioning.enabled','config.header.ldap','BOOLEAN',1), +('LDAPRolesAttr','memberOf','admin.user.roles','config.header.ldap.attributes','STRING',0), +('LDAPSearchFilter','(cn={0})','config.ldap.search.filter','config.header.ldap','STRING',0), +('LDAPSearchResultsPageSize','100','config.ldap.search.results.page.size','config.header.ldap','LONG',0), +('LDAPSecurityAuthentication','simple','config.ldap.security.authentication','config.header.ldap','STRING',0), +('LDAPSecurityProtocol','','config.ldap.security.protocol','config.header.ldap','STRING',0), +('LDAPStateAttr','st','admin.user.state','config.header.ldap.attributes','STRING',0), +('LDAPUpdateOnLogin','true','config.ldap.update.on.login','config.header.ldap','BOOLEAN',1), +('LearnerScreenSize','1280x720','config.learner.screen.size','config.header.look.feel','STRING',1), +('LearningOutcomeQuickAddEnable','true','config.learning.outcome.add.enable','config.header.features','BOOLEAN',1), +('LockOutTime','5','config.lock.out.time','config.header.password.policy','LONG',1), +('LoginAsEnable','true','config.login.as.enable','config.header.privacy.settings','BOOLEAN',1), +('MonitorScreenSize','1280x720','config.monitor.screen.size','config.header.look.feel','STRING',1), +('PasswordExpirationMonths','12','config.password.expiration','config.header.password.policy','LONG',1), +('PasswordHistoryLimit','3','config.password.history','config.header.password.policy','LONG',1), +('PasswordPolicyLowercase','true','config.password.lowercase','config.header.password.policy','BOOLEAN',0), +('PasswordPolicyMinChars','8','config.password.minimum.characters','config.header.password.policy','LONG',1), +('PasswordPolicyNumerics','true','config.password.numerics','config.header.password.policy','BOOLEAN',0), +('PasswordPolicySymbols','false','config.password.symbols','config.header.password.policy','BOOLEAN',0), +('PasswordPolicyUppercase','true','config.password.uppercase','config.header.password.policy','BOOLEAN',0), +('ProfileEditEnable','true','config.profile.edit.enable','config.header.features','BOOLEAN',1), +('ProfilePartialEditEnable','true','config.profile.partial.edit.enable','config.header.features','BOOLEAN',1), +('QbCollectionsCreateEnable','true','config.qb.collections.create.enable','config.header.qb','BOOLEAN',1), +('QbCollectionsTransferEnable','true','config.qb.collections.transfer.enable','config.header.qb','BOOLEAN',1), +('QbMergeEnable','true','config.qb.merge.enable','config.header.qb','BOOLEAN',1), +('QbMonitorsReadOnly','false','config.qb.monitors.read.only','config.header.qb','BOOLEAN',1), +('QbQtiEnable','true','config.qb.qti.enable','config.header.qb','BOOLEAN',1), +('QbStatsGroupSize','27','config.qb.stats.group.size','config.header.qb','LONG',1), +('QbStatsMinParticipants','2','config.qb.stats.min.participants','config.header.qb','LONG',1), +('QbWordEnable','true','config.qb.word.enable','config.header.qb','BOOLEAN',1), +('RestrictedGroupUserNames','true','config.restricted.displaying.user.names.in.groupings','config.header.privacy.settings','BOOLEAN',0), +('ServerCountry','AU','config.server.country','config.header.look.feel','STRING',1), +('ServerLanguage','en_AU','config.server.language','config.header.look.feel','STRING',1), +('ServerPageDirection','LTR','config.server.page.direction','config.header.look.feel','STRING',1), +('ServerURL','http://localhost:8080/lams/','config.server.url','config.header.system','STRING',1), +('ServerURLContextPath','lams/','config.server.url.context.path','config.header.system','STRING',1), +('ServerVersionNumber','4.6','config.server.version.number','config.header.versions','STRING',1), +('ShowAllMyLessonLink','true','config.show.all.my.lesson.link','config.header.features','BOOLEAN',1), +('ShowTimezoneWarning','true','config.show.timezone.warning','config.header.features','BOOLEAN',1), +('SiteName','LAMS','config.site.name','config.header.system','STRING',1), +('SMTPAuthSecurity','none','config.smtp.auth.security','config.header.email','STRING',1), +('SMTPPassword','','config.smtp.password','config.header.email','STRING',0), +('SMTPPort','25','config.smtp.port','config.header.email','LONG',0), +('SMTPServer','','config.smtp.server','config.header.email','STRING',0), +('SMTPUser','','config.smtp.user','config.header.email','STRING',0), +('SuffixImportedLD','false','config.authoring.suffix','config.header.features','BOOLEAN',0), +('TempDir','@temp.directory@','config.temp.dir','config.header.system','STRING',1), +('UploadFileMaxMemorySize','4096','config.upload.file.max.memory.size','config.header.uploads','LONG',1), +('UploadFileMaxSize','10485760','config.upload.file.max.size','config.header.uploads','LONG',1), +('UploadLargeFileMaxSize','104857600','config.upload.large.file.max.size','config.header.uploads','LONG',1), +('UserInactiveTimeout','10800','config.user.inactive.timeout','config.header.system','LONG',1), +('UserValidationEmail','true','config.user.validation.emails','config.header.user.validation','BOOLEAN',0), +('UserValidationFirstLastName','true','config.user.validation.first.last.name','config.header.user.validation','BOOLEAN',0), +('UserValidationUsername','true','config.user.validation.username','config.header.user.validation','BOOLEAN',0), +('Version','4.6','config.version','config.header.system','STRING',1); \ No newline at end of file Index: lams_common/db/sql/insert_lams_users.sql =================================================================== diff -u -r6518dd6ffc589b355f5cee604b79455cdfd919a1 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_common/db/sql/insert_lams_users.sql (.../insert_lams_users.sql) (revision 6518dd6ffc589b355f5cee604b79455cdfd919a1) +++ lams_common/db/sql/insert_lams_users.sql (.../insert_lams_users.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,53 +1,129 @@ -SET FOREIGN_KEY_CHECKS=0; -SET NAMES utf8mb4 ; --- --- Dumping data for table `lams_theme` --- +INSERT INTO lams_theme VALUES +(1,'defaultHTML','Default HTML style','css'), +(2,'purple','Purple Theme','css'); -LOCK TABLES `lams_theme` WRITE; -INSERT INTO `lams_theme` VALUES (1,'defaultHTML','Default HTML style','css'),(2,'purple','Purple Theme','css'); -UNLOCK TABLES; +INSERT INTO lams_workspace_folder VALUES +(1,NULL,'ROOT',1,1,'2022-09-20 11:38:25','2022-09-20 11:38:25',1), +(2,1,'Developers Playpen',1,2,'2022-09-20 11:38:25','2022-09-20 11:38:25',1), +(3,1,'MATH111',1,4,'2022-09-20 11:38:25','2022-09-20 11:38:25',1), +(4,NULL,'Mary Morgan',4,NULL,'2022-09-20 11:38:25','2022-09-20 11:38:25',1), +(5,NULL,'One Test',5,NULL,'2022-09-20 11:38:25','2022-09-20 11:38:25',1), +(6,NULL,'Two Test',6,NULL,'2022-09-20 11:38:25','2022-09-20 11:38:25',1), +(7,NULL,'Three Test',7,NULL,'2022-09-20 11:38:25','2022-09-20 11:38:25',1), +(8,NULL,'Four Test',8,NULL,'2022-09-20 11:38:25','2022-09-20 11:38:25',1), +(22,2,'Lesson Sequence Folder',1,2,'2022-09-20 11:38:25','2022-09-20 11:38:25',2), +(23,3,'Lesson Sequence Folder',1,4,'2022-09-20 11:38:25','2022-09-20 11:38:25',2), +(40,1,'Moodle Test',1,7,'2022-09-20 11:38:25','2022-09-20 11:38:25',2), +(41,40,'Lesson Sequence Folder',1,7,'2022-09-20 11:38:25','2022-09-20 11:38:25',2), +(45,NULL,'System Administrator',1,NULL,'2022-09-20 11:38:25','2022-09-20 11:38:25',1), +(46,1,'Public Folder',1,NULL,'2022-09-20 11:38:25','2022-09-20 11:38:25',3); --- --- Dumping data for table `lams_workspace_folder` --- +INSERT INTO lams_organisation VALUES +(1,'Root',NULL,'Root Organisation',NULL,1,'2022-09-20 11:38:25',1,1,0,0,0,0,0,0,1,1,0,NULL,NULL), +(2,'Playpen','PP101','Developers Playpen',1,2,'2022-09-20 11:38:25',1,1,0,0,0,0,1,1,1,1,0,NULL,NULL), +(3,'Everybody',NULL,'All People In Course',2,3,'2022-09-20 11:38:25',1,1,0,0,0,0,0,0,1,1,0,NULL,NULL), +(4,'Mathematics 1','MATH111','Mathematics 1',1,2,'2022-09-20 11:38:25',1,1,0,0,0,0,1,1,1,1,0,NULL,NULL), +(5,'Tutorial Group A','TUTA','Tutorial Group A',4,3,'2022-09-20 11:38:25',1,1,0,0,0,0,0,0,1,1,0,NULL,NULL), +(6,'Tutorial Group B','TUTB','Tutorial Group B',4,3,'2022-09-20 11:38:25',1,1,0,0,0,0,0,0,1,1,0,NULL,NULL), +(7,'Moodle','Moodle','Moodle Test',1,2,'2022-09-20 11:38:25',1,2,0,0,0,0,0,0,1,1,0,NULL,NULL); -LOCK TABLES `lams_workspace_folder` WRITE; -INSERT INTO `lams_workspace_folder` VALUES (1,NULL,'ROOT',1,1,NOW(),NOW(),1),(2,1,'Developers Playpen',1,2,NOW(),NOW(),1),(3,1,'MATH111',1,4,NOW(),NOW(),1),(4,NULL,'Mary Morgan',4,NULL,NOW(),NOW(),1),(5,NULL,'One Test',5,NULL,NOW(),NOW(),1),(6,NULL,'Two Test',6,NULL,NOW(),NOW(),1),(7,NULL,'Three Test',7,NULL,NOW(),NOW(),1),(8,NULL,'Four Test',8,NULL,NOW(),NOW(),1),(22,2,'Lesson Sequence Folder',1,2,NOW(),NOW(),2),(23,3,'Lesson Sequence Folder',1,4,NOW(),NOW(),2),(40,1,'Moodle Test',1,7,NOW(),NOW(),2),(41,40,'Lesson Sequence Folder',1,7,NOW(),NOW(),2),(45,NULL,'System Administrator',1,NULL,NOW(),NOW(),1),(46,1,'Public Folder',1,NULL,NOW(),NOW(),3); -UNLOCK TABLES; +INSERT INTO lams_user VALUES +(1,'sysadmin','a159b7ae81ba3552af61e9731b20870515944538',NULL,0,NULL,'The','System','Administrator',NULL,NULL,NULL,'Sydney','NSW',NULL,NULL,NULL,NULL,NULL,NULL,'sysadmin@x.x',1,0,'2022-09-20 11:38:25',1,45,1,1,NULL,NULL,0,'Etc/GMT',1,NULL,NULL,NULL,NULL), +(2,'test','a94a8fe5ccb19ba61c4c0873d391e987982fbbd3',NULL,0,NULL,'Dr','Testing','LDAP',NULL,NULL,NULL,'Sydney','NSW',NULL,NULL,NULL,NULL,NULL,NULL,'test@xx.xx.xx',1,0,'2022-09-20 11:38:25',3,NULL,1,3,NULL,NULL,0,'Etc/GMT',1,NULL,NULL,NULL,NULL), +(4,'mmm','91223fd10ce86fc852b449583aa2196c304bf6e0',NULL,0,NULL,'Ms','Mary','Morgan','99','First Ave',NULL,'Parramatta','NSW',NULL,NULL,'0295099999','0298939999','0499999999','0299999999','mmmmmmm@xx.os',1,0,'2022-09-20 11:38:25',1,4,1,1,NULL,NULL,0,'Etc/GMT',1,NULL,NULL,NULL,NULL), +(5,'test1','b444ac06613fc8d63795be9ad0beaf55011936ac',NULL,0,NULL,'Dr','One','Test','1','Test Ave',NULL,'Nowhere','NSW',NULL,NULL,'0211111111','0211111112','0411111111','0211111113','test1@xx.os',1,0,'2022-09-20 11:38:25',1,5,1,1,NULL,NULL,0,'Etc/GMT',1,NULL,NULL,NULL,NULL), +(6,'test2','109f4b3c50d7b0df729d299bc6f8e9ef9066971f',NULL,0,NULL,'Dr','Two','Test','2','Test Ave',NULL,'Nowhere','NSW',NULL,NULL,'0211111111','0211111112','0411111111','0211111113','test2@xx.os',1,0,'2022-09-20 11:38:25',1,6,1,1,NULL,NULL,0,'Etc/GMT',1,NULL,NULL,NULL,NULL), +(7,'test3','3ebfa301dc59196f18593c45e519287a23297589',NULL,0,NULL,'Dr','Three','Test','3','Test Ave',NULL,'Nowhere','NSW',NULL,NULL,'0211111111','0211111112','0411111111','0211111113','test3@xx.os',1,0,'2022-09-20 11:38:25',1,7,1,1,NULL,NULL,0,'Etc/GMT',1,NULL,NULL,NULL,NULL), +(8,'test4','1ff2b3704aede04eecb51e50ca698efd50a1379b',NULL,0,NULL,'Dr','Four','Test','4','Test Ave',NULL,'Nowhere','NSW',NULL,NULL,'0211111111','0211111112','0411111111','0211111113','test4@xx.os',1,0,'2022-09-20 11:38:25',1,8,1,1,NULL,NULL,0,'Etc/GMT',1,NULL,NULL,NULL,NULL); +INSERT INTO lams_user_organisation VALUES +(1,1,1), +(2,2,2), +(4,2,4), +(5,2,5), +(6,2,6), +(7,2,7), +(8,2,8), +(9,3,2), +(11,3,4), +(12,3,5), +(13,3,6), +(14,3,7), +(15,3,8), +(16,4,2), +(18,4,4), +(19,4,5), +(20,4,6), +(21,4,7), +(22,4,8), +(23,5,2), +(25,5,4), +(26,5,5), +(27,5,6), +(28,6,7), +(29,6,8); --- --- Dumping data for table `lams_organisation` --- - -LOCK TABLES `lams_organisation` WRITE; -INSERT INTO `lams_organisation` VALUES (1,'Root',NULL,'Root Organisation',NULL,1,NOW(),1,1,0,0,0,0,0,0,1,1,0,NULL,NULL),(2,'Playpen','PP101','Developers Playpen',1,2,NOW(),1,1,0,0,0,0,1,1,1,1,0,NULL,NULL),(3,'Everybody',NULL,'All People In Course',2,3,NOW(),1,1,0,0,0,0,0,0,1,1,0,NULL,NULL),(4,'Mathematics 1','MATH111','Mathematics 1',1,2,NOW(),1,1,0,0,0,0,1,1,1,1,0,NULL,NULL),(5,'Tutorial Group A','TUTA','Tutorial Group A',4,3,NOW(),1,1,0,0,0,0,0,0,1,1,0,NULL,NULL),(6,'Tutorial Group B','TUTB','Tutorial Group B',4,3,NOW(),1,1,0,0,0,0,0,0,1,1,0,NULL,NULL),(7,'Moodle','Moodle','Moodle Test',1,2,NOW(),1,2,0,0,0,0,0,0,1,1,0,NULL,NULL); -UNLOCK TABLES; - --- --- Dumping data for table `lams_user` --- - -LOCK TABLES `lams_user` WRITE; -INSERT INTO `lams_user` VALUES (1,'sysadmin','a159b7ae81ba3552af61e9731b20870515944538',NULL,0,NULL,'The','System','Administrator',NULL,NULL,NULL,'Sydney','NSW',NULL,'AU',NULL,NULL,NULL,NULL,'sysadmin@email.com',1,0,NOW(),1,45,1,1,NULL,0,'Australia/Sydney',1,NULL,NULL,NULL,NULL),(2,'test','a94a8fe5ccb19ba61c4c0873d391e987982fbbd3',NULL,0,NULL,'Dr','Testing','LDAP',NULL,NULL,NULL,'Sydney','NSW',NULL,'AU',NULL,NULL,NULL,NULL,'test@email.com',1,0,NOW(),3,NULL,1,3,NULL,0,'Australia/Sydney',1,NULL,NULL,NULL,NULL),(4,'mmm','91223fd10ce86fc852b449583aa2196c304bf6e0',NULL,0,NULL,'Ms','Mary','Morgan','99','First Ave',NULL,'Sydney','NSW',NULL,'AU','0295099999','0298939999','0499999999','0299999999','mmmmmmm@email.com',1,0,NOW(),1,4,1,1,NULL,0,'Australia/Sydney',1,NULL,NULL,NULL,NULL),(5,'test1','b444ac06613fc8d63795be9ad0beaf55011936ac',NULL,0,NULL,'Dr','One','Test','1','Test Ave',NULL,'Sydney','NSW',NULL,'AU','0211111111','0211111112','0411111111','0211111113','test1@email.com',1,0,NOW(),1,5,1,1,NULL,0,'Australia/Sydney',1,NULL,NULL,NULL,NULL),(6,'test2','109f4b3c50d7b0df729d299bc6f8e9ef9066971f',NULL,0,NULL,'Dr','Two','Test','2','Test Ave',NULL,'Sydney','NSW',NULL,'AU','0211111111','0211111112','0411111111','0211111113','test2@email.com',1,0,NOW(),1,6,1,1,NULL,0,'Australia/Sydney',1,NULL,NULL,NULL,NULL),(7,'test3','3ebfa301dc59196f18593c45e519287a23297589',NULL,0,NULL,'Dr','Three','Test','3','Test Ave',NULL,'Sydney','NSW',NULL,'AU','0211111111','0211111112','0411111111','0211111113','test3@email.com',1,0,NOW(),1,7,1,1,NULL,0,'Australia/Sydney',1,NULL,NULL,NULL,NULL),(8,'test4','1ff2b3704aede04eecb51e50ca698efd50a1379b',NULL,0,NULL,'Dr','Four','Test','4','Test Ave',NULL,'Sydney','NSW',NULL,'AU','0211111111','0211111112','0411111111','0211111113','test4@email.com',1,0,NOW(),1,8,1,1,NULL,0,'Australia/Sydney',1,NULL,NULL,NULL,NULL); -UNLOCK TABLES; - --- --- Dumping data for table `lams_user_organisation` --- - -LOCK TABLES `lams_user_organisation` WRITE; -INSERT INTO `lams_user_organisation` VALUES (1,1,1),(2,2,2),(4,2,4),(5,2,5),(6,2,6),(7,2,7),(8,2,8),(9,3,2),(11,3,4),(12,3,5),(13,3,6),(14,3,7),(15,3,8),(16,4,2),(18,4,4),(19,4,5),(20,4,6),(21,4,7),(22,4,8),(23,5,2),(25,5,4),(26,5,5),(27,5,6),(28,6,7),(29,6,8); -UNLOCK TABLES; - - --- --- Dumping data for table `lams_user_organisation_role` --- - -LOCK TABLES `lams_user_organisation_role` WRITE; -INSERT INTO `lams_user_organisation_role` VALUES (1,1,1),(2,2,3),(4,4,3),(5,5,3),(6,6,3),(7,7,3),(8,8,3),(9,2,4),(11,4,4),(12,5,4),(13,6,4),(14,7,4),(15,8,4),(16,2,5),(18,4,5),(19,5,5),(20,6,5),(21,7,5),(22,8,5),(23,9,4),(25,11,4),(26,12,4),(27,13,4),(28,14,4),(29,16,4),(30,9,5),(32,11,5),(33,12,5),(34,13,5),(35,14,5),(36,15,5),(37,22,2),(38,16,3),(40,18,3),(41,19,3),(42,20,3),(43,21,3),(44,22,3),(45,16,4),(47,18,4),(48,19,4),(49,20,4),(50,21,4),(51,22,4),(52,16,5),(54,18,5),(55,19,5),(56,20,5),(57,21,5),(58,22,5),(60,23,4),(62,25,4),(63,26,4),(64,27,4),(65,28,4),(66,29,4),(67,23,5),(69,25,5),(70,26,5),(71,27,5),(72,28,5),(73,29,5),(74,18,2); -UNLOCK TABLES; - -SET FOREIGN_KEY_CHECKS=1; +INSERT INTO lams_user_organisation_role VALUES +(1,1,1), +(2,2,3), +(4,4,3), +(5,5,3), +(6,6,3), +(7,7,3), +(8,8,3), +(9,2,4), +(11,4,4), +(12,5,4), +(13,6,4), +(14,7,4), +(15,8,4), +(16,2,5), +(18,4,5), +(19,5,5), +(20,6,5), +(21,7,5), +(22,8,5), +(23,9,4), +(25,11,4), +(26,12,4), +(27,13,4), +(28,14,4), +(29,16,4), +(30,9,5), +(32,11,5), +(33,12,5), +(34,13,5), +(35,14,5), +(36,15,5), +(37,22,2), +(38,16,3), +(40,18,3), +(41,19,3), +(42,20,3), +(43,21,3), +(44,22,3), +(45,16,4), +(47,18,4), +(48,19,4), +(49,20,4), +(50,21,4), +(51,22,4), +(52,16,5), +(54,18,5), +(55,19,5), +(56,20,5), +(57,21,5), +(58,22,5), +(60,23,4), +(62,25,4), +(63,26,4), +(64,27,4), +(65,28,4), +(66,29,4), +(67,23,5), +(69,25,5), +(70,26,5), +(71,27,5), +(72,28,5), +(73,29,5), +(74,18,2); \ No newline at end of file Index: lams_common/db/sql/insert_types_data.sql =================================================================== diff -u -rd32221839a4daf8d20f3ee883fa959b463e2eeaf -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision d32221839a4daf8d20f3ee883fa959b463e2eeaf) +++ lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,235 +1,259 @@ -SET FOREIGN_KEY_CHECKS=0; -SET NAMES utf8mb4 ; +INSERT INTO lams_auth_method_type VALUES +(1,'LAMS'), +(2,'WEB_AUTH'), +(3,'LDAP'); --- --- Dumping data for table `lams_activity_category` --- +INSERT INTO lams_authentication_method VALUES +(1,1,'LAMS-Database'), +(3,3,'MQ-LDAP'); -LOCK TABLES `lams_activity_category` WRITE; -INSERT INTO `lams_activity_category` VALUES (1,'SYSTEM'),(2,'COLLABORATION'),(3,'ASSESSMENT'),(4,'CONTENT'),(5,'SPLIT'),(6,'RESPONSE'); -UNLOCK TABLES; +INSERT INTO lams_copy_type VALUES +(1,'NONE'), +(2,'LESSON'), +(3,'PREVIEW'); --- --- Dumping data for table `lams_auth_method_type` --- +INSERT INTO lams_ext_server_type VALUES +(1,'INTEGRATED SERVER'), +(2,'LTI TOOL CONSUMER'); -LOCK TABLES `lams_auth_method_type` WRITE; -INSERT INTO `lams_auth_method_type` VALUES (1,'LAMS'),(2,'WEB_AUTH'),(3,'LDAP'); -UNLOCK TABLES; +INSERT INTO lams_ext_server_org_map VALUES +(1,'moodle','moodle','moodle','moodle','mdl','http://localhost/moodle/mod/lamstwo/userinfo.php?ts=%timestamp%&un=%username%&hs=%hash%','',NULL,0x01,80,0,NULL,1,NULL,0,0,1,1,0,0,1,NULL,NULL); --- --- Dumping data for table `lams_authentication_method` --- +INSERT INTO lams_gate_activity_level VALUES +(1,'LEARNER'), +(2,'GROUP'), +(3,'CLASS'); -LOCK TABLES `lams_authentication_method` WRITE; -INSERT INTO `lams_authentication_method` VALUES (1,1,'LAMS-Database'),(3,3,'MQ-LDAP'); -UNLOCK TABLES; +INSERT INTO lams_grouping_support_type VALUES +(1,'NONE'), +(2,'OPTIONAL'), +(3,'REQUIRED'); --- --- Dumping data for table `lams_copy_type` --- +INSERT INTO lams_grouping_type VALUES +(1,'RANDOM_GROUPING'), +(2,'CHOSEN_GROUPING'), +(3,'CLASS_GROUPING'), +(4,'LEARNER_CHOICE_GROUPING'); -LOCK TABLES `lams_copy_type` WRITE; -INSERT INTO `lams_copy_type` VALUES (1,'NONE'),(2,'LESSON'),(3,'PREVIEW'); -UNLOCK TABLES; +INSERT INTO lams_learning_activity_type VALUES +(1,'TOOL'), +(2,'GROUPING'), +(3,'GATE_SYNCH'), +(4,'GATE_SCHEDULE'), +(5,'GATE_PERMISSION'), +(6,'PARALLEL'), +(7,'OPTIONS'), +(8,'SEQUENCE'), +(9,'GATE_SYSTEM'), +(10,'BRANCHING_CHOSEN'), +(11,'BRANCHING_GROUP'), +(12,'BRANCHING_TOOL'), +(13,'OPTIONS_WITH_SEQUENCES'), +(14,'GATE_CONDITION'), +(15,'FLOATING'), +(16,'GATE_PASSWORD'); --- --- Dumping data for table `lams_ext_server_org_map` --- +INSERT INTO lams_lesson_state VALUES +(1,'CREATED'), +(2,'NOT_STARTED'), +(3,'STARTED'), +(4,'SUSPENDED'), +(5,'FINISHED'), +(6,'ARCHIVED'), +(7,'REMOVED'); -LOCK TABLES `lams_ext_server_org_map` WRITE; -INSERT INTO `lams_ext_server_org_map` VALUES (1,'moodle','moodle','moodle','moodle','mdl','http://localhost/moodle/mod/lamstwo/userinfo.php?ts=%timestamp%&un=%username%&hs=%hash%','',NULL,0x01,80,0,NULL,1,NULL,0,0,1,1,0,0,1,NULL,NULL); -UNLOCK TABLES; +INSERT INTO lams_license VALUES +(1,'LAMS Recommended: CC Attribution-Noncommercial-ShareAlike 4.0','by-nc-sa','https://creativecommons.org/licenses/by-nc-sa/4.0/',1,'/images/license/by-nc-sa.eu.svg',1), +(2,'CC Attribution-No Derivatives 4.0','by-nd','https://creativecommons.org/licenses/by-nd/4.0/',0,'/images/license/by-nd.svg',2), +(3,'CC Attribution-Noncommercial-No Derivatives 4.0','by-nc-nd','https://creativecommons.org/licenses/by-nc-nd/4.0/',0,'/images/license/by-nc-nd.svg',3), +(4,'CC Attribution-Noncommercial 4.0','by-nc','https://creativecommons.org/licenses/by-nc/4.0/',0,'/images/license/by-nc.eu.svg',4), +(5,'CC Attribution-ShareAlike 4.0','by-sa','https://creativecommons.org/licenses/by-sa/4.0/',0,'/images/license/by-sa.svg',5), +(6,'Other Licensing Agreement','other','',0,'',8), +(7,'CC Attribution 4.0','by','https://creativecommons.org/licenses/by/4.0/',0,'/images/license/by.svg',6), +(8,'Public Domain','CC0','https://creativecommons.org/publicdomain/zero/1.0/',0,'/images/license/publicdomain.svg',7); --- --- Dumping data for table `lams_ext_server_type` --- +INSERT INTO lams_log_event_type VALUES +(1,'TYPE_TEACHER_LEARNING_DESIGN_CREATE','LESSON'), +(2,'TYPE_TEACHER_LESSON_CREATE','LESSON'), +(3,'TYPE_TEACHER_LESSON_START','LESSON'), +(4,'TYPE_TEACHER_LESSON_CHANGE_STATE','LESSON'), +(5,'TYPE_LEARNER_ACTIVITY_START','LESSON'), +(6,'TYPE_LEARNER_ACTIVITY_FINISH','LESSON'), +(7,'TYPE_LEARNER_LESSON_COMPLETE','LESSON'), +(8,'TYPE_LEARNER_LESSON_MARK_SUBMIT','LESSON'), +(9,'TYPE_ACTIVITY_EDIT','LESSON'), +(10,'TYPE_FORCE_COMPLETE','LESSON'), +(11,'TYPE_USER_ORG_ADMIN','SECURITY'), +(12,'TYPE_LOGIN_AS','SECURITY'), +(13,'TYPE_PASSWORD_CHANGE','SECURITY'), +(14,'TYPE_ROLE_FAILURE','SECURITY'), +(15,'TYPE_ACCOUNT_LOCKED','SECURITY'), +(16,'TYPE_NOTIFICATION','NOTIFICATION'), +(17,'TYPE_MARK_UPDATED','MARKS'), +(18,'TYPE_MARK_RELEASED','MARKS'), +(19,'TYPE_LEARNER_CONTENT_UPDATED','LEARNER_CONTENT'), +(20,'TYPE_LEARNER_CONTENT_SHOW_HIDE','LEARNER_CONTENT'), +(21,'TYPE_UNKNOWN','UNKNOWN'), +(22,'TYPE_LIVE_EDIT','LESSON'), +(23,'TYPE_TOOL_MARK_RELEASED','MARKS'), +(24,'TYPE_LOGIN','SECURITY'), +(25,'TYPE_LOGOUT','SECURITY'), +(26,'TYPE_CONFIG_CHANGE','SECURITY'), +(27,'TYPE_QUESTIONS_MERGED','QUESTION_BANK'); -LOCK TABLES `lams_ext_server_type` WRITE; -INSERT INTO `lams_ext_server_type` VALUES (1,'INTEGRATED SERVER'),(2,'LTI TOOL CONSUMER'); -UNLOCK TABLES; +INSERT INTO lams_organisation_state VALUES +(1,'ACTIVE'), +(2,'HIDDEN'), +(3,'ARCHIVED'), +(4,'REMOVED'); --- --- Dumping data for table `lams_gate_activity_level` --- +INSERT INTO lams_organisation_type VALUES +(1,'ROOT ORGANISATION','root all other organisations: controlled by Sysadmin'), +(2,'COURSE ORGANISATION','main organisation level - equivalent to an entire course.'), +(3,'CLASS','runtime organisation level - lessons are run for classes.'); -LOCK TABLES `lams_gate_activity_level` WRITE; -INSERT INTO `lams_gate_activity_level` VALUES (1,'LEARNER'),(2,'GROUP'),(3,'CLASS'); -UNLOCK TABLES; +INSERT INTO lams_outcome_scale VALUES +(1,'Default attainment scale','default','Default global scale',1,'2022-09-20 11:38:25'); --- --- Dumping data for table `lams_grouping_support_type` --- +INSERT INTO lams_outcome_scale_item VALUES +(1,1,0,'Not yet attained'), +(2,1,1,'Attained'); -LOCK TABLES `lams_grouping_support_type` WRITE; -INSERT INTO `lams_grouping_support_type` VALUES (1,'NONE'),(2,'OPTIONAL'),(3,'REQUIRED'); -UNLOCK TABLES; +INSERT INTO lams_policy_state VALUES +(1,'ACTIVE'), +(2,'INACTIVE'); --- --- Dumping data for table `lams_grouping_type` --- +INSERT INTO lams_policy_type VALUES +(1,'TYPE_SITE_POLICY'), +(2,'TYPE_PRIVACY_POLICY'), +(3,'TYPE_THIRD_PARTIES_POLICY'), +(4,'TYPE_OTHER'); -LOCK TABLES `lams_grouping_type` WRITE; -INSERT INTO `lams_grouping_type` VALUES (1,'RANDOM_GROUPING'),(2,'CHOSEN_GROUPING'),(3,'CLASS_GROUPING'),(4,'LEARNER_CHOICE_GROUPING'); -UNLOCK TABLES; +INSERT INTO lams_qb_question VALUES +(1,0x71B92B1038C811ED8F4600D8618629BB,1,1,1,'2022-09-20 11:39:19','93b97f99-a9ad-471b-a71a-5cc58ab2196e','A Sample question?','A Sample question?',1,NULL,0,0,0,NULL,NULL,NULL,0,0,0,0,0,0,0,NULL,0,0), +(2,0x71EFEAD338C811ED8F4600D8618629BB,1,2,1,'2022-09-20 11:40:08','93b97f99-a9ad-471b-a71a-5cc58ab2196e','Question Title','Question Description',NULL,NULL,0,0,0,NULL,NULL,NULL,0,0,0,0,0,0,0,NULL,0,0), +(3,0x72E874A938C811ED8F4600D8618629BB,6,3,1,'2022-09-20 11:39:26','93b97f99-a9ad-471b-a71a-5cc58ab2196e','Sample Question 1?','Sample Question 1?',1,NULL,0,0,0,NULL,NULL,NULL,0,0,0,0,0,0,0,NULL,0,0); --- --- Dumping data for table `lams_learning_activity_type` --- +INSERT INTO lams_qb_option VALUES +(1,1,1,'Answer 1',NULL,0,0,0,NULL), +(2,1,2,'Answer 2',NULL,0,1,0,NULL), +(4,2,1,'Question Answer A',NULL,0,1,0,NULL), +(5,2,2,'Question Answer B',NULL,0,0,0,NULL), +(6,2,3,'Question Answer C',NULL,0,0,0,NULL), +(7,2,4,'Question Answer D',NULL,0,0,0,NULL); -LOCK TABLES `lams_learning_activity_type` WRITE; -INSERT INTO `lams_learning_activity_type` VALUES (1,'TOOL'),(2,'GROUPING'),(3,'GATE_SYNCH'),(4,'GATE_SCHEDULE'),(5,'GATE_PERMISSION'),(6,'PARALLEL'),(7,'OPTIONS'),(8,'SEQUENCE'),(9,'GATE_SYSTEM'),(10,'BRANCHING_CHOSEN'),(11,'BRANCHING_GROUP'),(12,'BRANCHING_TOOL'),(13,'OPTIONS_WITH_SEQUENCES'),(14,'GATE_CONDITION'),(15,'FLOATING'),(16, 'GATE_PASSWORD'); -UNLOCK TABLES; +INSERT INTO lams_qb_collection VALUES +(1,'Public questions',NULL,0); --- --- Dumping data for table `lams_lesson_state` --- +INSERT INTO lams_qb_collection_question VALUES +(1,1), +(1,2), +(1,3); -LOCK TABLES `lams_lesson_state` WRITE; -INSERT INTO `lams_lesson_state` VALUES (1,'CREATED'),(2,'NOT_STARTED'),(3,'STARTED'),(4,'SUSPENDED'),(5,'FINISHED'),(6,'ARCHIVED'),(7,'REMOVED'); -UNLOCK TABLES; +INSERT INTO lams_rating_criteria_type VALUES +(1,'TOOL_ACTIVITY'), +(2,'AUTHORED_ITEM'), +(3,'LEARNER_ITEM'), +(4,'LESSON'); --- --- Dumping data for table `lams_license` --- +INSERT INTO lams_role VALUES +(1,'SYSADMIN','LAMS System Adminstrator','2022-09-20 11:38:25'), +(2,'GROUP MANAGER','Group Manager','2022-09-20 11:38:25'), +(3,'AUTHOR','Authors Learning Designs','2022-09-20 11:38:25'), +(4,'MONITOR','Member of Staff','2022-09-20 11:38:25'), +(5,'LEARNER','Student','2022-09-20 11:38:25'); -LOCK TABLES `lams_license` WRITE; -INSERT INTO `lams_license` VALUES (1,'LAMS Recommended: CC Attribution-Noncommercial-ShareAlike 4.0','by-nc-sa','https://creativecommons.org/licenses/by-nc-sa/4.0/',1,'/images/license/by-nc-sa.eu.svg',1),(2,'CC Attribution-No Derivatives 4.0','by-nd','https://creativecommons.org/licenses/by-nd/4.0/',0,'/images/license/by-nd.svg',2),(3,'CC Attribution-Noncommercial-No Derivatives 4.0','by-nc-nd','https://creativecommons.org/licenses/by-nc-nd/4.0/',0,'/images/license/by-nc-nd.svg',3),(4,'CC Attribution-Noncommercial 4.0','by-nc','https://creativecommons.org/licenses/by-nc/4.0/',0,'/images/license/by-nc.eu.svg',4),(5,'CC Attribution-ShareAlike 4.0','by-sa','https://creativecommons.org/licenses/by-sa/4.0/',0,'/images/license/by-sa.svg',5),(6,'Other Licensing Agreement','other','',0,'',8),(7,'CC Attribution 4.0','by','https://creativecommons.org/licenses/by/4.0/',0,'/images/license/by.svg',6),(8,'Public Domain','CC0','https://creativecommons.org/publicdomain/zero/1.0/',0,'/images/license/publicdomain.svg',7); -UNLOCK TABLES; +INSERT INTO lams_sequence_generator VALUES (3); --- --- Dumping data for table `lams_log_event_type` --- +INSERT INTO lams_supported_locale VALUES +(1,'en','AU','English (Australia)','LTR','en-au'), +(2,'es','ES','Español','LTR','es'), +(3,'mi','NZ','Māori','LTR','en-au'), +(4,'de','DE','Deutsch','LTR','de'), +(5,'zh','CN','简体中文','LTR','zh-cn'), +(6,'fr','FR','Français','LTR','fr'), +(7,'it','IT','Italiano','LTR','it'), +(8,'no','NO','Norsk','LTR','no'), +(9,'sv','SE','Svenska','LTR','sv'), +(10,'ko','KR','한국어','LTR','ko'), +(11,'pl','PL','Polski','LTR','pl'), +(12,'pt','BR','Português (Brasil)','LTR','pt-br'), +(13,'hu','HU','Magyar','LTR','hu'), +(14,'bg','BG','Български','LTR','bg'), +(15,'cy','GB','Cymraeg (Cymru)','LTR','cy'), +(16,'th','TH','Thai','LTR','th'), +(17,'el','GR','Ελληνικά','LTR','el'), +(18,'nl','BE','Nederlands (België)','LTR','nl'), +(19,'ar','JO','عربي','RTL','ar'), +(20,'da','DK','Dansk','LTR','da'), +(21,'ru','RU','Русский','LTR','ru'), +(22,'vi','VN','Tiếng Việt','LTR','vi'), +(23,'zh','TW','Chinese (Taiwan)','LTR','zh'), +(24,'ja','JP','日本語','LTR','ja'), +(25,'ms','MY','Malay (Malaysia)','LTR','ms'), +(26,'tr','TR','Türkçe','LTR','tr'), +(27,'ca','ES','Català','LTR','ca'), +(28,'sl','SI','Slovenščina','LTR','sl'), +(29,'es','MX','Español (México)','LTR','es'), +(30,'cs','CZ','Čeština','LTR','cs'), +(31,'id','ID','Indonesian','LTR','id'); -LOCK TABLES `lams_log_event_type` WRITE; -INSERT INTO `lams_log_event_type` VALUES (1,'TYPE_TEACHER_LEARNING_DESIGN_CREATE','LESSON'),(2,'TYPE_TEACHER_LESSON_CREATE','LESSON'),(3,'TYPE_TEACHER_LESSON_START','LESSON'),(4,'TYPE_TEACHER_LESSON_CHANGE_STATE','LESSON'),(5,'TYPE_LEARNER_ACTIVITY_START','LESSON'),(6,'TYPE_LEARNER_ACTIVITY_FINISH','LESSON'),(7,'TYPE_LEARNER_LESSON_COMPLETE','LESSON'),(8,'TYPE_LEARNER_LESSON_MARK_SUBMIT','LESSON'),(9,'TYPE_ACTIVITY_EDIT','LESSON'),(10,'TYPE_FORCE_COMPLETE','LESSON'),(11,'TYPE_USER_ORG_ADMIN','SECURITY'),(12,'TYPE_LOGIN_AS','SECURITY'),(13,'TYPE_PASSWORD_CHANGE','SECURITY'),(14,'TYPE_ROLE_FAILURE','SECURITY'),(15,'TYPE_ACCOUNT_LOCKED','SECURITY'),(16,'TYPE_NOTIFICATION','NOTIFICATION'),(17,'TYPE_MARK_UPDATED','MARKS'),(18,'TYPE_MARK_RELEASED','MARKS'),(19,'TYPE_LEARNER_CONTENT_UPDATED','LEARNER_CONTENT'),(20,'TYPE_LEARNER_CONTENT_SHOW_HIDE','LEARNER_CONTENT'),(21,'TYPE_UNKNOWN','UNKNOWN'),(22,'TYPE_LIVE_EDIT','LESSON'),(23,'TYPE_TOOL_MARK_RELEASED','MARKS'); -UNLOCK TABLES; +INSERT INTO lams_system_tool VALUES +(1,2,'Grouping','All types of grouping including random and chosen.','learning/grouping/performGrouping.do','learning/grouping/performGrouping.do','learning/grouping/viewGrouping.do?mode=teacher','monitoring/grouping/startGrouping.do','monitoring/grouping/startGrouping.do',NULL,'2022-09-20 11:38:25',NULL), +(2,3,'Sync Gate','Gate: Synchronise Learners.','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,'2022-09-20 11:38:25',NULL), +(3,4,'Schedule Gate','Gate: Opens/shuts at particular times.','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,'2022-09-20 11:38:25',NULL), +(4,5,'Permission Gate','Gate: Opens under teacher or staff control.','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,'2022-09-20 11:38:25',NULL), +(5,9,'System Gate','Gate: Opens under system control.','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,'2022-09-20 11:38:25',NULL), +(6,10,'Monitor Chosen Branching','Select between multiple sequence activities, with the branch chosen in monitoring.','learning/branching/performBranching.do','learning/branching/performBranching.do','monitoring/complexProgress.do','monitoring/chosenBranching.do?method=assignBranch','monitoring/grouping/startGrouping.do',NULL,'2022-09-20 11:38:25',NULL), +(7,11,'Group Based Branching','Select between multiple sequence activities, with the branch chosen by an existing group.','learning/branching/performBranching.do','learning/branching/performBranching.do','monitoring/complexProgress.do','monitoring/groupedBranching.do?method=viewBranching','monitoring/groupedBranching.do?method=assignBranch',NULL,'2022-09-20 11:38:25',NULL), +(8,12,'Tool Output Based Branching','Select between multiple sequence activities, with the branch chosen on results of another activity.','learning/branching/performBranching.do','learning/branching/performBranching.do','monitoring/complexProgress.do','monitoring/toolBranching.do?method=viewBranching','monitoring/toolBranching.do?method=viewBranching',NULL,'2022-09-20 11:38:25',NULL), +(9,8,'Sequence','A sequence of activities','learning/SequenceActivity.do','learning/SequenceActivity.do','monitoring/complexProgress.do','monitoring/sequence/viewSequence.do','monitoring/sequence/viewSequence.do',NULL,'2022-09-20 11:38:25',NULL), +(10,14,'Condition Gate','Gate: Opens if conditions are met','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,'2022-09-20 11:38:25',NULL), +(11,15,'Floating Activities','A collection of floating activities',NULL,NULL,NULL,'monitoring/floating.do?method=viewFloating','monitoring/floating.do?method=viewFloating',NULL,'2022-09-20 11:38:25',NULL), +(12,16,'Password Gate','Gate: Opens if learner provides correct password','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,'2022-09-20 11:38:25',NULL); --- --- Dumping data for table `lams_organisation_state` --- +INSERT INTO lams_timezone VALUES +(1,'Etc/GMT+14',0), +(2,'Etc/GMT+13',0), +(3,'Etc/GMT+12',0), +(4,'Etc/GMT+11',0), +(5,'Etc/GMT+10',0), +(6,'Etc/GMT+9',0), +(7,'Etc/GMT+8',0), +(8,'Etc/GMT+7',0), +(9,'Etc/GMT+6',0), +(10,'Etc/GMT+5',0), +(11,'Etc/GMT+4',0), +(12,'Etc/GMT+3',0), +(13,'Etc/GMT+2',0), +(14,'Etc/GMT+1',0), +(15,'Etc/GMT',0), +(16,'Etc/GMT-1',0), +(17,'Etc/GMT-2',0), +(18,'Etc/GMT-3',0), +(19,'Etc/GMT-4',0), +(20,'Etc/GMT-5',0), +(21,'Etc/GMT-6',0), +(22,'Etc/GMT-7',0), +(23,'Etc/GMT-8',0), +(24,'Etc/GMT-9',0), +(25,'Etc/GMT-10',0), +(26,'Etc/GMT-11',0), +(27,'Etc/GMT-12',0); -LOCK TABLES `lams_organisation_state` WRITE; -INSERT INTO `lams_organisation_state` VALUES (1,'ACTIVE'),(2,'HIDDEN'),(3,'ARCHIVED'),(4,'REMOVED'); -UNLOCK TABLES; +INSERT INTO lams_tool_session_state VALUES +(1,'STARTED'), +(2,'ENDED'); --- --- Dumping data for table `lams_organisation_type` --- +INSERT INTO lams_tool_session_type VALUES +(1,'NON_GROUPED'), +(2,'GROUPED'); -LOCK TABLES `lams_organisation_type` WRITE; -INSERT INTO `lams_organisation_type` VALUES (1,'ROOT ORGANISATION','root all other organisations: controlled by Sysadmin'),(2,'COURSE ORGANISATION','main organisation level - equivalent to an entire course.'),(3,'CLASS','runtime organisation level - lessons are run for classes.'); -UNLOCK TABLES; +INSERT INTO lams_workspace_folder_type VALUES +(1,'NORMAL'), +(2,'RUN SEQUENCES'), +(3,'PUBLIC SEQUENCES'); - --- --- Dumping data for table `lams_outcome_scale` --- - -LOCK TABLES `lams_outcome_scale` WRITE; -INSERT INTO `lams_outcome_scale` VALUES (1,NULL,'Default attainment scale','default','Default global scale',NULL,1,NOW()); -UNLOCK TABLES; - --- --- Dumping data for table `lams_outcome_scale_item` --- - -LOCK TABLES `lams_outcome_scale_item` WRITE; -INSERT INTO `lams_outcome_scale_item` VALUES (1,1,0,'Not yet attained'),(2,1,1,'Attained'); -UNLOCK TABLES; - --- --- Dumping data for table `lams_policy_state` --- - -LOCK TABLES `lams_policy_state` WRITE; -INSERT INTO `lams_policy_state` VALUES (1,'ACTIVE'),(2,'INACTIVE'); -UNLOCK TABLES; - --- --- Dumping data for table `lams_policy_type` --- - -LOCK TABLES `lams_policy_type` WRITE; -INSERT INTO `lams_policy_type` VALUES (1,'TYPE_SITE_POLICY'),(2,'TYPE_PRIVACY_POLICY'),(3,'TYPE_THIRD_PARTIES_POLICY'),(4,'TYPE_OTHER'); -UNLOCK TABLES; - - --- --- Dumping data for table `lams_rating_criteria_type` --- - -LOCK TABLES `lams_rating_criteria_type` WRITE; -INSERT INTO `lams_rating_criteria_type` VALUES (1,'TOOL_ACTIVITY'),(2,'AUTHORED_ITEM'),(3,'LEARNER_ITEM'),(4,'LESSON'); -UNLOCK TABLES; - - --- --- Dumping data for table `lams_role` --- - -LOCK TABLES `lams_role` WRITE; -INSERT INTO `lams_role` VALUES (1,'SYSADMIN','LAMS System Adminstrator',NOW()),(2,'GROUP MANAGER','Group Manager',NOW()),(3,'AUTHOR','Authors Learning Designs',NOW()),(4,'MONITOR','Member of Staff',NOW()),(5,'LEARNER','Student',NOW()); -UNLOCK TABLES; - --- --- Dumping data for table `lams_supported_locale` --- - -LOCK TABLES `lams_supported_locale` WRITE; -INSERT INTO `lams_supported_locale` VALUES (1,'en','AU','English (Australia)','LTR','en-au'),(2,'es','ES','Español','LTR','es'),(3,'mi','NZ','Māori','LTR','en-au'),(4,'de','DE','Deutsch','LTR','de'),(5,'zh','CN','简体中文','LTR','zh-cn'),(6,'fr','FR','Français','LTR','fr'),(7,'it','IT','Italiano','LTR','it'),(8,'no','NO','Norsk','LTR','no'),(9,'sv','SE','Svenska','LTR','sv'),(10,'ko','KR','한국어','LTR','ko'),(11,'pl','PL','Polski','LTR','pl'),(12,'pt','BR','Português (Brasil)','LTR','pt-br'),(13,'hu','HU','Magyar','LTR','hu'),(14,'bg','BG','Български','LTR','bg'),(15,'cy','GB','Cymraeg (Cymru)','LTR','cy'),(16,'th','TH','Thai','LTR','th'),(17,'el','GR','Ελληνικά','LTR','el'),(18,'nl','BE','Nederlands (België)','LTR','nl'),(19,'ar','JO','عربي','RTL','ar'),(20,'da','DK','Dansk','LTR','da'),(21,'ru','RU','Русский','LTR','ru'),(22,'vi','VN','Tiếng Việt','LTR','vi'),(23,'zh','TW','Chinese (Taiwan)','LTR','zh'),(24,'ja','JP','日本語','LTR','ja'),(25,'ms','MY','Malay (Malaysia)','LTR','ms'),(26,'tr','TR','Türkçe','LTR','tr'),(27,'ca','ES','Català','LTR','ca'),(28,'sl','SI','Slovenščina','LTR','sl'),(29,'es','MX','Español (México)','LTR','es'),(30,'cs','CZ','Čeština','LTR','cs'),(31,'id','ID','Indonesian','LTR','id'); -UNLOCK TABLES; - --- --- Dumping data for table `lams_system_tool` --- - -LOCK TABLES `lams_system_tool` WRITE; -INSERT INTO `lams_system_tool` VALUES (1,2,'Grouping','All types of grouping including random and chosen.','learning/grouping/performGrouping.do','learning/grouping/performGrouping.do','learning/grouping/viewGrouping.do?mode=teacher','monitoring/grouping/startGrouping.do','monitoring/grouping/startGrouping.do',NULL,NOW(),NULL,'pedagogicalPlanner/grouping.do?method=initGrouping'),(2,3,'Sync Gate','Gate: Synchronise Learners.','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,NOW(),NULL,NULL),(3,4,'Schedule Gate','Gate: Opens/shuts at particular times.','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,NOW(),NULL,NULL),(4,5,'Permission Gate','Gate: Opens under teacher or staff control.','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,NOW(),NULL,NULL),(5,9,'System Gate','Gate: Opens under system control.','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,NOW(),NULL,NULL),(6,10,'Monitor Chosen Branching','Select between multiple sequence activities, with the branch chosen in monitoring.','learning/branching/performBranching.do','learning/branching/performBranching.do','monitoring/complexProgress.do','monitoring/chosenBranching.do?method=assignBranch','monitoring/grouping/startGrouping.do',NULL,NOW(),NULL,NULL),(7,11,'Group Based Branching','Select between multiple sequence activities, with the branch chosen by an existing group.','learning/branching/performBranching.do','learning/branching/performBranching.do','monitoring/complexProgress.do','monitoring/groupedBranching.do?method=viewBranching','monitoring/groupedBranching.do?method=assignBranch',NULL,NOW(),NULL,NULL),(8,12,'Tool Output Based Branching','Select between multiple sequence activities, with the branch chosen on results of another activity.','learning/branching/performBranching.do','learning/branching/performBranching.do','monitoring/complexProgress.do','monitoring/toolBranching.do?method=viewBranching','monitoring/toolBranching.do?method=viewBranching',NULL,NOW(),NULL,NULL),(9,8,'Sequence','A sequence of activities','learning/SequenceActivity.do','learning/SequenceActivity.do','monitoring/complexProgress.do','monitoring/sequence/viewSequence.do','monitoring/sequence/viewSequence.do',NULL,NOW(),NULL,NULL),(10,14,'Condition Gate','Gate: Opens if conditions are met','learning/gate/knockGate.do','learning/gate/knockGate.do',NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do',NULL,NOW(),NULL,NULL),(11,15,'Floating Activities','A collection of floating activities',NULL,NULL,NULL,'monitoring/floating.do?method=viewFloating','monitoring/floating.do?method=viewFloating',NULL,NOW(),NULL,NULL),(12, 16, 'Password Gate', 'Gate: Opens if learner provides correct password','learning/gate/knockGate.do', 'learning/gate/knockGate.do', NULL,'monitoring/gate/viewGate.do','monitoring/gate/viewGate.do', NULL, now(), NULL, NULL); -UNLOCK TABLES; - - --- --- Dumping data for table `lams_timezone` --- - -LOCK TABLES `lams_timezone` WRITE; -INSERT INTO `lams_timezone` VALUES (1,'Africa/Abidjan',0),(2,'Africa/Accra',0),(3,'Africa/Addis_Ababa',0),(4,'Africa/Algiers',0),(5,'Africa/Asmara',0),(6,'Africa/Asmera',0),(7,'Africa/Bamako',0),(8,'Africa/Bangui',0),(9,'Africa/Banjul',0),(10,'Africa/Bissau',0),(11,'Africa/Blantyre',0),(12,'Africa/Brazzaville',0),(13,'Africa/Bujumbura',0),(14,'Africa/Cairo',0),(15,'Africa/Casablanca',0),(16,'Africa/Ceuta',0),(17,'Africa/Conakry',0),(18,'Africa/Dakar',0),(19,'Africa/Dar_es_Salaam',0),(20,'Africa/Djibouti',0),(21,'Africa/Douala',0),(22,'Africa/El_Aaiun',0),(23,'Africa/Freetown',0),(24,'Africa/Gaborone',0),(25,'Africa/Harare',0),(26,'Africa/Johannesburg',0),(27,'Africa/Juba',0),(28,'Africa/Kampala',0),(29,'Africa/Khartoum',0),(30,'Africa/Kigali',0),(31,'Africa/Kinshasa',0),(32,'Africa/Lagos',0),(33,'Africa/Libreville',0),(34,'Africa/Lome',0),(35,'Africa/Luanda',0),(36,'Africa/Lubumbashi',0),(37,'Africa/Lusaka',0),(38,'Africa/Malabo',0),(39,'Africa/Maputo',0),(40,'Africa/Maseru',0),(41,'Africa/Mbabane',0),(42,'Africa/Mogadishu',0),(43,'Africa/Monrovia',0),(44,'Africa/Nairobi',0),(45,'Africa/Ndjamena',0),(46,'Africa/Niamey',0),(47,'Africa/Nouakchott',0),(48,'Africa/Ouagadougou',0),(49,'Africa/Porto-Novo',0),(50,'Africa/Sao_Tome',0),(51,'Africa/Timbuktu',0),(52,'Africa/Tripoli',0),(53,'Africa/Tunis',0),(54,'Africa/Windhoek',0),(55,'America/Adak',0),(56,'America/Anchorage',0),(57,'America/Anguilla',0),(58,'America/Antigua',0),(59,'America/Araguaina',0),(60,'America/Argentina/Buenos_Aires',0),(61,'America/Argentina/Catamarca',0),(62,'America/Argentina/ComodRivadavia',0),(63,'America/Argentina/Cordoba',0),(64,'America/Argentina/Jujuy',0),(65,'America/Argentina/La_Rioja',0),(66,'America/Argentina/Mendoza',0),(67,'America/Argentina/Rio_Gallegos',0),(68,'America/Argentina/Salta',0),(69,'America/Argentina/San_Juan',0),(70,'America/Argentina/San_Luis',0),(71,'America/Argentina/Tucuman',0),(72,'America/Argentina/Ushuaia',0),(73,'America/Aruba',0),(74,'America/Asuncion',0),(75,'America/Atikokan',0),(76,'America/Atka',0),(77,'America/Bahia',0),(78,'America/Bahia_Banderas',0),(79,'America/Barbados',0),(80,'America/Belem',0),(81,'America/Belize',0),(82,'America/Blanc-Sablon',0),(83,'America/Boa_Vista',0),(84,'America/Bogota',0),(85,'America/Boise',0),(86,'America/Buenos_Aires',0),(87,'America/Cambridge_Bay',0),(88,'America/Campo_Grande',0),(89,'America/Cancun',0),(90,'America/Caracas',0),(91,'America/Catamarca',0),(92,'America/Cayenne',0),(93,'America/Cayman',0),(94,'America/Chicago',0),(95,'America/Chihuahua',0),(96,'America/Coral_Harbour',0),(97,'America/Cordoba',0),(98,'America/Costa_Rica',0),(99,'America/Creston',0),(100,'America/Cuiaba',0),(101,'America/Curacao',0),(102,'America/Danmarkshavn',0),(103,'America/Dawson',0),(104,'America/Dawson_Creek',0),(105,'America/Denver',0),(106,'America/Detroit',0),(107,'America/Dominica',0),(108,'America/Edmonton',0),(109,'America/Eirunepe',0),(110,'America/El_Salvador',0),(111,'America/Ensenada',0),(112,'America/Fort_Nelson',0),(113,'America/Fort_Wayne',0),(114,'America/Fortaleza',0),(115,'America/Glace_Bay',0),(116,'America/Godthab',0),(117,'America/Goose_Bay',0),(118,'America/Grand_Turk',0),(119,'America/Grenada',0),(120,'America/Guadeloupe',0),(121,'America/Guatemala',0),(122,'America/Guayaquil',0),(123,'America/Guyana',0),(124,'America/Halifax',0),(125,'America/Havana',0),(126,'America/Hermosillo',0),(127,'America/Indiana/Indianapolis',0),(128,'America/Indiana/Knox',0),(129,'America/Indiana/Marengo',0),(130,'America/Indiana/Petersburg',0),(131,'America/Indiana/Tell_City',0),(132,'America/Indiana/Vevay',0),(133,'America/Indiana/Vincennes',0),(134,'America/Indiana/Winamac',0),(135,'America/Indianapolis',0),(136,'America/Inuvik',0),(137,'America/Iqaluit',0),(138,'America/Jamaica',0),(139,'America/Jujuy',0),(140,'America/Juneau',0),(141,'America/Kentucky/Louisville',0),(142,'America/Kentucky/Monticello',0),(143,'America/Knox_IN',0),(144,'America/Kralendijk',0),(145,'America/La_Paz',0),(146,'America/Lima',0),(147,'America/Los_Angeles',0),(148,'America/Louisville',0),(149,'America/Lower_Princes',0),(150,'America/Maceio',0),(151,'America/Managua',0),(152,'America/Manaus',0),(153,'America/Marigot',0),(154,'America/Martinique',0),(155,'America/Matamoros',0),(156,'America/Mazatlan',0),(157,'America/Mendoza',0),(158,'America/Menominee',0),(159,'America/Merida',0),(160,'America/Metlakatla',0),(161,'America/Mexico_City',0),(162,'America/Miquelon',0),(163,'America/Moncton',0),(164,'America/Monterrey',0),(165,'America/Montevideo',0),(166,'America/Montreal',0),(167,'America/Montserrat',0),(168,'America/Nassau',0),(169,'America/New_York',0),(170,'America/Nipigon',0),(171,'America/Nome',0),(172,'America/Noronha',0),(173,'America/North_Dakota/Beulah',0),(174,'America/North_Dakota/Center',0),(175,'America/North_Dakota/New_Salem',0),(176,'America/Nuuk',0),(177,'America/Ojinaga',0),(178,'America/Panama',0),(179,'America/Pangnirtung',0),(180,'America/Paramaribo',0),(181,'America/Phoenix',0),(182,'America/Port-au-Prince',0),(183,'America/Port_of_Spain',0),(184,'America/Porto_Acre',0),(185,'America/Porto_Velho',0),(186,'America/Puerto_Rico',0),(187,'America/Punta_Arenas',0),(188,'America/Rainy_River',0),(189,'America/Rankin_Inlet',0),(190,'America/Recife',0),(191,'America/Regina',0),(192,'America/Resolute',0),(193,'America/Rio_Branco',0),(194,'America/Rosario',0),(195,'America/Santa_Isabel',0),(196,'America/Santarem',0),(197,'America/Santiago',0),(198,'America/Santo_Domingo',0),(199,'America/Sao_Paulo',0),(200,'America/Scoresbysund',0),(201,'America/Shiprock',0),(202,'America/Sitka',0),(203,'America/St_Barthelemy',0),(204,'America/St_Johns',0),(205,'America/St_Kitts',0),(206,'America/St_Lucia',0),(207,'America/St_Thomas',0),(208,'America/St_Vincent',0),(209,'America/Swift_Current',0),(210,'America/Tegucigalpa',0),(211,'America/Thule',0),(212,'America/Thunder_Bay',0),(213,'America/Tijuana',0),(214,'America/Toronto',0),(215,'America/Tortola',0),(216,'America/Vancouver',0),(217,'America/Virgin',0),(218,'America/Whitehorse',0),(219,'America/Winnipeg',0),(220,'America/Yakutat',0),(221,'America/Yellowknife',0),(222,'Antarctica/Casey',0),(223,'Antarctica/Davis',0),(224,'Antarctica/DumontDUrville',0),(225,'Antarctica/Macquarie',0),(226,'Antarctica/Mawson',0),(227,'Antarctica/McMurdo',0),(228,'Antarctica/Palmer',0),(229,'Antarctica/Rothera',0),(230,'Antarctica/South_Pole',0),(231,'Antarctica/Syowa',0),(232,'Antarctica/Troll',0),(233,'Antarctica/Vostok',0),(234,'Arctic/Longyearbyen',0),(235,'Asia/Aden',0),(236,'Asia/Almaty',0),(237,'Asia/Amman',0),(238,'Asia/Anadyr',0),(239,'Asia/Aqtau',0),(240,'Asia/Aqtobe',0),(241,'Asia/Ashgabat',0),(242,'Asia/Ashkhabad',0),(243,'Asia/Atyrau',0),(244,'Asia/Baghdad',0),(245,'Asia/Bahrain',0),(246,'Asia/Baku',0),(247,'Asia/Bangkok',0),(248,'Asia/Barnaul',0),(249,'Asia/Beirut',0),(250,'Asia/Bishkek',0),(251,'Asia/Brunei',0),(252,'Asia/Calcutta',0),(253,'Asia/Chita',0),(254,'Asia/Choibalsan',0),(255,'Asia/Chongqing',0),(256,'Asia/Chungking',0),(257,'Asia/Colombo',0),(258,'Asia/Dacca',0),(259,'Asia/Damascus',0),(260,'Asia/Dhaka',0),(261,'Asia/Dili',0),(262,'Asia/Dubai',0),(263,'Asia/Dushanbe',0),(264,'Asia/Famagusta',0),(265,'Asia/Gaza',0),(266,'Asia/Harbin',0),(267,'Asia/Hebron',0),(268,'Asia/Ho_Chi_Minh',0),(269,'Asia/Hong_Kong',0),(270,'Asia/Hovd',0),(271,'Asia/Irkutsk',0),(272,'Asia/Istanbul',0),(273,'Asia/Jakarta',0),(274,'Asia/Jayapura',0),(275,'Asia/Jerusalem',0),(276,'Asia/Kabul',0),(277,'Asia/Kamchatka',0),(278,'Asia/Karachi',0),(279,'Asia/Kashgar',0),(280,'Asia/Kathmandu',0),(281,'Asia/Katmandu',0),(282,'Asia/Khandyga',0),(283,'Asia/Kolkata',0),(284,'Asia/Krasnoyarsk',0),(285,'Asia/Kuala_Lumpur',0),(286,'Asia/Kuching',0),(287,'Asia/Kuwait',0),(288,'Asia/Macao',0),(289,'Asia/Macau',0),(290,'Asia/Magadan',0),(291,'Asia/Makassar',0),(292,'Asia/Manila',0),(293,'Asia/Muscat',0),(294,'Asia/Nicosia',0),(295,'Asia/Novokuznetsk',0),(296,'Asia/Novosibirsk',0),(297,'Asia/Omsk',0),(298,'Asia/Oral',0),(299,'Asia/Phnom_Penh',0),(300,'Asia/Pontianak',0),(301,'Asia/Pyongyang',0),(302,'Asia/Qatar',0),(303,'Asia/Qostanay',0),(304,'Asia/Qyzylorda',0),(305,'Asia/Rangoon',0),(306,'Asia/Riyadh',0),(307,'Asia/Saigon',0),(308,'Asia/Sakhalin',0),(309,'Asia/Samarkand',0),(310,'Asia/Seoul',0),(311,'Asia/Shanghai',0),(312,'Asia/Singapore',0),(313,'Asia/Srednekolymsk',0),(314,'Asia/Taipei',0),(315,'Asia/Tashkent',0),(316,'Asia/Tbilisi',0),(317,'Asia/Tehran',0),(318,'Asia/Tel_Aviv',0),(319,'Asia/Thimbu',0),(320,'Asia/Thimphu',0),(321,'Asia/Tokyo',0),(322,'Asia/Tomsk',0),(323,'Asia/Ujung_Pandang',0),(324,'Asia/Ulaanbaatar',0),(325,'Asia/Ulan_Bator',0),(326,'Asia/Urumqi',0),(327,'Asia/Ust-Nera',0),(328,'Asia/Vientiane',0),(329,'Asia/Vladivostok',0),(330,'Asia/Yakutsk',0),(331,'Asia/Yangon',0),(332,'Asia/Yekaterinburg',0),(333,'Asia/Yerevan',0),(334,'Atlantic/Azores',0),(335,'Atlantic/Bermuda',0),(336,'Atlantic/Canary',0),(337,'Atlantic/Cape_Verde',0),(338,'Atlantic/Faeroe',0),(339,'Atlantic/Faroe',0),(340,'Atlantic/Jan_Mayen',0),(341,'Atlantic/Madeira',0),(342,'Atlantic/Reykjavik',0),(343,'Atlantic/South_Georgia',0),(344,'Atlantic/St_Helena',0),(345,'Atlantic/Stanley',0),(346,'Australia/ACT',0),(347,'Australia/Adelaide',0),(348,'Australia/Brisbane',0),(349,'Australia/Broken_Hill',0),(350,'Australia/Canberra',0),(351,'Australia/Currie',0),(352,'Australia/Darwin',0),(353,'Australia/Eucla',0),(354,'Australia/Hobart',0),(355,'Australia/LHI',0),(356,'Australia/Lindeman',0),(357,'Australia/Lord_Howe',0),(358,'Australia/Melbourne',0),(359,'Australia/NSW',0),(360,'Australia/North',0),(361,'Australia/Perth',0),(362,'Australia/Queensland',0),(363,'Australia/South',0),(364,'Australia/Sydney',0),(365,'Australia/Tasmania',0),(366,'Australia/Victoria',0),(367,'Australia/West',0),(368,'Australia/Yancowinna',0),(369,'Brazil/Acre',0),(370,'Brazil/DeNoronha',0),(371,'Brazil/East',0),(372,'Brazil/West',0),(373,'Canada/Atlantic',0),(374,'Canada/Central',0),(375,'Canada/Eastern',0),(376,'Canada/Mountain',0),(377,'Canada/Newfoundland',0),(378,'Canada/Pacific',0),(379,'Canada/Saskatchewan',0),(380,'Canada/Yukon',0),(381,'Chile/Continental',0),(382,'Chile/EasterIsland',0),(383,'Europe/Amsterdam',0),(384,'Europe/Andorra',0),(385,'Europe/Astrakhan',0),(386,'Europe/Athens',0),(387,'Europe/Belfast',0),(388,'Europe/Belgrade',0),(389,'Europe/Berlin',0),(390,'Europe/Bratislava',0),(391,'Europe/Brussels',0),(392,'Europe/Bucharest',0),(393,'Europe/Budapest',0),(394,'Europe/Busingen',0),(395,'Europe/Chisinau',0),(396,'Europe/Copenhagen',0),(397,'Europe/Dublin',0),(398,'Europe/Gibraltar',0),(399,'Europe/Guernsey',0),(400,'Europe/Helsinki',0),(401,'Europe/Isle_of_Man',0),(402,'Europe/Istanbul',0),(403,'Europe/Jersey',0),(404,'Europe/Kaliningrad',0),(405,'Europe/Kiev',0),(406,'Europe/Kirov',0),(407,'Europe/Lisbon',0),(408,'Europe/Ljubljana',0),(409,'Europe/London',0),(410,'Europe/Luxembourg',0),(411,'Europe/Madrid',0),(412,'Europe/Malta',0),(413,'Europe/Mariehamn',0),(414,'Europe/Minsk',0),(415,'Europe/Monaco',0),(416,'Europe/Moscow',0),(417,'Europe/Nicosia',0),(418,'Europe/Oslo',0),(419,'Europe/Paris',0),(420,'Europe/Podgorica',0),(421,'Europe/Prague',0),(422,'Europe/Riga',0),(423,'Europe/Rome',0),(424,'Europe/Samara',0),(425,'Europe/San_Marino',0),(426,'Europe/Sarajevo',0),(427,'Europe/Saratov',0),(428,'Europe/Simferopol',0),(429,'Europe/Skopje',0),(430,'Europe/Sofia',0),(431,'Europe/Stockholm',0),(432,'Europe/Tallinn',0),(433,'Europe/Tirane',0),(434,'Europe/Tiraspol',0),(435,'Europe/Ulyanovsk',0),(436,'Europe/Uzhgorod',0),(437,'Europe/Vaduz',0),(438,'Europe/Vatican',0),(439,'Europe/Vienna',0),(440,'Europe/Vilnius',0),(441,'Europe/Volgograd',0),(442,'Europe/Warsaw',0),(443,'Europe/Zagreb',0),(444,'Europe/Zaporozhye',0),(445,'Europe/Zurich',0),(446,'Indian/Antananarivo',0),(447,'Indian/Chagos',0),(448,'Indian/Christmas',0),(449,'Indian/Cocos',0),(450,'Indian/Comoro',0),(451,'Indian/Kerguelen',0),(452,'Indian/Mahe',0),(453,'Indian/Maldives',0),(454,'Indian/Mauritius',0),(455,'Indian/Mayotte',0),(456,'Indian/Reunion',0),(457,'Mexico/BajaNorte',0),(458,'Mexico/BajaSur',0),(459,'Mexico/General',0),(460,'Pacific/Apia',0),(461,'Pacific/Auckland',0),(462,'Pacific/Bougainville',0),(463,'Pacific/Chatham',0),(464,'Pacific/Chuuk',0),(465,'Pacific/Easter',0),(466,'Pacific/Efate',0),(467,'Pacific/Enderbury',0),(468,'Pacific/Fakaofo',0),(469,'Pacific/Fiji',0),(470,'Pacific/Funafuti',0),(471,'Pacific/Galapagos',0),(472,'Pacific/Gambier',0),(473,'Pacific/Guadalcanal',0),(474,'Pacific/Guam',0),(475,'Pacific/Honolulu',0),(476,'Pacific/Johnston',0),(477,'Pacific/Kiritimati',0),(478,'Pacific/Kosrae',0),(479,'Pacific/Kwajalein',0),(480,'Pacific/Majuro',0),(481,'Pacific/Marquesas',0),(482,'Pacific/Midway',0),(483,'Pacific/Nauru',0),(484,'Pacific/Niue',0),(485,'Pacific/Norfolk',0),(486,'Pacific/Noumea',0),(487,'Pacific/Pago_Pago',0),(488,'Pacific/Palau',0),(489,'Pacific/Pitcairn',0),(490,'Pacific/Pohnpei',0),(491,'Pacific/Ponape',0),(492,'Pacific/Port_Moresby',0),(493,'Pacific/Rarotonga',0),(494,'Pacific/Saipan',0),(495,'Pacific/Samoa',0),(496,'Pacific/Tahiti',0),(497,'Pacific/Tarawa',0),(498,'Pacific/Tongatapu',0),(499,'Pacific/Truk',0),(500,'Pacific/Wake',0),(501,'Pacific/Wallis',0),(502,'Pacific/Yap',0),(503,'US/Alaska',0),(504,'US/Aleutian',0),(505,'US/Arizona',0),(506,'US/Central',0),(507,'US/East-Indiana',0),(508,'US/Eastern',0),(509,'US/Hawaii',0),(510,'US/Indiana-Starke',0),(511,'US/Michigan',0),(512,'US/Mountain',0),(513,'US/Pacific',0),(514,'US/Samoa',0),(515,'UTC',0); -UNLOCK TABLES; - --- --- Dumping data for table `lams_tool_session_state` --- - -LOCK TABLES `lams_tool_session_state` WRITE; -INSERT INTO `lams_tool_session_state` VALUES (1,'STARTED'),(2,'ENDED'); -UNLOCK TABLES; - --- --- Dumping data for table `lams_tool_session_type` --- - -LOCK TABLES `lams_tool_session_type` WRITE; -INSERT INTO `lams_tool_session_type` VALUES (1,'NON_GROUPED'),(2,'GROUPED'); -UNLOCK TABLES; - - - --- --- Dumping data for table `lams_workspace_folder_type` --- - -LOCK TABLES `lams_workspace_folder_type` WRITE; -INSERT INTO `lams_workspace_folder_type` VALUES (1,'NORMAL'),(2,'RUN SEQUENCES'),(3,'PUBLIC SEQUENCES'); -UNLOCK TABLES; - --- --- Dumping data for table `patches` --- - -LOCK TABLES `patches` WRITE; -INSERT INTO patches VALUES ('lams', 20190103, NOW(), 'F'); -UNLOCK TABLES; - -SET FOREIGN_KEY_CHECKS=1; +INSERT INTO patches VALUES +('lams', 20211025, NOW(), 'F'); \ No newline at end of file Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190119.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190126.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190201.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190226.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190313.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190520.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190721.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190722.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190723.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190724.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190725.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190808.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190816.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20190913.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20191023.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200116.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200129.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200204.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200219.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200220.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200519.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200626.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200710.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20200730.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20201122.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20210215.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20210310.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20210506.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20210701.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20210712.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20210713.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20210824.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20210927.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20211017.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20211025.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20211025_updateTo46.sql =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20211025_updateTo46.sql (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20211025_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,1171 @@ +SET AUTOCOMMIT = 0; +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20190119.sql to patch20211025.sql +-- It should upgrade LAMS to version 4.6 + +-- LDEV-4755 Add configuration settings for ClamAV antivirus +INSERT INTO lams_configuration VALUES +('AntivirusEnable', 'false', 'config.av.enable', 'config.header.antivirus', 'BOOLEAN', 1), +('AntivirusHost', 'localhost', 'config.av.host', 'config.header.antivirus', 'STRING', 0), +('AntivirusPort', '3310', 'config.av.port', 'config.header.antivirus', 'LONG', 0); + +-- LDEV-4587 Direction (asc/desc) of ordered branching. NULL means it is non-ordered tool-based branching +ALTER TABLE lams_learning_activity +ADD COLUMN branching_ordered_asc TINYINT(1); + +-- LDEV-4767 Add new event types for log in and log out +INSERT INTO lams_log_event_type VALUES (24, 'TYPE_LOGIN', 'SECURITY'), + (25, 'TYPE_LOGOUT', 'SECURITY'); + +-- LDEV-4778 Add new event type for sysadmin configuration change +INSERT INTO lams_log_event_type VALUES (26, 'TYPE_CONFIG_CHANGE', 'SECURITY'); + +-- LDEV-4788 Remove reference to organisation in learning outcomes. They are all global now. +ALTER TABLE lams_outcome_scale DROP FOREIGN KEY FK_lams_outcome_scale_1, + DROP KEY code_2, + DROP COLUMN organisation_id, + DROP COLUMN content_folder_id; + +ALTER TABLE lams_outcome DROP FOREIGN KEY FK_lams_outcome_1, + DROP KEY code_2, + DROP COLUMN organisation_id, + DROP COLUMN content_folder_id; + +-- LDEV-4819 Add configuration setting for disabling Learning Outcome quick add by authors +INSERT INTO lams_configuration VALUES +('LearningOutcomeQuickAddEnable', 'true', 'config.learning.outcome.add.enable', 'config.header.features', 'BOOLEAN', 1); + +CREATE FUNCTION `strip_tags`($str MEDIUMTEXT, $leaveMeaningfulTags BOOLEAN) RETURNS MEDIUMTEXT +BEGIN + DECLARE $start, $end INT DEFAULT 1; + DECLARE $tag CHAR(3); + IF ($str IS NULL) THEN RETURN NULL; END IF; + main: LOOP + SET $start = LOCATE("<", $str, $start); + IF (NOT $start) THEN RETURN $str; END IF; + SET $end = LOCATE(">", $str, $start); + IF (NOT $end) THEN SET $end = $start; END IF; + IF ($leaveMeaningfulTags = FALSE) THEN + SET $tag = SUBSTRING($str, $start + 1, 3); + IF $tag = 'img' OR $tag = 'IMG' THEN SET $start = $end; ITERATE main; END IF; + END IF; + SET $str = INSERT($str, $start, $end - $start + 1, ""); + END LOOP; +END; + +-- LDEV-4746 Create Question Bank table structure and migrate existing data + +-- AUTO COMMIT stays ON because there is so many ALTER TABLE statements which are committed immediately anyway, that it does not make a difference + +-- Create QB question table + +CREATE TABLE lams_qb_question (`uid` BIGINT AUTO_INCREMENT, + `uuid` BINARY(16) NOT NULL, + `type` TINYINT NOT NULL, + `question_id` INT NOT NULL, + `version` SMALLINT NOT NULL DEFAULT 1, + `create_date` DATETIME, + `content_folder_id` char(36), + `name` TEXT, + `description` MEDIUMTEXT, + `max_mark` INT, + `feedback` TEXT, + `penalty_factor` float DEFAULT 0, + `answer_required` TINYINT(1) DEFAULT 0, + `multiple_answers_allowed` TINYINT(1) DEFAULT 0, + `incorrect_answer_nullifies_mark` TINYINT(1) DEFAULT 0, + `feedback_on_correct` TEXT, + `feedback_on_partially_correct` TEXT, + `feedback_on_incorrect` TEXT, + `shuffle` TINYINT(1) DEFAULT 0, + `prefix_answers_with_letters` TINYINT(1) DEFAULT 0, + `case_sensitive` TINYINT(1) DEFAULT 0, + `correct_answer` TINYINT(1) DEFAULT 0, + `allow_rich_editor` TINYINT(1) DEFAULT 0, + `max_words_limit` int(11) DEFAULT 0, + `min_words_limit` int(11) DEFAULT 0, + `hedging_justification_enabled` TINYINT(1) DEFAULT 0, + `tmp_question_id` BIGINT, + `owner_id` BIGINT, + PRIMARY KEY (uid), + INDEX (tmp_question_id), + CONSTRAINT UQ_question_version UNIQUE INDEX (question_id, version)); + +-- Create a trigger to run before insert to generate the UUID for the uuid column +CREATE TRIGGER before_insert_qb_question + BEFORE INSERT ON lams_qb_question + FOR EACH ROW + SET new.uuid = UUID_TO_BIN(UUID()); + +-- Create a question table from which tools' questions will inherit +CREATE TABLE lams_qb_tool_question (`tool_question_uid` BIGINT AUTO_INCREMENT, + `qb_question_uid` BIGINT NOT NULL, + `tool_content_id` BIGINT NOT NULL, + `display_order` TINYINT UNSIGNED NOT NULL DEFAULT 1, + PRIMARY KEY (tool_question_uid), + INDEX (tool_content_id), + CONSTRAINT FK_lams_qb_tool_question_1 FOREIGN KEY (qb_question_uid) REFERENCES lams_qb_question (uid) ON UPDATE CASCADE); + +-- create Question Bank option +CREATE TABLE lams_qb_option (`uid` BIGINT AUTO_INCREMENT, + `qb_question_uid` BIGINT NOT NULL, + `display_order` TINYINT NOT NULL DEFAULT 1, + `name` TEXT, + `matching_pair` TEXT, + `numerical_option` float DEFAULT 0, + `max_mark` float DEFAULT 0, + `accepted_error` float DEFAULT 0, + `feedback` TEXT, + PRIMARY KEY (uid), + INDEX (display_order), + CONSTRAINT FK_lams_qb_option_1 FOREIGN KEY (qb_question_uid) REFERENCES lams_qb_question (uid) ON DELETE CASCADE ON UPDATE CASCADE); + +-- create Question Bank question unit (used by numerical type of questions only) +CREATE TABLE lams_qb_question_unit (`uid` BIGINT AUTO_INCREMENT, + `qb_question_uid` BIGINT NOT NULL, + `display_order` TINYINT NOT NULL DEFAULT 1, + `multiplier` float DEFAULT 0, + `name` varchar(255), + PRIMARY KEY (uid), + CONSTRAINT FK_lams_qb_question_unit_1 FOREIGN KEY (qb_question_uid) REFERENCES lams_qb_question (uid) ON DELETE CASCADE ON UPDATE CASCADE); + +-- create an answer table from which tools' answers will inherit +CREATE TABLE lams_qb_tool_answer (`answer_uid` BIGINT AUTO_INCREMENT, + `tool_question_uid` BIGINT NOT NULL, + `qb_option_uid` BIGINT DEFAULT NULL, + `answer` MEDIUMTEXT, + PRIMARY KEY (answer_uid), + CONSTRAINT FK_lams_qb_tool_answer_1 FOREIGN KEY (tool_question_uid) + REFERENCES lams_qb_tool_question (tool_question_uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_qb_tool_answer_2 FOREIGN KEY (qb_option_uid) + REFERENCES lams_qb_option (uid) ON DELETE CASCADE ON UPDATE CASCADE); + +-- Migrate MCQ question into Question Bank question +-- This part of patch should be in MCQ, but it must be run after lams_qb_question is created and it must not run in parallel with other tools' patches, +-- so the safest solution is to place it here + +-- default value for a concat result is 1024 characters, which can be too little for multiple concatenated answers +-- we choose a value big enough to accept anything +SET group_concat_max_len = 10000000; + + +-- MULTIPLE CHOICE (MCQ) + +-- remove characters that prevent detecting identical questions +UPDATE tl_lamc11_que_content SET `question` = TRIM(REPLACE(REPLACE(REPLACE(question, '> ', '>' ), '\r', '' ), '\n', '')); +UPDATE tl_lamc11_options_content SET `mc_que_option_text` = TRIM(REPLACE(REPLACE(REPLACE(mc_que_option_text, '> ', '>' ), '\r', '' ), '\n', '')); + +-- create a mapping of MCQ question UID -> its question text + all answers in a single column +-- if this column is not *exactly* as in an other row, it means it should be a separate question in QB +-- Also remove all whitespace just for less demanding matching +CREATE TABLE tmp_question (question_uid BIGINT PRIMARY KEY, + content MEDIUMTEXT) + AS SELECT q.uid AS question_uid, + REPLACE(REPLACE(REPLACE(strip_tags(GROUP_CONCAT(question, mc_que_option_text ORDER BY displayOrder), true) + COLLATE utf8mb4_0900_ai_ci, + ' ', ''), + '\t', ''), + ' ', '') AS content + FROM tl_lamc11_que_content AS q + JOIN tl_lamc11_options_content AS o ON q.uid = o.mc_que_content_id + GROUP BY q.uid; + +-- create a mapping of MCQ question UID -> UID of one of MCQ questions which holds the same content +CREATE TABLE tmp_question_match (question_uid BIGINT PRIMARY KEY, + target_uid BIGINT) + SELECT q.question_uid, merged.question_uid AS target_uid + FROM (SELECT * FROM tmp_question GROUP BY content) AS merged + JOIN tmp_question AS q USING (content) + GROUP BY q.question_uid; + +ALTER TABLE tmp_question_match ADD INDEX (target_uid); + + +-- fill Question Bank question table with unique questions, with manually incremented question ID +SET @question_id = (SELECT IF(MAX(question_id) IS NULL, 0, MAX(question_id)) FROM lams_qb_question); + +INSERT INTO lams_qb_question (uid, `type`, question_id, version, create_date, name, description, max_mark, feedback, tmp_question_id) + SELECT NULL, 1, @question_id:=@question_id + 1, 1, IFNULL(c.creation_date, NOW()), + SUBSTRING(TRIM(REPLACE(REPLACE(strip_tags(mcq.question, false) COLLATE utf8mb4_0900_ai_ci, ' ', ' '), '\t', '')), 1, 200), + mcq.question, IFNULL(mcq.max_mark, 1), mcq.feedback, q.target_uid + FROM (SELECT uid, + question AS question, + mark AS max_mark, + IF(TRIM(feedback) = '', NULL, TRIM(feedback)) AS feedback, + mc_content_id + FROM tl_lamc11_que_content) AS mcq + JOIN (SELECT DISTINCT target_uid FROM tmp_question_match) AS q + ON mcq.uid = q.target_uid + JOIN tl_lamc11_content AS c + ON mcq.mc_content_id = c.uid; + +-- set up references to QB question UIDs created above +INSERT INTO lams_qb_tool_question + SELECT q.question_uid, qb.uid, c.content_id, mcq.display_order + FROM lams_qb_question AS qb + JOIN tmp_question_match AS q + ON qb.tmp_question_id = q.target_uid + JOIN tl_lamc11_que_content AS mcq + ON q.question_uid = mcq.uid + JOIN tl_lamc11_content AS c + ON mcq.mc_content_id = c.uid; + +-- remove columns from MCQ which are duplicated in Question Bank +ALTER TABLE tl_lamc11_que_content DROP COLUMN question, + DROP COLUMN mark, + DROP COLUMN display_order, + DROP COLUMN feedback; + +-- add missing display order in options, if any +UPDATE tl_lamc11_options_content AS c + JOIN (SELECT MIN(uid)-1 AS uid_shift, mc_que_content_id + FROM tl_lamc11_options_content + WHERE displayOrder IS NULL + GROUP BY mc_que_content_id) AS s + USING (mc_que_content_id) + SET c.displayOrder = c.uid - s.uid_shift + WHERE c.displayOrder IS NULL; + +-- fill table with options matching unique QB questions inserted above +INSERT INTO lams_qb_option (qb_question_uid, display_order, name, max_mark) + SELECT q.uid, o.displayOrder, o.mc_que_option_text, o.correct_option + FROM tl_lamc11_options_content AS o + JOIN lams_qb_question AS q + ON o.mc_que_content_id = q.tmp_question_id + ORDER BY o.mc_que_content_id, o.displayOrder; + +ALTER TABLE tl_lamc11_usr_attempt DROP FOREIGN KEY FK_tl_lamc11_usr_attempt_2, + DROP FOREIGN KEY FK_tl_lamc11_usr_attempt_3, + DROP INDEX attempt_unique_index; + +-- rewrite references from MCQ options to QB options +UPDATE tl_lamc11_usr_attempt AS ua, tl_lamc11_options_content AS mco, lams_qb_tool_question AS tq, lams_qb_option AS qo + SET ua.mc_que_option_id = qo.uid + WHERE mco.displayOrder = qo.display_order + AND ua.mc_que_option_id = mco.uid + AND qo.qb_question_uid = tq.qb_question_uid + AND mco.mc_que_content_id = tq.tool_question_uid; + +-- prepare for answer inheritance +INSERT INTO lams_qb_tool_answer + SELECT uid, mc_que_content_id, mc_que_option_id, NULL FROM tl_lamc11_usr_attempt; + +-- clean up +ALTER TABLE tl_lamc11_usr_attempt DROP COLUMN mc_que_content_id, + DROP COLUMN mc_que_option_id; + +DROP TABLE tl_lamc11_options_content; + +-- prepare for next tool migration, recreate tables +DROP TABLE tmp_question; +DROP TABLE tmp_question_match; + +CREATE TABLE tmp_question (question_uid BIGINT PRIMARY KEY, + content MEDIUMTEXT); + +CREATE TABLE tmp_question_match (question_uid BIGINT PRIMARY KEY, + target_uid BIGINT); +ALTER TABLE tmp_question_match ADD INDEX (target_uid); + + +-- SCRATCHIE + +-- delete corrupted data +DELETE FROM tl_lascrt11_scratchie_answer WHERE scratchie_item_uid IS NULL; + +-- shift Scratchie question UIDs by offset equal to existing UIDs of MCQ in lams_qb_tool_question +SET @max_tool_question_id = (SELECT MAX(tool_question_uid) FROM lams_qb_tool_question); +-- remove characters that prevent detecting identical questions +UPDATE tl_lascrt11_scratchie_item SET `title` = TRIM(REPLACE(REPLACE(REPLACE(title, '> ', '>' ), '\r', '' ), '\n', '')), + `description` = TRIM(REPLACE(REPLACE(REPLACE(description, '> ', '>' ), '\r', '' ), '\n', '')), + uid = uid + @max_tool_question_id ORDER BY uid DESC; +UPDATE tl_lascrt11_scratchie_answer SET `description` = TRIM(REPLACE(REPLACE(REPLACE(description, '> ', '>' ), '\r', '' ), '\n', '')); +-- UPDATE tl_lascrt11_scratchie_answer SET scratchie_item_uid = scratchie_item_uid + @max_tool_question_id ORDER BY scratchie_item_uid DESC; + +-- create a mapping of Scratchie question UID -> its question description + all answers in a single column +-- if this column is not *exactly* as in an other row, it means it should be a separate question in QB +INSERT INTO tmp_question + SELECT q.uid, + REPLACE(REPLACE(REPLACE(strip_tags(GROUP_CONCAT(q.description, o.description ORDER BY o.order_id), true) + COLLATE utf8mb4_0900_ai_ci, + ' ', ''), + '\t', ''), + ' ', '') + FROM tl_lascrt11_scratchie_item AS q + JOIN tl_lascrt11_scratchie_answer AS o + ON q.uid = o.scratchie_item_uid + GROUP BY q.uid; + +-- create a similar mapping for existing questions in QB +CREATE TABLE tmp_qb_question (question_uid BIGINT PRIMARY KEY, + content MEDIUMTEXT) + AS SELECT q.uid AS question_uid, + REPLACE(REPLACE(REPLACE(strip_tags(GROUP_CONCAT(q.description, o.name ORDER BY o.display_order), true) + COLLATE utf8mb4_0900_ai_ci, + ' ', ''), + '\t', ''), + ' ', '') AS content + FROM lams_qb_question AS q + JOIN lams_qb_option AS o + ON q.uid = o.qb_question_uid + GROUP BY q.uid; + +-- create a table which holds IDs of questions which are already in the question bank +CREATE TABLE tmp_qb_question_match (question_uid BIGINT PRIMARY KEY, qb_question_uid BIGINT) + AS SELECT q.question_uid, qb.question_uid AS qb_question_uid + FROM tmp_question AS q + JOIN tmp_qb_question AS qb + USING (content) + GROUP BY q.question_uid; + +ALTER TABLE tmp_qb_question_match ADD INDEX (qb_question_uid); + +-- create a mapping of Scratchie question UID -> UID of one of Scratchie questions which holds the same content +INSERT INTO tmp_question_match + SELECT q.question_uid, merged.question_uid + FROM (SELECT * FROM tmp_question GROUP BY content) AS merged + JOIN tmp_question AS q + USING (content) + LEFT JOIN tmp_qb_question_match AS qb + ON q.question_uid = qb.question_uid + WHERE qb.question_uid IS NULL + GROUP BY q.question_uid; + +-- reset column for matching QB questions with Scratchie questions +UPDATE lams_qb_question SET tmp_question_id = -1; + +-- fill Question Bank question table with unique questions, with manually incremented question ID +INSERT INTO lams_qb_question (uid, `type`, question_id, version, create_date, name, description, max_mark, feedback, tmp_question_id) + SELECT NULL, 1, @question_id:=@question_id + 1, 1, sq.create_date, + TRIM(REPLACE(REPLACE(strip_tags(sq.question, false) COLLATE utf8mb4_0900_ai_ci, ' ', ' '), '\t', '')), + TRIM(sq.description), NULL, NULL, q.target_uid + FROM (SELECT uid, + title AS question, + description, + create_date + FROM tl_lascrt11_scratchie_item) AS sq + JOIN (SELECT DISTINCT target_uid FROM tmp_question_match) AS q + ON sq.uid = q.target_uid; + +-- set up references to QB question UIDs created above +INSERT INTO lams_qb_tool_question + SELECT q.question_uid, qb.uid, s.content_id, sq.order_id + FROM lams_qb_question AS qb + JOIN tmp_question_match AS q + ON qb.tmp_question_id = q.target_uid + JOIN tl_lascrt11_scratchie_item AS sq + ON q.question_uid = sq.uid + JOIN tl_lascrt11_scratchie AS s + ON sq.scratchie_uid = s.uid; + +-- set up references to QB question UIDs for existing questions +INSERT INTO lams_qb_tool_question + SELECT qb.question_uid, qb.qb_question_uid, s.content_id, sq.order_id + FROM tmp_qb_question_match AS qb + JOIN tl_lascrt11_scratchie_item AS sq + ON qb.question_uid = sq.uid + JOIN tl_lascrt11_scratchie AS s + ON sq.scratchie_uid = s.uid; + +-- update question names generated for MCQ with real names from Scratchie +UPDATE lams_qb_question AS q + JOIN (SELECT * FROM tmp_qb_question_match GROUP BY qb_question_uid) AS m + ON q.uid = m.qb_question_uid + JOIN tl_lascrt11_scratchie_item AS si + ON si.uid = m.question_uid + SET q.name = TRIM(si.title); + +-- delete obsolete columns +ALTER TABLE tl_lascrt11_scratchie_item DROP FOREIGN KEY FK_NEW_610529188_F52D1F93EC0D3147, + DROP COLUMN title, + DROP COLUMN description, + DROP COLUMN create_date, + DROP COLUMN create_by_author, + DROP COLUMN session_uid, + DROP COLUMN order_id; + +-- some Scratchie options can be ordered from 0, some from 1 +-- shift ones ordered from 0 by +1 to match the other group +CREATE TABLE tmp_scratchie_answer +SELECT scratchie_item_uid FROM tl_lascrt11_scratchie_answer WHERE order_id = 0 AND scratchie_item_uid IS NOT NULL; + +ALTER TABLE tmp_scratchie_answer ADD PRIMARY KEY (scratchie_item_uid); + +UPDATE tl_lascrt11_scratchie_answer AS sa +SET order_id = order_id + 1 +WHERE EXISTS + (SELECT 1 FROM tmp_scratchie_answer WHERE scratchie_item_uid = sa.scratchie_item_uid); + +DROP TABLE tmp_scratchie_answer; + + +-- fill table with options matching unique QB questions inserted above +INSERT INTO lams_qb_option (qb_question_uid, display_order, name, max_mark) + SELECT q.uid, o.order_id, o.description, o.correct + FROM tl_lascrt11_scratchie_answer AS o + JOIN lams_qb_question AS q + ON o.scratchie_item_uid = q.tmp_question_id + ORDER BY o.scratchie_item_uid, o.order_id; + + +ALTER TABLE tl_lascrt11_answer_log ADD COLUMN scratchie_item_uid BIGINT; + +-- shift Scratchie answer UIDs by offset equal to existing UIDs of MCQ answers in lams_qb_tool_answer +SET @max_answer_uid = (SELECT MAX(answer_uid) FROM lams_qb_tool_answer); +UPDATE tl_lascrt11_answer_log SET uid = uid + @max_answer_uid ORDER BY uid DESC; + +ALTER TABLE tl_lascrt11_answer_log DROP FOREIGN KEY FK_NEW_610529188_693580A438BF8DFE, + DROP KEY FK_NEW_lascrt11_30113BFC309ED321; + +-- rewrite references from Scratchie options to QB options +UPDATE tl_lascrt11_answer_log AS sl, tl_lascrt11_scratchie_answer AS sa, lams_qb_tool_question AS tq, lams_qb_option AS qo + SET sl.scratchie_answer_uid = qo.uid, + sl.scratchie_item_uid = tq.tool_question_uid + WHERE sa.order_id = qo.display_order + AND sl.scratchie_answer_uid = sa.uid + AND qo.qb_question_uid = tq.qb_question_uid + AND sa.scratchie_item_uid = tq.tool_question_uid; + +-- prepare for answer inheritance +INSERT INTO lams_qb_tool_answer + SELECT uid, scratchie_item_uid, scratchie_answer_uid, NULL FROM tl_lascrt11_answer_log; + + +-- cleanup +ALTER TABLE tl_lascrt11_answer_log DROP COLUMN scratchie_item_uid, + DROP COLUMN scratchie_answer_uid; + +DROP TABLE tl_lascrt11_scratchie_answer; + +-- prepare for next tool migration, recreate tables +DROP TABLE tmp_question; +DROP TABLE tmp_question_match; +DROP TABLE tmp_qb_question; +DROP TABLE tmp_qb_question_match; + +CREATE TABLE tmp_question (question_uid BIGINT PRIMARY KEY, + content MEDIUMTEXT); + +CREATE TABLE tmp_question_match (question_uid BIGINT PRIMARY KEY, + target_uid BIGINT); +ALTER TABLE tmp_question_match ADD INDEX (target_uid); + +CREATE TABLE tmp_qb_question (question_uid BIGINT PRIMARY KEY, + content MEDIUMTEXT); + +CREATE TABLE tmp_qb_question_match (question_uid BIGINT PRIMARY KEY, + qb_question_uid BIGINT); +ALTER TABLE tmp_qb_question_match ADD INDEX (qb_question_uid); + +-- ASSESSMENT + +-- shift Assessment question UIDs by offset equal to existing UIDs of MCQ adn Scratchie in lams_qb_tool_question +SET @max_tool_question_id = (SELECT MAX(tool_question_uid) FROM lams_qb_tool_question); +-- remove characters that prevent detecting identical questions +UPDATE tl_laasse10_assessment_question SET `title` = TRIM(REPLACE(REPLACE(REPLACE(title, '> ', '>' ), '\r', '' ), '\n', '')), + `question` = TRIM(REPLACE(REPLACE(REPLACE(question, '> ', '>' ), '\r', '' ), '\n', '')), + uid = uid + @max_tool_question_id ORDER BY uid DESC; +UPDATE tl_laasse10_question_option SET `option_string` = TRIM(REPLACE(REPLACE(REPLACE(option_string, '> ', '>' ), '\r', '' ), '\n', '')), + `question` = TRIM(REPLACE(REPLACE(REPLACE(question, '> ', '>' ), '\r', '' ), '\n', '')); +UPDATE tl_laasse10_question_result SET `answer_string` = TRIM(REPLACE(REPLACE(REPLACE(answer_string, '> ', '>' ), '\r', '' ), '\n', '')); + +-- first, process questions with question_type=1 (as MCQ and Scratchie have only this type of questions) + +-- create a mapping of Assessment question UID -> its question description + all answers in a single column +-- if this column is not *exactly* as in an other row, it means it should be a separate question in QB +ALTER TABLE tl_laasse10_question_option ADD INDEX (sequence_id), + ADD INDEX tmp_index (sequence_id, question_uid); + +-- check if patch20190423.sql in Assessment has already run +-- if not, create index so we can use it in queries, then drop it +SET @exist := (SELECT COUNT(*) from information_schema.statistics WHERE + table_name = 'tl_laasse10_option_answer' AND + index_name = 'FK_tl_laasse10_option_answer_2' AND + table_schema = database()); +SET @sqlstmt := IF(@exist > 0, + 'SELECT ''INFO: Index FK_tl_laasse10_option_answer_2 already exists.''', + 'ALTER TABLE tl_laasse10_option_answer ADD CONSTRAINT FK_tl_laasse10_option_answer_2 FOREIGN KEY (question_option_uid) REFERENCES tl_laasse10_question_option (uid)'); +PREPARE stmt FROM @sqlstmt; +EXECUTE stmt; + +INSERT INTO tmp_question + SELECT q.uid, + REPLACE(REPLACE(REPLACE(strip_tags(GROUP_CONCAT(q.question, o.option_string ORDER BY o.sequence_id), true) + COLLATE utf8mb4_0900_ai_ci, + ' ', ''), + '\t', ''), + ' ', '') + FROM tl_laasse10_assessment_question AS q + JOIN tl_laasse10_question_option AS o + ON q.uid = o.question_uid + WHERE q.question_type = 1 + GROUP BY q.uid; + +-- create a similar mapping for existing questions in QB +INSERT INTO tmp_qb_question + SELECT q.uid AS question_uid, + REPLACE(REPLACE(REPLACE(strip_tags(GROUP_CONCAT(q.description, o.name ORDER BY o.display_order), true) + COLLATE utf8mb4_0900_ai_ci, + ' ', ''), + '\t', ''), + ' ', '') AS content + FROM lams_qb_question AS q + JOIN lams_qb_option AS o + ON q.uid = o.qb_question_uid + GROUP BY q.uid; + +-- create a mapping which holds IDs of questions which are already in the question bank +INSERT INTO tmp_qb_question_match + SELECT q.question_uid, qb.question_uid AS qb_question_uid + FROM tmp_question AS q + JOIN tmp_qb_question AS qb + USING (content); + +-- set up references to QB question UIDs for existing questions +INSERT INTO lams_qb_tool_question + SELECT qb.question_uid, qb.qb_question_uid, assess.content_id, aq.sequence_id + FROM tmp_qb_question_match qb + JOIN tl_laasse10_assessment_question AS aq + ON qb.question_uid = aq.uid + JOIN tl_laasse10_assessment AS assess + ON aq.assessment_uid = assess.uid; + + +-- update question names generated for MCQ with real names from Assessment +UPDATE lams_qb_question AS q + JOIN (SELECT * FROM tmp_qb_question_match GROUP BY qb_question_uid) AS m + ON q.uid = m.qb_question_uid + JOIN tl_laasse10_assessment_question AS aq + ON aq.uid = m.question_uid + SET q.name = TRIM(aq.title); + +-- create a mapping of Assessment question UID -> UID of one of Assessment questions which holds the same content +INSERT INTO tmp_question_match + SELECT q.question_uid, merged.question_uid + FROM (SELECT * FROM tmp_question GROUP BY content) AS merged + JOIN tmp_question AS q + USING (content) + LEFT JOIN lams_qb_tool_question AS qb + ON qb.tool_question_uid = q.question_uid + WHERE qb.tool_question_uid IS NULL + GROUP BY q.question_uid; + + +-- second run, process questions with all other question_type +DROP TABLE tmp_question; + +CREATE TABLE tmp_question (question_uid BIGINT PRIMARY KEY, + content MEDIUMTEXT); + +INSERT INTO tmp_question + SELECT q.uid, + REPLACE(REPLACE(REPLACE(strip_tags(GROUP_CONCAT(q.question_type, + IFNULL(q.question, ''), + q.correct_answer, + IFNULL( + CONCAT(IFNULL(o.question, ''), + IFNULL(o.option_string, ''), + o.option_float, + o.correct), + '') + ORDER BY o.sequence_id), true) + COLLATE utf8mb4_0900_ai_ci, + ' ', ''), + '\t', ''), + ' ', '') + FROM tl_laasse10_assessment_question AS q + LEFT JOIN tl_laasse10_question_option AS o + ON q.uid = o.question_uid + WHERE q.question_type != 1 + GROUP BY q.uid; + +INSERT INTO tmp_question_match + SELECT q.question_uid, merged.question_uid + FROM (SELECT * FROM tmp_question GROUP BY content) AS merged + JOIN tmp_question AS q + USING (content) + GROUP BY q.question_uid; + +-- reset column for matching QB questions with Assessment questions +UPDATE lams_qb_question SET tmp_question_id = -1; + + +-- fill Question Bank question table with unique questions, with manually incremented question ID +INSERT INTO lams_qb_question SELECT NULL, NULL, aq.question_type, @question_id:=@question_id + 1, 1, IFNULL(assessment.create_date, NOW()), NULL, + TRIM(REPLACE(REPLACE(strip_tags(aq.question, false) COLLATE utf8mb4_0900_ai_ci, ' ', ' '), '\t', ' ')), + TRIM(aq.description), IFNULL(aq.max_mark, 1), aq.feedback, aq.penalty_factor, aq.answer_required, + aq.multiple_answers_allowed, aq.incorrect_answer_nullifies_mark, aq.feedback_on_correct, aq.feedback_on_partially_correct, + aq.feedback_on_incorrect, aq.shuffle, aq.prefix_answers_with_letters, aq.case_sensitive, aq.correct_answer, + aq.allow_rich_editor, aq.max_words_limit, aq.min_words_limit, aq.hedging_justification_enabled, q.target_uid, NULL + FROM (SELECT uid, + title AS question, + question AS description, + default_grade AS max_mark, + question_type, + IF(TRIM(TRIM(BOTH '\r' FROM TRIM(BOTH '\n' FROM general_feedback)))= '', + NULL, TRIM(TRIM(BOTH '\r' FROM TRIM(BOTH '\n' FROM general_feedback)))) AS feedback, + penalty_factor, + answer_required, + multiple_answers_allowed, + incorrect_answer_nullifies_mark, + TRIM(TRIM(BOTH '\r' FROM TRIM(BOTH '\n' FROM feedback_on_correct))) AS feedback_on_correct, + TRIM(TRIM(BOTH '\r' FROM TRIM(BOTH '\n' FROM feedback_on_partially_correct))) AS feedback_on_partially_correct, + TRIM(TRIM(BOTH '\r' FROM TRIM(BOTH '\n' FROM feedback_on_incorrect))) AS feedback_on_incorrect, + shuffle, + prefix_answers_with_letters, + case_sensitive, + correct_answer, + allow_rich_editor, + max_words_limit, + min_words_limit, + hedging_justification_enabled, + assessment_uid + FROM tl_laasse10_assessment_question) AS aq + JOIN (SELECT DISTINCT target_uid FROM tmp_question_match) AS q + ON aq.uid = q.target_uid + JOIN tl_laasse10_assessment AS assessment + ON aq.assessment_uid = assessment.uid; + +-- set up references to QB question UIDs created above +INSERT INTO lams_qb_tool_question + SELECT q.question_uid, qb.uid, assess.content_id, aq.sequence_id + FROM lams_qb_question AS qb + JOIN tmp_question_match AS q + ON qb.tmp_question_id = q.target_uid + JOIN tl_laasse10_assessment_question AS aq + ON q.question_uid = aq.uid + JOIN tl_laasse10_assessment AS assess + ON aq.assessment_uid = assess.uid; + +-- delete obsolete columns +ALTER TABLE tl_laasse10_assessment_question DROP FOREIGN KEY FK_NEW_1720029621_F52D1F93EC0D3147, + DROP COLUMN title, + DROP COLUMN question, + DROP COLUMN question_type, + DROP COLUMN default_grade, + DROP COLUMN feedback, + DROP COLUMN general_feedback, + DROP COLUMN penalty_factor, + DROP COLUMN answer_required, + DROP COLUMN multiple_answers_allowed, + DROP COLUMN incorrect_answer_nullifies_mark, + DROP COLUMN feedback_on_correct, + DROP COLUMN feedback_on_partially_correct, + DROP COLUMN feedback_on_incorrect, + DROP COLUMN shuffle, + DROP COLUMN prefix_answers_with_letters, + DROP COLUMN case_sensitive, + DROP COLUMN correct_answer, + DROP COLUMN allow_rich_editor, + DROP COLUMN max_words_limit, + DROP COLUMN min_words_limit, + DROP COLUMN hedging_justification_enabled, + DROP COLUMN session_uid, + DROP COLUMN sequence_id; + + +-- delete corrupted data +DELETE a FROM tl_laasse10_option_answer AS a JOIN tl_laasse10_question_option AS o ON a.question_option_uid = o.uid WHERE o.question_uid IS NULL; +DELETE FROM tl_laasse10_question_option WHERE question_uid IS NULL; + +-- some Assessment options can be ordered from 0, some from 1 +-- shift ones ordered from 0 by +1 to match the other group +CREATE TABLE tmp_assessment_option +SELECT DISTINCT question_uid FROM tl_laasse10_question_option WHERE sequence_id = 0; + +ALTER TABLE tmp_assessment_option ADD PRIMARY KEY (question_uid); + +UPDATE tl_laasse10_question_option AS o +SET sequence_id = sequence_id + 1 +WHERE EXISTS + (SELECT 1 FROM tmp_assessment_option WHERE question_uid = o.question_uid); + +DROP TABLE tmp_assessment_option; + +-- fill table with options matching unique QB questions inserted above +INSERT INTO lams_qb_option (qb_question_uid, display_order, name, matching_pair, numerical_option, max_mark, accepted_error, feedback) + SELECT q.uid, o.sequence_id, IFNULL(o.option_string, ''), o.question, o.option_float, + IF(o.correct = 1, 1, o.grade), o.accepted_error, o.feedback + FROM tl_laasse10_question_option AS o + JOIN lams_qb_question AS q + ON o.question_uid = q.tmp_question_id + ORDER BY o.question_uid, o.sequence_id; + +-- fill table with units matching unique QB questions inserted above +INSERT INTO lams_qb_question_unit (qb_question_uid, display_order, multiplier, name) + SELECT q.uid, u.sequence_id, u.multiplier, u.unit + FROM tl_laasse10_assessment_unit AS u + JOIN lams_qb_question AS q + ON u.question_uid = q.tmp_question_id + ORDER BY u.question_uid, u.sequence_id; + + + +ALTER TABLE tl_laasse10_question_result DROP FOREIGN KEY FK_NEW_1720029621_693580A438BF8DFE; + +-- clean up corrupted Assessment results +DELETE r FROM tl_laasse10_question_result AS r LEFT JOIN tl_laasse10_assessment_result AS a ON r.result_uid = a.uid WHERE a.uid IS NULL; + +-- shift Assessment answer UIDs by offset equal to existing UIDs of MCQ and Assessment answers in lams_qb_tool_answer +SET @max_answer_uid = (SELECT MAX(answer_uid) FROM lams_qb_tool_answer); +UPDATE tl_laasse10_question_result SET uid = uid + @max_answer_uid ORDER BY uid DESC; + +-- rewrite references from Assessment options to QB options +UPDATE tl_laasse10_question_result AS sl, tl_laasse10_question_option AS o, lams_qb_tool_question AS tq, lams_qb_option AS qo + SET sl.submitted_option_uid = qo.uid + WHERE o.sequence_id = qo.display_order + AND sl.submitted_option_uid = o.uid + AND qo.qb_question_uid = tq.qb_question_uid + AND o.question_uid = tq.tool_question_uid; + + +-- prepare for updating option IDs in tl_laasse10_option_answer +CREATE TABLE tmp_option_answer + SELECT DISTINCT sa.question_option_uid, qo.uid + FROM tl_laasse10_option_answer AS sa + JOIN tl_laasse10_question_option AS o FORCE INDEX (tmp_index) ON sa.question_option_uid = o.uid + JOIN lams_qb_option AS qo ON o.sequence_id = qo.display_order + JOIN lams_qb_tool_question AS tq ON qo.qb_question_uid = tq.qb_question_uid + AND o.question_uid = tq.tool_question_uid; + +ALTER TABLE tmp_option_answer ADD PRIMARY KEY (question_option_uid); + +-- there can be few malformed answers; delete them +DELETE o + FROM tl_laasse10_option_answer AS o + LEFT JOIN tmp_option_answer AS t USING (question_option_uid) + WHERE t.question_option_uid IS NULL; + +ALTER TABLE tl_laasse10_option_answer DROP FOREIGN KEY FK_tl_laasse10_option_answer_2; + +-- proper update +UPDATE tl_laasse10_option_answer AS sa, tmp_option_answer AS t + SET sa.question_option_uid = t.uid + WHERE sa.question_option_uid = t.question_option_uid; + +ALTER TABLE tl_laasse10_option_answer ADD CONSTRAINT FK_tl_laasse10_option_answer_2 + FOREIGN KEY (question_option_uid) REFERENCES lams_qb_option (uid) ON DELETE CASCADE ON UPDATE CASCADE; + +-- prepare for answer inheritance +INSERT INTO lams_qb_tool_answer + SELECT uid, assessment_question_uid, submitted_option_uid, answer_string FROM tl_laasse10_question_result; + +-- cleanup +ALTER TABLE tl_laasse10_question_result DROP COLUMN assessment_question_uid, + DROP COLUMN submitted_option_uid, + DROP COLUMN answer_string; + +DROP TABLE tl_laasse10_question_option, + tl_laasse10_assessment_unit; + +-- prepare for next tool migration, recreate tables +DROP TABLE tmp_question; +DROP TABLE tmp_question_match; + +CREATE TABLE tmp_question (question_uid BIGINT PRIMARY KEY, + content MEDIUMTEXT); + +CREATE TABLE tmp_question_match (question_uid BIGINT PRIMARY KEY, + target_uid BIGINT); +ALTER TABLE tmp_question_match ADD INDEX (target_uid); + + + +-- QUESTION & ANSWERS (Q&A) + +SET @max_tool_question_id = (SELECT MAX(tool_question_uid) FROM lams_qb_tool_question); +-- remove characters that prevent detecting identical questions +UPDATE tl_laqa11_que_content SET `question` = TRIM(REPLACE(REPLACE(REPLACE(question, '> ', '>' ), '\r', '' ), '\n', '')), + `feedback` = TRIM(REPLACE(REPLACE(REPLACE(feedback, '> ', '>' ), '\r', '' ), '\n', '')), + uid = uid + @max_tool_question_id ORDER BY uid DESC; +UPDATE tl_laqa11_usr_resp SET `answer` = TRIM(REPLACE(REPLACE(REPLACE(answer, '> ', '>' ), '\r', '' ), '\n', '')); + +-- create a mapping of Q&A question UID -> its question text in a single column +-- if this column is not *exactly* as in an other row, it means it should be a separate question in QB +-- Also remove all whitespace just for less demanding matching + +INSERT INTO tmp_question + SELECT q.uid AS question_uid, + REPLACE(REPLACE(REPLACE(strip_tags(question, true) COLLATE utf8mb4_0900_ai_ci, + ' ', ''), + '\t', ''), + ' ', '') AS content + FROM tl_laqa11_que_content AS q + GROUP BY q.uid; + +-- create a mapping of Q&A question UID -> UID of one of Q&A questions which holds the same content +INSERT INTO tmp_question_match + SELECT q.question_uid, merged.question_uid AS target_uid + FROM (SELECT * FROM tmp_question GROUP BY content) AS merged + JOIN tmp_question AS q USING (content) + GROUP BY q.question_uid; + +-- reset column for matching QB questions with Scratchie questions +UPDATE lams_qb_question SET tmp_question_id = -1; + +INSERT INTO lams_qb_question (uid, `type`, question_id, version, create_date, + name, + description, max_mark, feedback, answer_required, min_words_limit, tmp_question_id) + SELECT NULL, 6, @question_id:=@question_id + 1, 1, c.creation_date, + SUBSTRING(TRIM(REPLACE(REPLACE(strip_tags(qa.question, false) COLLATE utf8mb4_0900_ai_ci, ' ', ' '), '\t', '')), 1, 200), + qa.question, 1, qa.feedback, qa.answer_required, qa.min_words_limit, q.target_uid + FROM (SELECT uid, + question AS question, + IF(TRIM(feedback) = '', NULL, TRIM(feedback)) AS feedback, + answer_required, + min_words_limit, + qa_content_id + FROM tl_laqa11_que_content) AS qa + JOIN (SELECT DISTINCT target_uid FROM tmp_question_match) AS q + ON qa.uid = q.target_uid + JOIN tl_laqa11_content AS c + ON qa.qa_content_id = c.uid; + +-- set up references to QB question UIDs created above +INSERT INTO lams_qb_tool_question + SELECT q.question_uid, qb.uid, c.qa_content_id, qa.display_order + FROM lams_qb_question AS qb + JOIN tmp_question_match AS q + ON qb.tmp_question_id = q.target_uid + JOIN tl_laqa11_que_content AS qa + ON q.question_uid = qa.uid + JOIN tl_laqa11_content AS c + ON qa.qa_content_id = c.uid; + +-- remove columns from Q&A which are duplicated in Question Bank +ALTER TABLE tl_laqa11_que_content DROP COLUMN question, + DROP COLUMN display_order, + DROP COLUMN feedback, + DROP COLUMN answer_required, + DROP COLUMN min_words_limit; + +ALTER TABLE tl_laqa11_usr_resp DROP FOREIGN KEY FK_tl_laqa11_usr_resp_2, + -- to keep consistency with other tools + RENAME COLUMN response_id TO uid; + +-- shift Q&A answer UIDs by offset equal to existing UIDs of Q&A and Assessment answers in lams_qb_tool_answer +SET @max_answer_uid = (SELECT MAX(answer_uid) FROM lams_qb_tool_answer); +UPDATE tl_laqa11_usr_resp SET uid = uid + @max_answer_uid ORDER BY uid DESC; + + +-- prepare for answer inheritance +INSERT INTO lams_qb_tool_answer + SELECT uid, qa_que_content_id, NULL, answer FROM tl_laqa11_usr_resp; + +-- fill content_folder_id with real values from learning designs +UPDATE lams_qb_question AS qbque, lams_qb_tool_question AS toolque, lams_learning_activity AS activity, lams_learning_design AS design + SET qbque.content_folder_id = design.content_folder_id + WHERE qbque.uid = toolque.qb_question_uid + AND toolque.tool_content_id = activity.tool_content_id + AND activity.learning_design_id = design.learning_design_id; + +-- add a random, default content folder ID for activities which were not a part of a LD, like template activities +UPDATE lams_qb_question SET content_folder_id = '93b97f99-a9ad-471b-a71a-5cc58ab2196e' WHERE content_folder_id IS NULL; + +-- clean up +ALTER TABLE tl_laqa11_usr_resp DROP COLUMN qa_que_content_id, + DROP COLUMN answer; + + +ALTER TABLE lams_qb_question DROP COLUMN tmp_question_id; +DROP TABLE tmp_question, + tmp_question_match, + tmp_qb_question, + tmp_qb_question_match, + tmp_option_answer; + +-- add a table for generating questionId in QbQuestion and possible other sequences in the future +CREATE TABLE lams_sequence_generator (lams_qb_question_question_id INT); +CREATE UNIQUE INDEX IDX_lams_qb_question_question_id ON lams_sequence_generator(lams_qb_question_question_id); +INSERT INTO lams_sequence_generator(lams_qb_question_question_id) VALUES ((SELECT MAX(question_id) FROM lams_qb_question)); + + +-- find earlierst occurence of questions and fill create date and owner +UPDATE lams_qb_question AS qb, + (SELECT qt.qb_question_uid, + d.user_id AS owner_id, + MIN(a.create_date_time) AS create_date + FROM lams_qb_tool_question AS qt JOIN + lams_learning_activity AS a USING (tool_content_id) JOIN + lams_learning_design AS d USING (learning_design_id) + GROUP BY qb_question_uid + ) AS s +SET qb.create_date = s.create_date, + qb.owner_id = s.owner_id +WHERE qb.uid = s.qb_question_uid; + +-- fill missing gaps +UPDATE lams_qb_question + SET create_date = NOW() + WHERE create_date IS NULL; + +-- fortify date column so there are no NULLs +ALTER TABLE lams_qb_question MODIFY COLUMN create_date DATETIME NOT NULL DEFAULT NOW(); + +-- LDEV-4827 Add configuration settings for Question Bank +INSERT INTO lams_configuration VALUES +('QbQtiEnable', 'true', 'config.qb.qti.enable', 'config.header.qb', 'BOOLEAN', 1), +('QbWordEnable', 'true', 'config.qb.word.enable', 'config.header.qb', 'BOOLEAN', 1), +('QbCollectionsCreateEnable', 'true', 'config.qb.collections.create.enable', 'config.header.qb', 'BOOLEAN', 1), +('QbMonitorsReadOnly', 'false', 'config.qb.monitors.read.only', 'config.header.qb', 'BOOLEAN', 1), +('QbStatsMinParticipants', '2', 'config.qb.stats.min.participants', 'config.header.qb', 'LONG', 1), +('QbStatsGroupSize', '27', 'config.qb.stats.group.size', 'config.header.qb', 'LONG', 1); + +-- LDEV-4828 Add tables for QB collections +CREATE TABLE lams_qb_collection (`uid` BIGINT AUTO_INCREMENT, + `name` VARCHAR(255), + `user_id` BIGINT, + `personal` TINYINT(1) NOT NULL DEFAULT 0, + PRIMARY KEY (uid), + INDEX (personal), + CONSTRAINT FK_lams_qb_collection_1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE + ); + +CREATE TABLE lams_qb_collection_question (`collection_uid` BIGINT NOT NULL, + `qb_question_id` INT NOT NULL, + CONSTRAINT FK_lams_qb_collection_question_1 FOREIGN KEY (collection_uid) REFERENCES lams_qb_collection (uid) + ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_qb_collection_question_2 FOREIGN KEY (qb_question_id) REFERENCES lams_qb_question (question_id) + ON DELETE CASCADE ON UPDATE CASCADE + ); + + +CREATE TABLE lams_qb_collection_organisation (`collection_uid` BIGINT NOT NULL, + `organisation_id` BIGINT NOT NULL, + CONSTRAINT FK_lams_qb_collection_share_1 FOREIGN KEY (collection_uid) REFERENCES lams_qb_collection (uid) + ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_qb_collection_share_2 FOREIGN KEY (organisation_id) REFERENCES lams_organisation (organisation_id) + ON DELETE CASCADE ON UPDATE CASCADE + ); + +-- add questions to public collection +INSERT INTO lams_qb_collection VALUES (1, 'Public questions', NULL, false); + +INSERT INTO lams_qb_collection_question + SELECT 1, question_id FROM lams_qb_question + WHERE owner_id IS NULL; + +-- add questions to private collections +INSERT INTO lams_qb_collection + SELECT NULL, 'My questions', owner_id, true + FROM (SELECT DISTINCT owner_id FROM lams_qb_question WHERE owner_id IS NOT NULL) AS qb; + +INSERT INTO lams_qb_collection_question + SELECT c.uid, qb.question_id + FROM lams_qb_question AS qb + JOIN lams_qb_collection AS c ON qb.owner_id = c.user_id + WHERE qb.owner_id IS NOT NULL; + +ALTER TABLE lams_qb_question DROP COLUMN owner_id; + + +INSERT INTO lams_configuration VALUES +('QbCollectionsTransferEnable', 'true', 'config.qb.collections.transfer.enable', 'config.header.qb', 'BOOLEAN', 1); + +-- LDEV-4834 Add Learning Outcomes to QB questions +ALTER TABLE lams_outcome_mapping ADD COLUMN qb_question_id INT; + +-- LDEV-4844 Add a Question Bank event for merging questions +INSERT INTO lams_log_event_type VALUES (27, 'TYPE_QUESTIONS_MERGED', 'QUESTION_BANK'); + +-- LDEV-4827 Add configuration settings for Question Bank +INSERT INTO lams_configuration VALUES +('QbMergeEnable', 'true', 'config.qb.merge.enable', 'config.header.qb', 'BOOLEAN', 1); + +-- LDEV-4875 Add VSA question type to Assessment and Scratchie +ALTER TABLE lams_qb_question ADD COLUMN autocomplete_enabled TINYINT(1) DEFAULT 0; + +-- LDEV-4959 Prevent leader and non-leader from creating two GradebookUserLessons at the same time +-- Take care about potential duplicates. For this move all entries to tmp table first. +CREATE TABLE tmp_table SELECT * FROM lams_gradebook_user_lesson; +TRUNCATE TABLE lams_gradebook_user_lesson; +-- Change key to unique +ALTER TABLE `lams_gradebook_user_lesson` + DROP FOREIGN KEY `FK_lams_gradebook_user_lesson_1`, + DROP INDEX `lesson_id`; +ALTER TABLE `lams_gradebook_user_lesson` + ADD UNIQUE INDEX `lesson_id` (`lesson_id`,`user_id`), + ADD CONSTRAINT `FK_lams_gradebook_user_lesson_1` FOREIGN KEY (`lesson_id`) REFERENCES `lams_lesson` (`lesson_id`); +-- Move entries back to lams_gradebook_user_lesson +INSERT IGNORE INTO lams_gradebook_user_lesson SELECT * from tmp_table; +DROP TABLE tmp_table; + +-- LDEV-4962 Use complex UUIDs for user portraits +ALTER TABLE lams_cr_node ADD COLUMN portrait_uuid BINARY(16) AFTER node_id, + ADD UNIQUE INDEX IDX_portrait_uuid (portrait_uuid); + +UPDATE lams_cr_node AS n JOIN lams_user AS u ON n.node_id = u.portrait_uuid +SET n.portrait_uuid = UUID_TO_BIN(UUID()); + +ALTER TABLE lams_user ADD COLUMN temp BINARY(16) AFTER portrait_uuid; + +UPDATE lams_cr_node AS n JOIN lams_user AS u ON n.node_id = u.portrait_uuid +SET u.temp = n.portrait_uuid; + +ALTER TABLE lams_user DROP COLUMN portrait_uuid; +ALTER TABLE lams_user RENAME COLUMN temp TO portrait_uuid; + +CREATE FUNCTION UUID_V4() + RETURNS CHAR(36) +BEGIN + -- Generate 8 2-byte strings that we will combine into a UUIDv4 + SET @h1 = LPAD(HEX(FLOOR(RAND() * 0xffff)), 4, '0'); + SET @h2 = LPAD(HEX(FLOOR(RAND() * 0xffff)), 4, '0'); + SET @h3 = LPAD(HEX(FLOOR(RAND() * 0xffff)), 4, '0'); + SET @h6 = LPAD(HEX(FLOOR(RAND() * 0xffff)), 4, '0'); + SET @h7 = LPAD(HEX(FLOOR(RAND() * 0xffff)), 4, '0'); + SET @h8 = LPAD(HEX(FLOOR(RAND() * 0xffff)), 4, '0'); + + -- 4th section will start with a 4 indicating the version + SET @h4 = CONCAT('4', LPAD(HEX(FLOOR(RAND() * 0x0fff)), 3, '0')); + + -- 5th section first half-byte can only be 8, 9 A or B + SET @h5 = CONCAT(HEX(FLOOR(RAND() * 4 + 8)), + LPAD(HEX(FLOOR(RAND() * 0x0fff)), 3, '0')); + + -- Build the complete UUID + RETURN LOWER(CONCAT( + @h1, @h2, '-', @h3, '-', @h4, '-', @h5, '-', @h6, @h7, @h8 + )); +END; + +-- LDEV-4962 Use random UUIDs v4 for user portraits + +ALTER TABLE lams_cr_node ADD COLUMN temp BIGINT; + +UPDATE lams_cr_node AS n JOIN lams_user AS u USING (portrait_uuid) +SET n.temp = u.user_id, + n.portrait_uuid = UUID_TO_BIN(UUID_V4()); + +UPDATE lams_cr_node AS n JOIN lams_user AS u ON n.temp = u.user_id +SET u.portrait_uuid = n.portrait_uuid; + +ALTER TABLE lams_cr_node DROP COLUMN temp; + +-- LDEV-4746 Allow more options in a QB question +ALTER TABLE lams_qb_tool_question MODIFY COLUMN display_order TINYINT UNSIGNED NOT NULL DEFAULT 1; + +--LDEV-5047 Make numeric option more accurate as with large numbers it performs rounding +ALTER TABLE lams_qb_option MODIFY COLUMN numerical_option DOUBLE; + +--LDEV-5050 Move "is required" attribute from QB question to activity level +ALTER TABLE lams_qb_tool_question ADD COLUMN answer_required TINYINT NOT NULL DEFAULT 0 AFTER tool_content_id; + +UPDATE lams_qb_tool_question AS tq + JOIN lams_qb_question AS q ON q.uid = tq.qb_question_uid + SET tq.answer_required = q.answer_required; + +ALTER TABLE lams_qb_question DROP COLUMN answer_required; + +--LDEV-5058 Move activity categories to only place where they are needed: authoring front end +ALTER TABLE lams_learning_activity DROP FOREIGN KEY FK_lams_learning_activity_12; +ALTER TABLE lams_learning_activity DROP COLUMN activity_category_id; +DROP TABLE lams_activity_category; + +--LDEV-5123 Log learner clicks on MCQ questions in Assessment +CREATE TABLE lams_learner_interaction_event ( + uid BIGINT UNSIGNED auto_increment, + event_type TINYINT UNSIGNED NOT NULL, + occurred_date_time DATETIME NOT NULL, + user_id BIGINT NOT NULL, + qb_tool_question_uid BIGINT, + option_uid BIGINT, + PRIMARY KEY (uid), + INDEX (event_type), + CONSTRAINT lams_learner_interaction_event_FK1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) + ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT lams_learner_interaction_event_FK2 FOREIGN KEY (qb_tool_question_uid) REFERENCES lams_qb_tool_question (tool_question_uid) + ON DELETE RESTRICT ON UPDATE CASCADE +); + +--LDEV-5178 Add password expiration +INSERT INTO lams_configuration (config_key, config_value, description_key, header_name, format, required) +VALUES ('PasswordExpirationMonths', '12', 'config.password.expiration', 'config.header.password.policy', 'LONG', 1), + ('PasswordHistoryLimit', '3', 'config.password.history', 'config.header.password.policy', 'LONG', 1); + + +ALTER TABLE lams_user ADD COLUMN password_change_date DATETIME AFTER portrait_uuid; + +CREATE TABLE lams_user_password_history ( + uid INT UNSIGNED AUTO_INCREMENT, + user_id BIGINT NOT NULL, + change_date DATETIME NOT NULL, + password CHAR(129) NOT NULL, + PRIMARY KEY (uid), + CONSTRAINT FK_lams_user_password_history_1 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) + ON DELETE CASCADE ON UPDATE CASCADE +); + +--LDEV-5157 Add column defining support for programming language syntax highlight +ALTER TABLE lams_qb_question ADD COLUMN code_style TINYINT UNSIGNED AFTER min_words_limit; + +--LDEV-5208 Add Discussion Sentiment widget +CREATE TABLE lams_discussion_sentiment ( + uid BIGINT AUTO_INCREMENT, + lesson_id BIGINT NOT NULL, + tool_question_uid BIGINT NOT NULL, + burning_question_uid BIGINT, + user_id BIGINT, + selected_option TINYINT UNSIGNED, + PRIMARY KEY (uid), + INDEX IDX_lams_discussion_sentiment_1 (burning_question_uid), + UNIQUE INDEX UQ_lams_discussion_sentiment_2 (lesson_id, tool_question_uid, burning_question_uid, user_id), + CONSTRAINT FK_lams_discussion_sentiment_1 FOREIGN KEY (lesson_id) REFERENCES lams_lesson (lesson_id) + ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_discussion_sentiment_2 FOREIGN KEY (tool_question_uid) REFERENCES lams_qb_tool_question (tool_question_uid) + ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_lams_discussion_sentiment_3 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) + ON DELETE CASCADE ON UPDATE CASCADE +); + +--LDEV-5155 Add new rating style, rubrics +ALTER TABLE lams_rating_criteria ADD COLUMN rating_criteria_group_id MEDIUMINT UNSIGNED AFTER rating_criteria_type_id; + +CREATE TABLE lams_rating_rubrics_columns ( + uid INT UNSIGNED AUTO_INCREMENT, + rating_criteria_group_id MEDIUMINT UNSIGNED, + rating_criteria_id BIGINT, + order_id TINYINT UNSIGNED NOT NULL, + name VARCHAR(2000), + PRIMARY KEY (uid), + UNIQUE KEY UQ_lams_rating_rubrics_columns_1 (rating_criteria_group_id, rating_criteria_id, order_id), + CONSTRAINT FK_lams_rating_rubrics_columns_1 FOREIGN KEY (rating_criteria_id) REFERENCES lams_rating_criteria (rating_criteria_id) + ON DELETE CASCADE ON UPDATE CASCADE +); + +--LDEV-5219 Add "stop-students-at-activity-before-gate" feature +ALTER TABLE lams_learning_activity ADD COLUMN gate_stop_at_preceding_activity TINYINT NOT NULL DEFAULT 0 AFTER gate_password; + +--LDEV-5200 Remove learning library groups feature +DROP TABLE IF EXISTS lams_learning_library_group; + +-- Update server version so authoring auto rearrange can kick in + +UPDATE lams_configuration SET config_value = '4.5' WHERE config_key = 'ServerVersionNumber'; + +--LDEV-4813 Add indexes for columns used for joins +ALTER TABLE lams_log_event ADD INDEX event_log_user (user_id), + ADD INDEX event_log_target_user (target_user_id), + ADD INDEX event_log_lesson (lesson_id), + ADD INDEX event_log_activity (activity_id); + +--LDEV-4288 Prevent duplicate entries +ALTER TABLE lams_gradebook_user_activity DROP KEY activity_id, + ADD UNIQUE KEY UQ_lams_gradebook_user_activity_1 (activity_id, user_id); + +--LDEV-5250 Delete Pedagogical Planner table +DROP TABLE lams_planner_activity_metadata; +DROP TABLE lams_planner_recent_learning_designs; + +ALTER TABLE lams_tool DROP COLUMN pedagogical_planner_url; +ALTER TABLE lams_system_tool DROP COLUMN pedagogical_planner_url; + +--LDEV-5253 Make Login As feature configurable +INSERT INTO lams_configuration (config_key, config_value, description_key, header_name, format, required) +VALUES ('LoginAsEnable', 'true', 'config.login.as.enable', 'config.header.privacy.settings', 'BOOLEAN', 1); + +-- 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/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20220920.sql (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,15 @@ +-- 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-5328 Bump version +UPDATE lams_configuration SET config_value = '4.6' WHERE config_key = 'ServerVersionNumber'; + + +-- 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; Index: lams_tool_assessment/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_assessment/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_assessment/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=laasse10 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=assessment Index: lams_tool_assessment/db/sql/create_lams_tool_assessment.sql =================================================================== diff -u -r843bfb2a245193732040b8852349a5f5c4657893 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_assessment/db/sql/create_lams_tool_assessment.sql (.../create_lams_tool_assessment.sql) (revision 843bfb2a245193732040b8852349a5f5c4657893) +++ lams_tool_assessment/db/sql/create_lams_tool_assessment.sql (.../create_lams_tool_assessment.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,221 +1,210 @@ SET FOREIGN_KEY_CHECKS=0; -create table tl_laasse10_assessment ( - uid bigint(20) not null auto_increment, - create_date datetime, - update_date datetime, - submission_deadline datetime, - create_by bigint, - title varchar(255), - time_limit integer DEFAULT 0, - attempts_allowed integer DEFAULT 1, - passing_mark integer DEFAULT 0, - instructions MEDIUMTEXT, - define_later tinyint(1), - content_id bigint, - allow_question_feedback tinyint(1), - allow_overall_feedback tinyint(1), - allow_disclose_answers TINYINT(1) DEFAULT 0, - allow_right_answers tinyint(1), - allow_wrong_answers tinyint(1), - allow_grades_after_attempt tinyint(1), - allow_history_responses tinyint(1), - display_summary tinyint(1), - questions_per_page integer DEFAULT 0, - shuffled tinyint(1), - attempt_completion_notify tinyint(1) DEFAULT 0, - reflect_on_activity bit(1) DEFAULT 0, - reflect_instructions MEDIUMTEXT, - numbered tinyint(1) DEFAULT 1, - use_select_leader_tool_ouput tinyint(1) NOT NULL DEFAULT 0, - question_etherpad_enabled TINYINT(1) DEFAULT 0, - enable_confidence_levels TINYINT(1) NOT NULL DEFAULT 0, - PRIMARY KEY (uid), - UNIQUE KEY content_id (content_id) +DROP TABLE IF EXISTS tl_laasse10_assessment; + +CREATE TABLE tl_laasse10_assessment ( + uid bigint NOT NULL AUTO_INCREMENT, + create_date datetime DEFAULT NULL, + update_date datetime DEFAULT NULL, + submission_deadline datetime DEFAULT NULL, + create_by bigint DEFAULT NULL, + title varchar(255) DEFAULT NULL, + relative_time_limit smallint unsigned NOT NULL DEFAULT '0', + absolute_time_limit datetime DEFAULT NULL, + attempts_allowed int DEFAULT '1', + passing_mark int DEFAULT '0', + instructions mediumtext, + define_later tinyint(1) DEFAULT NULL, + content_id bigint DEFAULT NULL, + allow_question_feedback tinyint(1) DEFAULT NULL, + allow_overall_feedback tinyint(1) DEFAULT NULL, + allow_disclose_answers tinyint(1) DEFAULT '0', + allow_right_answers tinyint(1) DEFAULT NULL, + allow_wrong_answers tinyint(1) DEFAULT NULL, + allow_grades_after_attempt tinyint(1) DEFAULT NULL, + allow_history_responses tinyint(1) DEFAULT NULL, + allow_answer_justification tinyint DEFAULT '0', + allow_discussion_sentiment tinyint DEFAULT '0', + display_summary tinyint(1) DEFAULT NULL, + questions_per_page int DEFAULT '0', + shuffled tinyint(1) DEFAULT NULL, + attempt_completion_notify tinyint(1) DEFAULT '0', + reflect_on_activity bit(1) DEFAULT b'0', + reflect_instructions mediumtext, + numbered tinyint(1) DEFAULT '1', + use_select_leader_tool_ouput tinyint(1) NOT NULL DEFAULT '0', + question_etherpad_enabled tinyint(1) DEFAULT '0', + enable_confidence_levels tinyint(1) NOT NULL DEFAULT '0', + confidence_levels_type tinyint DEFAULT '1', + PRIMARY KEY (uid), + UNIQUE KEY content_id (content_id), + KEY FK_NEW_1720029621_89093BF758092FB (create_by), + CONSTRAINT FK_NEW_1720029621_89093BF758092FB FOREIGN KEY (create_by) REFERENCES tl_laasse10_user (uid) ON DELETE SET NULL ON UPDATE CASCADE ); -create table tl_laasse10_session ( - uid bigint not null auto_increment, - session_end_date datetime, - session_start_date datetime, - status integer, - assessment_uid bigint, - session_id bigint, - session_name varchar(250), - group_leader_uid bigint(20), - primary key (uid), - UNIQUE KEY session_id (session_id), - CONSTRAINT FK_NEW_1720029621_24AA78C530E79035 FOREIGN KEY (assessment_uid) - REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laasse10_assessment_overall_feedback; + +CREATE TABLE tl_laasse10_assessment_overall_feedback ( + uid bigint NOT NULL AUTO_INCREMENT, + assessment_uid bigint DEFAULT NULL, + sequence_id int DEFAULT NULL, + grade_boundary int DEFAULT NULL, + feedback mediumtext, + PRIMARY KEY (uid), + UNIQUE KEY uid (uid), + KEY FK_tl_laasse10_assessment_overall_feedback_1 (assessment_uid), + CONSTRAINT FK_tl_laasse10_assessment_overall_feedback_1 FOREIGN KEY (assessment_uid) REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -create table tl_laasse10_user ( - uid bigint not null auto_increment, - user_id bigint, - last_name varchar(255), - first_name varchar(255), - login_name varchar(255), - session_finished smallint, - session_uid bigint, - assessment_uid bigint, - primary key (uid), - UNIQUE KEY user_id (user_id,session_uid), - CONSTRAINT FK_NEW_1720029621_30113BFC309ED320 FOREIGN KEY (assessment_uid) - REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT FK_NEW_1720029621_30113BFCEC0D3147 FOREIGN KEY (session_uid) - REFERENCES tl_laasse10_session (uid) ON DELETE CASCADE ON UPDATE CASCADE + +DROP TABLE IF EXISTS tl_laasse10_assessment_question; + +CREATE TABLE tl_laasse10_assessment_question ( + uid bigint NOT NULL AUTO_INCREMENT, + assessment_uid bigint DEFAULT NULL, + correct_answers_disclosed tinyint(1) DEFAULT '0', + groups_answers_disclosed tinyint(1) DEFAULT '0', + random_question tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (uid), + KEY FK_NEW_1720029621_F52D1F9330E79035 (assessment_uid), + CONSTRAINT FK_NEW_1720029621_F52D1F9330E79035 FOREIGN KEY (assessment_uid) REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -create table tl_laasse10_assessment_question ( - uid bigint not null auto_increment, - question_type smallint, - title varchar(255), - question MEDIUMTEXT, - sequence_id integer, - default_grade integer DEFAULT 1, - penalty_factor float DEFAULT 0, - general_feedback MEDIUMTEXT, - feedback MEDIUMTEXT, - multiple_answers_allowed tinyint DEFAULT 0, - feedback_on_correct MEDIUMTEXT, - feedback_on_partially_correct MEDIUMTEXT, - feedback_on_incorrect MEDIUMTEXT, - shuffle tinyint(1), - case_sensitive tinyint(1), - correct_answer tinyint(1) DEFAULT 0, - allow_rich_editor tinyint(1) DEFAULT 0, - assessment_uid bigint, - session_uid bigint, - answer_required tinyint(1) NOT NULL DEFAULT 0, - max_words_limit int(11) DEFAULT 0, - min_words_limit int(11) DEFAULT 0, - incorrect_answer_nullifies_mark tinyint(1) NOT NULL DEFAULT 0, - hedging_justification_enabled tinyint(1) NOT NULL DEFAULT 0, - question_hash CHAR(40), - correct_answers_disclosed TINYINT(1) DEFAULT 0, - groups_answers_disclosed TINYINT(1) DEFAULT 0, - prefix_answers_with_letters TINYINT(1) NOT NULL DEFAULT 0, - PRIMARY KEY (uid), - CONSTRAINT FK_NEW_1720029621_F52D1F9330E79035 FOREIGN KEY (assessment_uid) - REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT FK_NEW_1720029621_F52D1F93EC0D3147 FOREIGN KEY (session_uid) - REFERENCES tl_laasse10_session (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laasse10_assessment_result; + +CREATE TABLE tl_laasse10_assessment_result ( + uid bigint NOT NULL AUTO_INCREMENT, + assessment_uid bigint DEFAULT NULL, + start_date datetime DEFAULT NULL, + finish_date datetime DEFAULT NULL, + user_uid bigint DEFAULT NULL, + session_id bigint DEFAULT NULL, + maximum_grade int DEFAULT NULL, + grade float DEFAULT NULL, + latest tinyint(1) DEFAULT NULL, + time_limit_launched_date datetime DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY UQ_tl_laasse10_assessment_result_5 (assessment_uid,user_uid,latest), + KEY latest (latest), + KEY FK_tl_laasse10_assessment_result_2 (user_uid), + KEY FK_tl_laasse10_assessment_result_1 (session_id), + CONSTRAINT FK_tl_laasse10_assessment_result_1 FOREIGN KEY (session_id) REFERENCES tl_laasse10_session (session_id) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_laasse10_assessment_result_2 FOREIGN KEY (user_uid) REFERENCES tl_laasse10_user (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_laasse10_assessment_result_3 FOREIGN KEY (assessment_uid) REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -create table tl_laasse10_question_reference ( - uid bigint not null auto_increment, - question_uid bigint, - question_type smallint, - title varchar(255), - sequence_id integer, - default_grade integer DEFAULT 1, - random_question tinyint(1) DEFAULT 0, - assessment_uid bigint, - primary key (uid), - CONSTRAINT FK_tl_laasse10_question_reference_1 FOREIGN KEY (question_uid) - REFERENCES tl_laasse10_assessment_question (uid) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT FK_tl_laasse10_question_reference_2 FOREIGN KEY (assessment_uid) - REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laasse10_configuration; + +CREATE TABLE tl_laasse10_configuration ( + config_key varchar(30) NOT NULL, + config_value varchar(255) DEFAULT NULL, + PRIMARY KEY (config_key) ); -create table tl_laasse10_question_option ( - uid bigint not null unique auto_increment, - question_uid bigint, - sequence_id integer, - question MEDIUMTEXT, - option_string MEDIUMTEXT, - option_float double, - accepted_error float, - grade float, - feedback MEDIUMTEXT, - correct tinyint(1) NOT NULL DEFAULT 0, - primary key (uid), - CONSTRAINT FK_tl_laasse10_question_option_1 FOREIGN KEY (question_uid) - REFERENCES tl_laasse10_assessment_question (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laasse10_option_answer; + +CREATE TABLE tl_laasse10_option_answer ( + uid bigint NOT NULL AUTO_INCREMENT, + question_result_uid bigint DEFAULT NULL, + question_option_uid bigint DEFAULT NULL, + answer_boolean tinyint(1) DEFAULT NULL, + answer_int int DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY uid (uid), + KEY answer_boolean (answer_boolean), + KEY FK_tl_laasse10_option_answer_1 (question_result_uid), + KEY FK_tl_laasse10_option_answer_2 (question_option_uid), + CONSTRAINT FK_tl_laasse10_option_answer_1 FOREIGN KEY (question_result_uid) REFERENCES tl_laasse10_question_result (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_laasse10_option_answer_2 FOREIGN KEY (question_option_uid) REFERENCES lams_qb_option (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -create table tl_laasse10_assessment_overall_feedback ( - uid bigint not null unique auto_increment, - assessment_uid bigint, - sequence_id integer, - grade_boundary integer, - feedback MEDIUMTEXT, - primary key (uid), - CONSTRAINT FK_tl_laasse10_assessment_overall_feedback_1 FOREIGN KEY (assessment_uid) - REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laasse10_question_reference; + +CREATE TABLE tl_laasse10_question_reference ( + uid bigint NOT NULL AUTO_INCREMENT, + question_uid bigint DEFAULT NULL, + sequence_id int DEFAULT NULL, + default_grade int DEFAULT '1', + random_question tinyint(1) DEFAULT '0', + assessment_uid bigint DEFAULT NULL, + PRIMARY KEY (uid), + KEY FK_tl_laasse10_question_reference_1 (question_uid), + KEY FK_tl_laasse10_question_reference_2 (assessment_uid), + CONSTRAINT FK_tl_laasse10_question_reference_1 FOREIGN KEY (question_uid) REFERENCES tl_laasse10_assessment_question (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_laasse10_question_reference_2 FOREIGN KEY (assessment_uid) REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -create table tl_laasse10_assessment_unit ( - uid bigint not null unique auto_increment, - question_uid bigint, - sequence_id integer, - multiplier float, - unit varchar(255), - primary key (uid), - CONSTRAINT FK_tl_laasse10_assessment_unit_1 FOREIGN KEY (question_uid) - REFERENCES tl_laasse10_assessment_question (uid) ON DELETE CASCADE ON UPDATE CASCADE -); -create table tl_laasse10_assessment_result ( - uid bigint not null auto_increment, - assessment_uid bigint, - start_date datetime, - finish_date datetime, - user_uid bigint, - session_id bigint, - maximum_grade integer, - grade float, - latest tinyint(1) DEFAULT NULL, - time_limit_launched_date datetime, - primary key (uid), - UNIQUE KEY `UQ_tl_laasse10_assessment_result_5` (`assessment_uid`,`user_uid`,`latest`), - INDEX (latest), - CONSTRAINT FK_tl_laasse10_assessment_result_2 FOREIGN KEY (user_uid) - REFERENCES tl_laasse10_user (uid) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT FK_tl_laasse10_assessment_result_3 FOREIGN KEY (assessment_uid) - REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laasse10_question_result; + +CREATE TABLE tl_laasse10_question_result ( + uid bigint NOT NULL AUTO_INCREMENT, + result_uid bigint DEFAULT NULL, + answer_float float DEFAULT NULL, + answer_boolean tinyint(1) DEFAULT NULL, + mark float DEFAULT NULL, + penalty float DEFAULT NULL, + finish_date datetime DEFAULT NULL, + max_mark float DEFAULT NULL, + confidence_level int NOT NULL DEFAULT '0', + justification varchar(10000) DEFAULT NULL, + PRIMARY KEY (uid), + KEY FK_tl_laasse10_question_result_1 (result_uid), + CONSTRAINT FK_tl_laasse10_question_result_1 FOREIGN KEY (result_uid) REFERENCES tl_laasse10_assessment_result (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_laasse10_question_result_2 FOREIGN KEY (uid) REFERENCES lams_qb_tool_answer (answer_uid) ON DELETE CASCADE ON UPDATE CASCADE ); -create table tl_laasse10_question_result ( - uid bigint not null auto_increment, - assessment_question_uid bigint, - result_uid bigint, - answer_string MEDIUMTEXT, - answer_float float, - answer_boolean tinyint(1), - submitted_option_uid bigint, - mark float, - penalty float, - finish_date datetime, - max_mark float, - confidence_level INT(11) NOT NULL DEFAULT 0, - primary key (uid), - CONSTRAINT FK_NEW_1720029621_693580A438BF8DFE FOREIGN KEY (assessment_question_uid) - REFERENCES tl_laasse10_assessment_question (uid) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT FK_tl_laasse10_question_result_1 FOREIGN KEY (result_uid) - REFERENCES tl_laasse10_assessment_result (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laasse10_session; + +CREATE TABLE tl_laasse10_session ( + uid bigint NOT NULL AUTO_INCREMENT, + session_end_date datetime DEFAULT NULL, + session_start_date datetime DEFAULT NULL, + `status` int DEFAULT NULL, + assessment_uid bigint DEFAULT NULL, + session_id bigint DEFAULT NULL, + session_name varchar(250) DEFAULT NULL, + group_leader_uid bigint DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY session_id (session_id), + KEY FK_NEW_1720029621_24AA78C530E79035 (assessment_uid), + KEY tl_laasse10_session (group_leader_uid), + CONSTRAINT FK_NEW_1720029621_24AA78C530E79035 FOREIGN KEY (assessment_uid) REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT tl_laasse10_session FOREIGN KEY (group_leader_uid) REFERENCES tl_laasse10_user (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -create table tl_laasse10_option_answer ( - uid bigint not null unique auto_increment, - question_result_uid bigint, - question_option_uid bigint, - answer_boolean tinyint(1), - answer_int integer, - primary key (uid), - INDEX (answer_boolean), - CONSTRAINT FK_tl_laasse10_option_answer_1 FOREIGN KEY (question_result_uid) - REFERENCES tl_laasse10_question_result (uid) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT FK_tl_laasse10_option_answer_2 FOREIGN KEY (question_option_uid) - REFERENCES tl_laasse10_question_option (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laasse10_time_limit; + +CREATE TABLE tl_laasse10_time_limit ( + assessment_uid bigint NOT NULL, + user_id bigint NOT NULL, + adjustment smallint NOT NULL DEFAULT '0', + KEY FK_tl_laasse10_time_limit_1 (assessment_uid), + KEY FK_tl_laasse10_time_limit_2 (user_id), + CONSTRAINT FK_tl_laasse10_time_limit_1 FOREIGN KEY (assessment_uid) REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_laasse10_time_limit_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE ); +DROP TABLE IF EXISTS tl_laasse10_user; -ALTER TABLE tl_laasse10_assessment ADD CONSTRAINT FK_NEW_1720029621_89093BF758092FB FOREIGN KEY (create_by) - REFERENCES tl_laasse10_user (uid) ON DELETE SET NULL ON UPDATE CASCADE; -ALTER TABLE tl_laasse10_session ADD CONSTRAINT tl_laasse10_session FOREIGN KEY (group_leader_uid) - REFERENCES tl_laasse10_user (uid) ON DELETE CASCADE ON UPDATE CASCADE; - +CREATE TABLE tl_laasse10_user ( + uid bigint NOT NULL AUTO_INCREMENT, + user_id bigint DEFAULT NULL, + last_name varchar(255) DEFAULT NULL, + first_name varchar(255) DEFAULT NULL, + login_name varchar(255) DEFAULT NULL, + session_finished smallint DEFAULT NULL, + session_uid bigint DEFAULT NULL, + assessment_uid bigint DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY user_id (user_id,session_uid), + KEY FK_NEW_1720029621_30113BFC309ED320 (assessment_uid), + KEY FK_NEW_1720029621_30113BFCEC0D3147 (session_uid), + CONSTRAINT FK_NEW_1720029621_30113BFC309ED320 FOREIGN KEY (assessment_uid) REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_NEW_1720029621_30113BFCEC0D3147 FOREIGN KEY (session_uid) REFERENCES tl_laasse10_session (uid) ON DELETE CASCADE ON UPDATE CASCADE +); +INSERT INTO tl_laasse10_configuration VALUES ('hideTitles','false'); + INSERT INTO tl_laasse10_assessment (uid, title, instructions, define_later, content_id, allow_question_feedback, allow_overall_feedback, allow_right_answers, allow_wrong_answers, allow_grades_after_attempt, allow_history_responses, display_summary, shuffled) VALUES Index: lams_tool_assessment/db/sql/tool_insert.sql =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_assessment/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_assessment/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -17,6 +17,7 @@ language_file, create_date_time, modified_date_time, +admin_url, supports_outputs ) VALUES @@ -38,5 +39,6 @@ 'org.lamsfoundation.lams.tool.assessment.ApplicationResources', NOW(), NOW(), +'tool/laasse10/admin/start.do', 1 ) \ No newline at end of file Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20190517.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20190704.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20190809.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20190913.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20191120.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20191205.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20200222.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20200617.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20200624.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20200710.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20210127.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20210511.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20210511_updateTo46.sql =================================================================== diff -u --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20210511_updateTo46.sql (revision 0) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20210511_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,64 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20190517.sql to patch20210511.sql +-- It should upgrade this tool to version 4.6 + +-- LDEV-4821 remove obsolete hash field +ALTER TABLE tl_laasse10_assessment_question DROP COLUMN question_hash; + +-- LDEV-4836 remove obsolete columns +ALTER TABLE tl_laasse10_question_reference DROP COLUMN title; +ALTER TABLE tl_laasse10_question_reference DROP COLUMN question_type; + +-- fill assessment_question.random_question with real values for old questions +ALTER TABLE tl_laasse10_assessment_question ADD COLUMN random_question TINYINT(1) NOT NULL DEFAULT 0; +UPDATE tl_laasse10_assessment_question AS asque +SET asque.random_question = 1 +WHERE NOT EXISTS + (SELECT 1 FROM tl_laasse10_question_reference WHERE question_uid = asque.uid); + +-- LDEV-4875 Add VSA question type to Assessment and Scratchie +ALTER TABLE tl_lascrt11_scratchie ADD COLUMN activity_uuid_providing_vsa_answers INT(11); + +-- LDEV-4880 Confidence level variations +ALTER TABLE tl_laasse10_assessment ADD COLUMN confidence_levels_type TINYINT DEFAULT 1; + +--LDEV-4921 Allow question title hiding in learner +CREATE TABLE `tl_laasse10_configuration` ( + `config_key` varchar(30), + `config_value` varchar(255), + PRIMARY KEY (`config_key`) + ); + +INSERT INTO `tl_laasse10_configuration` (`config_key`, `config_value`) VALUES ('hideTitles', 'false'); + +UPDATE lams_tool SET admin_url = 'tool/laasse10/admin/start.do' WHERE tool_signature = 'laasse10'; + +--LDEV-4976 Add cascade so when a row from parent table gets removed, a row from inheriting table gets removed too +ALTER TABLE tl_laasse10_question_result ADD CONSTRAINT FK_tl_laasse10_question_result_2 FOREIGN KEY (uid) + REFERENCES lams_qb_tool_answer (answer_uid) ON DELETE CASCADE ON UPDATE CASCADE; + +--LDEV-5041 Add absolute time limit in Assessment +ALTER TABLE tl_laasse10_assessment CHANGE COLUMN time_limit relative_time_limit SMALLINT UNSIGNED NOT NULL DEFAULT 0; +ALTER TABLE tl_laasse10_assessment ADD COLUMN absolute_time_limit DATETIME AFTER relative_time_limit; + +CREATE TABLE tl_laasse10_time_limit ( + assessment_uid BIGINT NOT NULL, + user_id BIGINT NOT NULL, + adjustment SMALLINT NOT NULL DEFAULT 0, + CONSTRAINT FK_tl_laasse10_time_limit_1 FOREIGN KEY (assessment_uid) + REFERENCES tl_laasse10_assessment (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_laasse10_time_limit_2 FOREIGN KEY (user_id) + REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE + ); + +--LDEV-5033 Add justification to question answer in Assessment +ALTER TABLE tl_laasse10_question_result ADD COLUMN justification VARCHAR(10000); +ALTER TABLE tl_laasse10_assessment ADD COLUMN allow_answer_justification TINYINT DEFAULT 0 AFTER allow_history_responses; + +-- LDEV-4813 Add a missing foreign key and index +ALTER TABLE tl_laasse10_assessment_result ADD CONSTRAINT FK_tl_laasse10_assessment_result_1 FOREIGN KEY (session_id) + REFERENCES tl_laasse10_session (session_id) ON DELETE CASCADE ON UPDATE CASCADE; + + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='laasse10'; + +-- 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; Index: lams_tool_chat/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_chat/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_chat/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lachat11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=chat Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lachat11'; + +-- 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; Index: lams_tool_daco/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_daco/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_daco/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=ladaco10 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=daco Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='ladaco10'; + +-- 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; Index: lams_tool_doku/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_doku/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_doku/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=ladoku11 -tool.version=20190103 +tool.version=20220920 tool.hide=false -tool.short.name=dokumaran +tool.short.name=dokumaran \ No newline at end of file Index: lams_tool_doku/db/sql/create_lams_tool_dokumaran.sql =================================================================== diff -u -r12f32bf3b8906199f695276db338bdb386095382 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_doku/db/sql/create_lams_tool_dokumaran.sql (.../create_lams_tool_dokumaran.sql) (revision 12f32bf3b8906199f695276db338bdb386095382) +++ lams_tool_doku/db/sql/create_lams_tool_dokumaran.sql (.../create_lams_tool_dokumaran.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,63 +1,95 @@ SET FOREIGN_KEY_CHECKS=0; + DROP TABLE IF EXISTS tl_ladoku11_dokumaran; -DROP TABLE IF EXISTS tl_ladoku11_session; -DROP TABLE IF EXISTS tl_ladoku11_user; + CREATE TABLE tl_ladoku11_dokumaran ( - uid bigint not null auto_increment, - create_date datetime, - update_date datetime, - create_by bigint, - title varchar(255), - lock_on_finished tinyint, - description MEDIUMTEXT, - instructions MEDIUMTEXT, - content_in_use tinyint, - define_later tinyint, - content_id bigint unique, - show_chat tinyint, - show_line_numbers tinyint, - shared_pad_id varchar(255), - use_select_leader_tool_ouput tinyint, - allow_multiple_leaders tinyint, - reflect_instructions MEDIUMTEXT, - reflect_on_activity smallint, - time_limit integer DEFAULT 0, - time_limit_launched_date datetime, - primary key (uid) -)ENGINE=InnoDB; + uid bigint NOT NULL AUTO_INCREMENT, + create_date datetime DEFAULT NULL, + update_date datetime DEFAULT NULL, + create_by bigint DEFAULT NULL, + title varchar(255) DEFAULT NULL, + lock_on_finished tinyint DEFAULT NULL, + `description` mediumtext, + instructions mediumtext, + content_in_use tinyint DEFAULT NULL, + define_later tinyint DEFAULT NULL, + content_id bigint DEFAULT NULL, + show_chat tinyint DEFAULT NULL, + show_line_numbers tinyint DEFAULT NULL, + shared_pad_id varchar(255) DEFAULT NULL, + use_select_leader_tool_ouput tinyint DEFAULT NULL, + allow_multiple_leaders tinyint DEFAULT NULL, + reflect_instructions mediumtext, + reflect_on_activity smallint DEFAULT NULL, + relative_time_limit smallint unsigned NOT NULL DEFAULT '0', + absolute_time_limit datetime DEFAULT NULL, + gallery_walk_enabled tinyint NOT NULL DEFAULT '0', + gallery_walk_read_only tinyint NOT NULL DEFAULT '0', + gallery_walk_started tinyint NOT NULL DEFAULT '0', + gallery_walk_finished tinyint NOT NULL DEFAULT '0', + gallery_walk_edit_enabled tinyint NOT NULL DEFAULT '0', + gallery_walk_instructions text, + PRIMARY KEY (uid), + UNIQUE KEY content_id (content_id), + KEY FK_NEW_680978081_89093BF758092FB (create_by), + CONSTRAINT FK_NEW_680978081_89093BF758092FB FOREIGN KEY (create_by) REFERENCES tl_ladoku11_user (uid) ON DELETE SET NULL ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS tl_ladoku11_session; + CREATE TABLE tl_ladoku11_session ( - uid bigint not null auto_increment, - session_end_date datetime, - session_start_date datetime, - status integer, - dokumaran_uid bigint, - session_id bigint, - session_name varchar(250), - group_leader_uid BIGINT, - etherpad_group_id varchar(50), - etherpad_read_only_id varchar(50), - primary key (uid) -)ENGINE=InnoDB; + uid bigint NOT NULL AUTO_INCREMENT, + session_end_date datetime DEFAULT NULL, + session_start_date datetime DEFAULT NULL, + `status` int DEFAULT NULL, + dokumaran_uid bigint DEFAULT NULL, + session_id bigint DEFAULT NULL, + session_name varchar(250) DEFAULT NULL, + group_leader_uid bigint DEFAULT NULL, + etherpad_group_id varchar(50) DEFAULT NULL, + etherpad_read_only_id varchar(50) DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY session_id (session_id), + KEY FK_NEW_680978081_24AA78C530E79035 (dokumaran_uid), + KEY tl_ladoku11_session (group_leader_uid), + CONSTRAINT FK_NEW_680978081_24AA78C530E79035 FOREIGN KEY (dokumaran_uid) REFERENCES tl_ladoku11_dokumaran (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT tl_ladoku11_session FOREIGN KEY (group_leader_uid) REFERENCES tl_ladoku11_user (uid) ON DELETE SET NULL ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS tl_ladoku11_time_limit; + +CREATE TABLE tl_ladoku11_time_limit ( + dokumaran_uid bigint NOT NULL, + user_id bigint NOT NULL, + adjustment smallint NOT NULL DEFAULT '0', + KEY FK_tl_ladoku11_time_limit_1 (dokumaran_uid), + KEY FK_tl_ladoku11_time_limit_2 (user_id), + CONSTRAINT FK_tl_ladoku11_time_limit_1 FOREIGN KEY (dokumaran_uid) REFERENCES tl_ladoku11_dokumaran (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_ladoku11_time_limit_2 FOREIGN KEY (user_id) REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS tl_ladoku11_user; + CREATE TABLE tl_ladoku11_user ( - uid bigint not null auto_increment, - user_id bigint, - last_name varchar(255), - first_name varchar(255), - login_name varchar(255), - session_finished smallint, - leader smallint, - session_uid bigint, - dokumaran_uid bigint, - primary key (uid) -)ENGINE=InnoDB; -ALTER TABLE tl_ladoku11_dokumaran ADD INDEX FK_NEW_680978081_89093BF758092FB (create_by), ADD CONSTRAINT FK_NEW_680978081_89093BF758092FB FOREIGN KEY (create_by) REFERENCES tl_ladoku11_user (uid) ON DELETE SET NULL ON UPDATE CASCADE; -ALTER TABLE tl_ladoku11_session ADD INDEX FK_NEW_680978081_24AA78C530E79035 (dokumaran_uid), ADD CONSTRAINT FK_NEW_680978081_24AA78C530E79035 FOREIGN KEY (dokumaran_uid) REFERENCES tl_ladoku11_dokumaran (uid) ON DELETE CASCADE ON UPDATE CASCADE; -ALTER TABLE tl_ladoku11_session ADD UNIQUE (session_id); -ALTER TABLE tl_ladoku11_user ADD INDEX FK_NEW_680978081_30113BFCEC0D3147 (session_uid), ADD CONSTRAINT FK_NEW_680978081_30113BFCEC0D3147 FOREIGN KEY (session_uid) REFERENCES tl_ladoku11_session (uid) ON DELETE CASCADE ON UPDATE CASCADE; -ALTER TABLE tl_ladoku11_user ADD INDEX FK_NEW_680978081_30113BFC309ED320 (dokumaran_uid), ADD CONSTRAINT FK_NEW_680978081_30113BFC309ED320 FOREIGN KEY (dokumaran_uid) REFERENCES tl_ladoku11_dokumaran (uid) ON DELETE SET NULL ON UPDATE CASCADE; -ALTER TABLE tl_ladoku11_user ADD INDEX idx_user_user_id (user_id); -ALTER TABLE tl_ladoku11_session ADD INDEX tl_ladoku11_session (group_leader_uid), ADD CONSTRAINT tl_ladoku11_session FOREIGN KEY (`group_leader_uid`) REFERENCES `tl_ladoku11_user` (`uid`) ON DELETE SET NULL ON UPDATE CASCADE; + uid bigint NOT NULL AUTO_INCREMENT, + user_id bigint DEFAULT NULL, + last_name varchar(255) DEFAULT NULL, + first_name varchar(255) DEFAULT NULL, + login_name varchar(255) DEFAULT NULL, + session_finished smallint DEFAULT NULL, + leader smallint DEFAULT NULL, + session_uid bigint DEFAULT NULL, + dokumaran_uid bigint DEFAULT NULL, + time_limit_launched_date datetime DEFAULT NULL, + PRIMARY KEY (uid), + KEY FK_NEW_680978081_30113BFCEC0D3147 (session_uid), + KEY FK_NEW_680978081_30113BFC309ED320 (dokumaran_uid), + KEY idx_user_user_id (user_id), + CONSTRAINT FK_NEW_680978081_30113BFC309ED320 FOREIGN KEY (dokumaran_uid) REFERENCES tl_ladoku11_dokumaran (uid) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT FK_NEW_680978081_30113BFCEC0D3147 FOREIGN KEY (session_uid) REFERENCES tl_ladoku11_session (uid) ON DELETE CASCADE ON UPDATE CASCADE +); + INSERT INTO `tl_ladoku11_dokumaran` (`uid`, `create_date`, `update_date`, `create_by`, `title`, `lock_on_finished`,`description`, `instructions`, `content_in_use`, `define_later`, `content_id`, `show_chat`, `show_line_numbers`, `shared_pad_id`, `use_select_leader_tool_ouput`, `allow_multiple_leaders`, `reflect_on_activity`) VALUES Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20201122.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210105.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210210.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210426.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210728.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210728_updateTo46.sql =================================================================== diff -u --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210728_updateTo46.sql (revision 0) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20210728_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,49 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20201122.sql to patch20210728.sql +-- It should upgrade this tool to version 4.6 + +--LDEV-5120 Add column for Doku Gallery Walk +ALTER TABLE tl_ladoku11_dokumaran ADD COLUMN gallery_walk_enabled TINYINT NOT NULL DEFAULT 0, + ADD COLUMN gallery_walk_read_only TINYINT NOT NULL DEFAULT 0, + ADD COLUMN gallery_walk_started TINYINT NOT NULL DEFAULT 0, + ADD COLUMN gallery_walk_finished TINYINT NOT NULL DEFAULT 0, + ADD COLUMN gallery_walk_instructions TEXT; + + +--LDEV-5141 Add column for time limit manual/automatic start +ALTER TABLE tl_ladoku11_dokumaran ADD COLUMN time_limit_manual_start TINYINT NOT NULL DEFAULT 0 AFTER time_limit; + + +--LDEV-5142 Rewrite time limits to be similar to Assessment's LDEV-5041 +ALTER TABLE tl_ladoku11_user ADD COLUMN time_limit_launched_date DATETIME; + +UPDATE tl_ladoku11_user AS u + LEFT JOIN tl_ladoku11_session AS s ON u.session_uid = s.uid + JOIN tl_ladoku11_dokumaran AS d ON u.dokumaran_uid = d.uid OR s.dokumaran_uid = d.uid +SET u.time_limit_launched_date = d.time_limit_launched_date, + u.dokumaran_uid = d.uid; + +ALTER TABLE tl_ladoku11_dokumaran DROP COLUMN time_limit_manual_start, + DROP COLUMN time_limit_launched_date, + ADD COLUMN absolute_time_limit DATETIME AFTER time_limit; + +ALTER TABLE tl_ladoku11_dokumaran CHANGE COLUMN time_limit relative_time_limit smallint unsigned NOT NULL DEFAULT '0'; + +CREATE TABLE tl_ladoku11_time_limit ( + dokumaran_uid BIGINT NOT NULL, + user_id BIGINT NOT NULL, + adjustment SMALLINT NOT NULL DEFAULT 0, + CONSTRAINT FK_tl_ladoku11_time_limit_1 FOREIGN KEY (dokumaran_uid) + REFERENCES tl_ladoku11_dokumaran (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_ladoku11_time_limit_2 FOREIGN KEY (user_id) + REFERENCES lams_user (user_id) ON DELETE CASCADE ON UPDATE CASCADE +); + +--LDEV-5122 Use blank Etherpad by default +UPDATE tl_ladoku11_dokumaran SET instructions = NULL WHERE uid = 1; + +--LDEV-5222 Allow reedit in doKu tool +ALTER TABLE tl_ladoku11_dokumaran ADD COLUMN gallery_walk_edit_enabled TINYINT NOT NULL DEFAULT 0 AFTER gallery_walk_finished; + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='ladoku11'; + +-- 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; Index: lams_tool_forum/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_forum/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_forum/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lafrum11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=forum \ No newline at end of file Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lafrum11'; + +-- 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; Index: lams_tool_images/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_images/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_images/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=laimag10 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=imageGallery Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='laimag10'; + +-- 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; Index: lams_tool_imscc/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_imscc/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_imscc/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=laimsc11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=commonCartridge \ No newline at end of file Index: lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_imscc/src/java/org/lamsfoundation/lams/tool/commonCartridge/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='laimsc11'; + +-- 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; Index: lams_tool_lamc/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_lamc/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_lamc/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lamc11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=mc \ No newline at end of file Index: lams_tool_lamc/db/sql/create_lams_tool_mc.sql =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_lamc/db/sql/create_lams_tool_mc.sql (.../create_lams_tool_mc.sql) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_lamc/db/sql/create_lams_tool_mc.sql (.../create_lams_tool_mc.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,124 +1,113 @@ SET FOREIGN_KEY_CHECKS=0; +DROP TABLE IF EXISTS tl_lamc11_configuration; + +CREATE TABLE tl_lamc11_configuration ( + config_key varchar(30) NOT NULL, + config_value varchar(255) DEFAULT NULL, + PRIMARY KEY (config_key) +); + +DROP TABLE IF EXISTS tl_lamc11_content; + CREATE TABLE tl_lamc11_content ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , content_id BIGINT(20) NOT NULL - , title TEXT - , instructions MEDIUMTEXT - , creation_date DATETIME - , update_date DATETIME - , reflect TINYINT(1) NOT NULL DEFAULT 0 - , questions_sequenced TINYINT(1) NOT NULL DEFAULT 0 - , created_by BIGINT(20) NOT NULL DEFAULT 0 - , define_later TINYINT(1) NOT NULL DEFAULT 0 - , retries TINYINT(1) NOT NULL DEFAULT 0 - , pass_mark INTEGER - , show_report TINYINT(1) NOT NULL DEFAULT 0 - , reflectionSubject MEDIUMTEXT - , showMarks TINYINT(1) NOT NULL DEFAULT 0 - , randomize TINYINT(1) NOT NULL DEFAULT 0 - , displayAnswers TINYINT(1) NOT NULL DEFAULT 1 - , submission_deadline datetime - , use_select_leader_tool_ouput tinyint(1) NOT NULL DEFAULT 0 - , prefix_answers_with_letters tinyint(1) NOT NULL DEFAULT 1 - , enable_confidence_levels TINYINT(1) NOT NULL DEFAULT 0 - , display_feedback_only TINYINT(1) NOT NULL DEFAULT 0 - , UNIQUE UQ_tl_lamc11_content_1 (content_id) - , PRIMARY KEY (uid) + uid bigint NOT NULL AUTO_INCREMENT, + content_id bigint NOT NULL, + title text, + instructions mediumtext, + creation_date datetime DEFAULT NULL, + update_date datetime DEFAULT NULL, + reflect tinyint(1) NOT NULL DEFAULT '0', + questions_sequenced tinyint(1) NOT NULL DEFAULT '0', + created_by bigint NOT NULL DEFAULT '0', + define_later tinyint(1) NOT NULL DEFAULT '0', + retries tinyint(1) NOT NULL DEFAULT '0', + pass_mark int DEFAULT NULL, + show_report tinyint(1) NOT NULL DEFAULT '0', + reflectionSubject mediumtext, + showMarks tinyint(1) NOT NULL DEFAULT '0', + randomize tinyint(1) NOT NULL DEFAULT '0', + displayAnswers tinyint(1) NOT NULL DEFAULT '1', + submission_deadline datetime DEFAULT NULL, + use_select_leader_tool_ouput tinyint(1) NOT NULL DEFAULT '0', + prefix_answers_with_letters tinyint(1) NOT NULL DEFAULT '1', + enable_confidence_levels tinyint(1) NOT NULL DEFAULT '0', + display_feedback_only tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (uid), + UNIQUE KEY UQ_tl_lamc11_content_1 (content_id) ); -CREATE TABLE tl_lamc11_session ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , mc_session_id BIGINT(20) NOT NULL - , session_start_date DATETIME - , session_end_date DATETIME - , session_name VARCHAR(100) - , session_status VARCHAR(100) - , mc_content_id BIGINT(20) NOT NULL - , mc_group_leader_uid BIGINT(20) - , PRIMARY KEY (uid) - , UNIQUE UQ_tl_lamc11_session_1 (mc_session_id) - , INDEX (mc_content_id) - , CONSTRAINT FK_tl_lamc_session_1 FOREIGN KEY (mc_content_id) - REFERENCES tl_lamc11_content (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_lamc11_que_content; + +CREATE TABLE tl_lamc11_que_content ( + uid bigint NOT NULL AUTO_INCREMENT, + mc_content_id bigint NOT NULL, + PRIMARY KEY (uid), + KEY mc_content_id (mc_content_id), + CONSTRAINT FK_tl_lamc11_que_content_1 FOREIGN KEY (mc_content_id) REFERENCES tl_lamc11_content (uid) ON DELETE CASCADE ON UPDATE CASCADE ); +DROP TABLE IF EXISTS tl_lamc11_que_usr; + CREATE TABLE tl_lamc11_que_usr ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , que_usr_id BIGINT(20) NOT NULL - , mc_session_id BIGINT(20) NOT NULL - , username VARCHAR(255) - , fullname VARCHAR(255) - , responseFinalised TINYINT(1) NOT NULL DEFAULT 0 - , viewSummaryRequested TINYINT(1) NOT NULL DEFAULT 0 - , last_attempt_total_mark INTEGER - , number_attempts int(11) DEFAULT 0 - , PRIMARY KEY (uid) - , UNIQUE KEY que_usr_id (que_usr_id,mc_session_id) - , INDEX (mc_session_id) - , CONSTRAINT FK_tl_lamc11_que_usr_1 FOREIGN KEY (mc_session_id) - REFERENCES tl_lamc11_session (uid) ON DELETE CASCADE ON UPDATE CASCADE + uid bigint NOT NULL AUTO_INCREMENT, + que_usr_id bigint NOT NULL, + mc_session_id bigint NOT NULL, + username varchar(255) DEFAULT NULL, + fullname varchar(255) DEFAULT NULL, + responseFinalised tinyint(1) NOT NULL DEFAULT '0', + viewSummaryRequested tinyint(1) NOT NULL DEFAULT '0', + last_attempt_total_mark int DEFAULT NULL, + number_attempts int DEFAULT '0', + PRIMARY KEY (uid), + UNIQUE KEY que_usr_id (que_usr_id,mc_session_id), + KEY mc_session_id (mc_session_id), + CONSTRAINT FK_tl_lamc11_que_usr_1 FOREIGN KEY (mc_session_id) REFERENCES tl_lamc11_session (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -CREATE TABLE tl_lamc11_que_content ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , question MEDIUMTEXT - , mark INT(5) NOT NULL DEFAULT 1 - , display_order INT(5) - , mc_content_id BIGINT(20) NOT NULL - , feedback MEDIUMTEXT - , question_hash CHAR(40) - , PRIMARY KEY (uid) - , INDEX (mc_content_id) - , CONSTRAINT FK_tl_lamc11_que_content_1 FOREIGN KEY (mc_content_id) - REFERENCES tl_lamc11_content (uid) ON DELETE CASCADE ON UPDATE CASCADE -); +DROP TABLE IF EXISTS tl_lamc11_session; -CREATE TABLE tl_lamc11_options_content ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , correct_option TINYINT(1) NOT NULL DEFAULT 0 - , mc_que_content_id BIGINT(20) - , mc_que_option_text MEDIUMTEXT - , displayOrder INT(5) - , PRIMARY KEY (uid) - , INDEX (mc_que_content_id) - , CONSTRAINT FK_tl_lamc11_options_content_1 FOREIGN KEY (mc_que_content_id) - REFERENCES tl_lamc11_que_content (uid) ON DELETE CASCADE ON UPDATE CASCADE +CREATE TABLE tl_lamc11_session ( + uid bigint NOT NULL AUTO_INCREMENT, + mc_session_id bigint NOT NULL, + session_start_date datetime DEFAULT NULL, + session_end_date datetime DEFAULT NULL, + session_name varchar(100) DEFAULT NULL, + session_status varchar(100) DEFAULT NULL, + mc_content_id bigint NOT NULL, + mc_group_leader_uid bigint DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY UQ_tl_lamc11_session_1 (mc_session_id), + KEY mc_content_id (mc_content_id), + KEY FK_lamc11_session1 (mc_group_leader_uid), + CONSTRAINT FK_lamc11_session1 FOREIGN KEY (mc_group_leader_uid) REFERENCES tl_lamc11_que_usr (uid) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT FK_tl_lamc_session_1 FOREIGN KEY (mc_content_id) REFERENCES tl_lamc11_content (uid) ON DELETE CASCADE ON UPDATE CASCADE ); +DROP TABLE IF EXISTS tl_lamc11_usr_attempt; + CREATE TABLE tl_lamc11_usr_attempt ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , que_usr_id BIGINT(20) NOT NULL - , mc_que_content_id BIGINT(20) NOT NULL - , mc_que_option_id BIGINT(20) NOT NULL - , attempt_time DATETIME - , isAttemptCorrect TINYINT(1) NOT NULL DEFAULT 0 - , mark VARCHAR(255) - , passed TINYINT(1) NOT NULL DEFAULT 0 - , confidence_level INT(11) NOT NULL DEFAULT 0 - , PRIMARY KEY (uid) - , UNIQUE KEY attempt_unique_index (que_usr_id,mc_que_content_id) - , INDEX (mc_que_content_id) - , CONSTRAINT FK_tl_lamc11_usr_attempt_2 FOREIGN KEY (mc_que_content_id) - REFERENCES tl_lamc11_que_content (uid) ON DELETE CASCADE ON UPDATE CASCADE - , INDEX (mc_que_option_id) - , CONSTRAINT FK_tl_lamc11_usr_attempt_3 FOREIGN KEY (mc_que_option_id) - REFERENCES tl_lamc11_options_content (uid) ON DELETE CASCADE ON UPDATE CASCADE - , INDEX (que_usr_id) - , CONSTRAINT FK_tl_lamc11_usr_attempt_4 FOREIGN KEY (que_usr_id) - REFERENCES tl_lamc11_que_usr (uid) ON DELETE CASCADE ON UPDATE CASCADE + uid bigint NOT NULL AUTO_INCREMENT, + qb_tool_question_uid bigint NOT NULL, + que_usr_id bigint NOT NULL, + attempt_time datetime DEFAULT NULL, + isAttemptCorrect tinyint(1) NOT NULL DEFAULT '0', + mark varchar(255) DEFAULT NULL, + passed tinyint(1) NOT NULL DEFAULT '0', + confidence_level int NOT NULL DEFAULT '0', + PRIMARY KEY (uid), + UNIQUE KEY IDX_attempt_duplicate_prevent (qb_tool_question_uid,que_usr_id), + KEY que_usr_id (que_usr_id), + CONSTRAINT FK_tl_lamc11_usr_attempt_1 FOREIGN KEY (uid) REFERENCES lams_qb_tool_answer (answer_uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_lamc11_usr_attempt_4 FOREIGN KEY (que_usr_id) REFERENCES tl_lamc11_que_usr (uid) ON DELETE CASCADE ON UPDATE CASCADE ); +INSERT INTO tl_lamc11_configuration VALUES ('hideTitles','false'); -ALTER TABLE tl_lamc11_session ADD CONSTRAINT FK_lamc11_session1 FOREIGN KEY (mc_group_leader_uid) - REFERENCES tl_lamc11_que_usr (uid) ON DELETE SET NULL ON UPDATE CASCADE; - - INSERT INTO tl_lamc11_content(uid, content_id , title, instructions, creation_date , reflect, questions_sequenced, created_by , define_later, retries, show_report, pass_mark) VALUES (1, ${default_content_id}, 'MCQ', 'Instructions', NOW(), 0, 0, 1, 0, 0, 0, 0); + +INSERT INTO lams_qb_tool_question (qb_question_uid, tool_content_id, answer_required, display_order) VALUES (1, ${default_content_id},0,1); -INSERT INTO tl_lamc11_que_content (uid,question, mark, display_order, mc_content_id) VALUES (1, 'A Sample question?', 1,1,1); - -INSERT INTO tl_lamc11_options_content (uid, correct_option, displayOrder, mc_que_content_id, mc_que_option_text) VALUES (1, 0, 1, 1,'Answer 1'); -INSERT INTO tl_lamc11_options_content (uid, correct_option, displayOrder, mc_que_content_id, mc_que_option_text) VALUES (2, 1, 2, 1,'Answer 2'); +INSERT INTO tl_lamc11_que_content VALUES (LAST_INSERT_ID(),1); SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_lamc/db/sql/tool_insert.sql =================================================================== diff -u -rb33a30ba74e2048bf1b8389d1523518773aec16e -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_lamc/db/sql/tool_insert.sql (.../tool_insert.sql) (revision b33a30ba74e2048bf1b8389d1523518773aec16e) +++ lams_tool_lamc/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -17,6 +17,7 @@ language_file, create_date_time, modified_date_time, +admin_url, supports_outputs ) VALUES @@ -38,4 +39,5 @@ 'org.lamsfoundation.lams.tool.mc.ApplicationResources', NOW(), NOW(), +'tool/lamc11/admin/start.do', 1) \ No newline at end of file Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20190517.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20190809.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20191205.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20200218.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20200222.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20200222_updateTo46.sql =================================================================== diff -u --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20200222_updateTo46.sql (revision 0) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20200222_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,34 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20190517.sql to patch20200222.sql +-- It should upgrade this tool to version 4.6 + +--LDEV-4821 remove obsolete hash field +ALTER TABLE tl_lamc11_que_content DROP COLUMN question_hash; + +--LDEV-4921 Allow question title hiding in learner + CREATE TABLE `tl_lamc11_configuration` ( + `config_key` varchar(30), + `config_value` varchar(255), + PRIMARY KEY (`config_key`) + ); + +INSERT INTO `tl_lamc11_configuration` (`config_key`, `config_value`) VALUES ('hideTitles', 'false'); + +UPDATE lams_tool SET admin_url = 'tool/lamc11/admin/start.do' WHERE tool_signature = 'lamc11'; + +--LDEV-4976 Introduce an extra column which holds the same information as parent table, then add unique index to prevent duplicates +ALTER TABLE tl_lamc11_usr_attempt ADD COLUMN qb_tool_question_uid BIGINT AFTER uid; + +UPDATE tl_lamc11_usr_attempt AS a JOIN lams_qb_tool_answer AS q ON a.uid = q.answer_uid +SET a.qb_tool_question_uid = q.tool_question_uid; + +ALTER TABLE tl_lamc11_usr_attempt MODIFY COLUMN qb_tool_question_uid BIGINT NOT NULL, + ADD UNIQUE INDEX IDX_attempt_duplicate_prevent (qb_tool_question_uid, que_usr_id); + +--LDEV-4976 Add cascade so when a row from parent table gets removed, a row from inheriting table gets removed too +ALTER TABLE tl_lamc11_usr_attempt ADD CONSTRAINT FK_tl_lamc11_usr_attempt_1 FOREIGN KEY (uid) + REFERENCES lams_qb_tool_answer (answer_uid) ON DELETE CASCADE ON UPDATE CASCADE; + + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lamc11'; + +-- 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; Index: lams_tool_laqa/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_laqa/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_laqa/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=laqa11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=qa Index: lams_tool_laqa/db/sql/create_lams_tool_qa.sql =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_laqa/db/sql/create_lams_tool_qa.sql (.../create_lams_tool_qa.sql) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_laqa/db/sql/create_lams_tool_qa.sql (.../create_lams_tool_qa.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,123 +1,124 @@ -CREATE TABLE tl_laqa11_content ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , qa_content_id BIGINT(20) NOT NULL - , title TEXT - , instructions MEDIUMTEXT - , creation_date DATETIME - , update_date DATETIME - , submission_deadline DATETIME - , reflect TINYINT(1) NOT NULL DEFAULT 0 - , questions_sequenced TINYINT(1) NOT NULL DEFAULT 0 - , username_visible TINYINT(1) NOT NULL DEFAULT 0 - , allow_rate_answers TINYINT(1) NOT NULL DEFAULT 0 - , created_by BIGINT(20) NOT NULL DEFAULT 0 - , define_later TINYINT(1) NOT NULL DEFAULT 0 - , reflectionSubject MEDIUMTEXT - , lockWhenFinished TINYINT(1) NOT NULL DEFAULT 1 - , showOtherAnswers TINYINT(1) NOT NULL DEFAULT 1 - , allow_rich_editor TINYINT(1) NOT NULL DEFAULT 0 - , use_select_leader_tool_ouput tinyint(1) NOT NULL DEFAULT 0 - , notify_response_submit tinyint(1) NOT NULL DEFAULT 0 - , minimum_rates int(11) DEFAULT 0 - , maximum_rates int(11) DEFAULT 0 - , no_reedit_allowed tinyint(1) NOT NULL DEFAULT 0 - , show_other_answers_after_deadline tinyint(1) NOT NULL DEFAULT 0 - , PRIMARY KEY (uid) - , KEY tl_laqa11_content_qa_content_id (qa_content_id) +SET FOREIGN_KEY_CHECKS=0; + +DROP TABLE IF EXISTS tl_laqa11_condition_questions; + +CREATE TABLE tl_laqa11_condition_questions ( + condition_id bigint NOT NULL, + question_uid bigint NOT NULL, + PRIMARY KEY (condition_id,question_uid), + KEY QaConditionQuestionToQaQuestion (question_uid), + CONSTRAINT QaConditionQuestionToQaCondition FOREIGN KEY (condition_id) REFERENCES tl_laqa11_conditions (condition_id) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT QaConditionQuestionToQaQuestion FOREIGN KEY (question_uid) REFERENCES tl_laqa11_que_content (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -CREATE TABLE tl_laqa11_session ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , qa_session_id BIGINT(20) NOT NULL - , session_start_date DATETIME - , session_end_date DATETIME - , session_name VARCHAR(100) - , session_status VARCHAR(100) - , qa_content_id BIGINT(20) NOT NULL - , qa_group_leader_uid bigint(20) - , PRIMARY KEY (uid) - , UNIQUE KEY qa_session_id (qa_session_id) - , KEY qa_content_id (qa_content_id) - , CONSTRAINT FK_tl_laqa11_session_1 FOREIGN KEY (qa_content_id) - REFERENCES tl_laqa11_content (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laqa11_conditions; + +CREATE TABLE tl_laqa11_conditions ( + condition_id bigint NOT NULL, + content_uid bigint DEFAULT NULL, + PRIMARY KEY (condition_id), + KEY QaConditionToQaContent (content_uid), + CONSTRAINT QaConditionInheritance FOREIGN KEY (condition_id) REFERENCES lams_branch_condition (condition_id) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT QaConditionToQaContent FOREIGN KEY (content_uid) REFERENCES tl_laqa11_content (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -CREATE TABLE tl_laqa11_que_usr ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , que_usr_id BIGINT(20) NOT NULL - , username VARCHAR(255) - , responseFinalized TINYINT(1) NOT NULL DEFAULT 0 - , qa_session_id BIGINT(20) NOT NULL - , fullname VARCHAR(255) - , learnerFinished TINYINT(1) NOT NULL - , PRIMARY KEY (uid) - , UNIQUE KEY que_usr_id (que_usr_id,qa_session_id) - , INDEX (qa_session_id) - , CONSTRAINT FK_tl_laqa11_que_usr_1 FOREIGN KEY (qa_session_id) - REFERENCES tl_laqa11_session (uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laqa11_content; + +CREATE TABLE tl_laqa11_content ( + uid bigint NOT NULL AUTO_INCREMENT, + qa_content_id bigint NOT NULL, + title text, + instructions mediumtext, + creation_date datetime DEFAULT NULL, + update_date datetime DEFAULT NULL, + submission_deadline datetime DEFAULT NULL, + reflect tinyint(1) NOT NULL DEFAULT '0', + questions_sequenced tinyint(1) NOT NULL DEFAULT '0', + username_visible tinyint(1) NOT NULL DEFAULT '0', + allow_rate_answers tinyint(1) NOT NULL DEFAULT '0', + created_by bigint NOT NULL DEFAULT '0', + define_later tinyint(1) NOT NULL DEFAULT '0', + reflectionSubject mediumtext, + lockWhenFinished tinyint(1) NOT NULL DEFAULT '1', + showOtherAnswers tinyint(1) NOT NULL DEFAULT '1', + allow_rich_editor tinyint(1) NOT NULL DEFAULT '0', + use_select_leader_tool_ouput tinyint(1) NOT NULL DEFAULT '0', + notify_response_submit tinyint(1) NOT NULL DEFAULT '0', + minimum_rates int DEFAULT '0', + maximum_rates int DEFAULT '0', + no_reedit_allowed tinyint(1) NOT NULL DEFAULT '0', + show_other_answers_after_deadline tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (uid), + KEY tl_laqa11_content_qa_content_id (qa_content_id) ); +DROP TABLE IF EXISTS tl_laqa11_que_content; + CREATE TABLE tl_laqa11_que_content ( - uid BIGINT(20) NOT NULL AUTO_INCREMENT - , question MEDIUMTEXT - , feedback MEDIUMTEXT - , display_order INT(5) DEFAULT 1 - , qa_content_id BIGINT(20) - , answer_required TINYINT(1) NOT NULL DEFAULT 0 - , min_words_limit int(11) DEFAULT 0 - , PRIMARY KEY (uid) - , INDEX (qa_content_id) - , CONSTRAINT FK_tl_laqa11_que_content_1 FOREIGN KEY (qa_content_id) - REFERENCES tl_laqa11_content (uid) ON DELETE CASCADE ON UPDATE CASCADE + uid bigint NOT NULL AUTO_INCREMENT, + qa_content_id bigint DEFAULT NULL, + PRIMARY KEY (uid), + KEY qa_content_id (qa_content_id), + CONSTRAINT FK_tl_laqa11_que_content_1 FOREIGN KEY (qa_content_id) REFERENCES tl_laqa11_content (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -CREATE TABLE tl_laqa11_usr_resp ( - response_id BIGINT(20) NOT NULL AUTO_INCREMENT - , answer MEDIUMTEXT - , time_zone VARCHAR(255) - , attempt_time DATETIME - , que_usr_id BIGINT(20) NOT NULL - , qa_que_content_id BIGINT(20) - , visible TINYINT(1) NOT NULL DEFAULT 1 - , answer_autosaved MEDIUMTEXT - , PRIMARY KEY (response_id) - , INDEX (que_usr_id) - , CONSTRAINT FK_tl_laqa11_usr_resp_3 FOREIGN KEY (que_usr_id) - REFERENCES tl_laqa11_que_usr (uid) ON DELETE CASCADE ON UPDATE CASCADE - , INDEX (qa_que_content_id) - , CONSTRAINT FK_tl_laqa11_usr_resp_2 FOREIGN KEY (qa_que_content_id) - REFERENCES tl_laqa11_que_content (uid) ON DELETE CASCADE ON UPDATE CASCADE -); +DROP TABLE IF EXISTS tl_laqa11_que_usr; -CREATE TABLE tl_laqa11_conditions ( - condition_id BIGINT(20) NOT NULL - , content_uid BIGINT(20) - , PRIMARY KEY (condition_id) - , CONSTRAINT QaConditionInheritance FOREIGN KEY (condition_id) - REFERENCES lams_branch_condition(condition_id) ON DELETE CASCADE ON UPDATE CASCADE - , CONSTRAINT QaConditionToQaContent FOREIGN KEY (content_uid) - REFERENCES tl_laqa11_content(uid) ON DELETE CASCADE ON UPDATE CASCADE +CREATE TABLE tl_laqa11_que_usr ( + uid bigint NOT NULL AUTO_INCREMENT, + que_usr_id bigint NOT NULL, + username varchar(255) DEFAULT NULL, + responseFinalized tinyint(1) NOT NULL DEFAULT '0', + qa_session_id bigint NOT NULL, + fullname varchar(255) DEFAULT NULL, + learnerFinished tinyint(1) NOT NULL, + PRIMARY KEY (uid), + UNIQUE KEY que_usr_id (que_usr_id,qa_session_id), + KEY qa_session_id (qa_session_id), + CONSTRAINT FK_tl_laqa11_que_usr_1 FOREIGN KEY (qa_session_id) REFERENCES tl_laqa11_session (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -CREATE TABLE tl_laqa11_condition_questions ( - condition_id BIGINT(20) - , question_uid BIGINT(20) - , PRIMARY KEY (condition_id,question_uid) - , CONSTRAINT QaConditionQuestionToQaCondition FOREIGN KEY (condition_id) - REFERENCES tl_laqa11_conditions(condition_id) ON DELETE CASCADE ON UPDATE CASCADE - , CONSTRAINT QaConditionQuestionToQaQuestion FOREIGN KEY (question_uid) - REFERENCES tl_laqa11_que_content(uid) ON DELETE CASCADE ON UPDATE CASCADE +DROP TABLE IF EXISTS tl_laqa11_session; + +CREATE TABLE tl_laqa11_session ( + uid bigint NOT NULL AUTO_INCREMENT, + qa_session_id bigint NOT NULL, + session_start_date datetime DEFAULT NULL, + session_end_date datetime DEFAULT NULL, + session_name varchar(100) DEFAULT NULL, + session_status varchar(100) DEFAULT NULL, + qa_content_id bigint NOT NULL, + qa_group_leader_uid bigint DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY qa_session_id (qa_session_id), + KEY qa_content_id (qa_content_id), + KEY FK_laqa11_session1 (qa_group_leader_uid), + CONSTRAINT FK_laqa11_session1 FOREIGN KEY (qa_group_leader_uid) REFERENCES tl_laqa11_que_usr (uid) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT FK_tl_laqa11_session_1 FOREIGN KEY (qa_content_id) REFERENCES tl_laqa11_content (uid) ON DELETE CASCADE ON UPDATE CASCADE ); +DROP TABLE IF EXISTS tl_laqa11_usr_resp; -ALTER TABLE tl_laqa11_session ADD CONSTRAINT FK_laqa11_session1 FOREIGN KEY (qa_group_leader_uid) - REFERENCES tl_laqa11_que_usr (uid) ON DELETE SET NULL ON UPDATE CASCADE; +CREATE TABLE tl_laqa11_usr_resp ( + uid bigint NOT NULL AUTO_INCREMENT, + time_zone varchar(255) DEFAULT NULL, + attempt_time datetime DEFAULT NULL, + que_usr_id bigint NOT NULL, + `visible` tinyint(1) NOT NULL DEFAULT '1', + answer_autosaved mediumtext, + PRIMARY KEY (uid), + KEY que_usr_id (que_usr_id), + CONSTRAINT FK_tl_laqa11_usr_resp_1 FOREIGN KEY (uid) REFERENCES lams_qb_tool_answer (answer_uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT FK_tl_laqa11_usr_resp_3 FOREIGN KEY (que_usr_id) REFERENCES tl_laqa11_que_usr (uid) ON DELETE CASCADE ON UPDATE CASCADE +); - -- data for content table INSERT INTO tl_laqa11_content (qa_content_id, title, instructions, creation_date, lockWhenFinished) VALUES (${default_content_id}, 'Q&A', 'Instructions', NOW() , 0); -- data for content questions table -INSERT INTO tl_laqa11_que_content (question, display_order, qa_content_id) VALUES ('Sample Question 1?',1,1); + +INSERT INTO lams_qb_tool_question (qb_question_uid, tool_content_id, answer_required, display_order) VALUES (3, ${default_content_id},0,1); +INSERT INTO tl_laqa11_que_content VALUES (LAST_INSERT_ID(),1); + SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20190809.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20200222.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20200710.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20200710_updateTo46.sql =================================================================== diff -u --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20200710_updateTo46.sql (revision 0) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20200710_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,10 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20190809.sql to patch20200710.sql +-- It should upgrade this tool to version 4.6 +--LDEV-4976 Add cascade so when a row from parent table gets removed, a row from inheriting table gets removed too + +ALTER TABLE tl_laqa11_usr_resp ADD CONSTRAINT FK_tl_laqa11_usr_resp_1 FOREIGN KEY (uid) + REFERENCES lams_qb_tool_answer (answer_uid) ON DELETE CASCADE ON UPDATE CASCADE; + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='laqa11'; + +-- 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; Index: lams_tool_larsrc/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_larsrc/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_larsrc/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=larsrc11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=rsrc \ No newline at end of file Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20210304.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20210304_updateTo46.sql =================================================================== diff -u --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20210304_updateTo46.sql (revision 0) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20210304_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,9 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20210304.sql +-- It should upgrade this tool to version 4.6 + +-- LDEV-5186 Merge two "notify on submit" column into one +UPDATE tl_larsrc11_resource SET assigment_submit_notify = 1 WHERE file_upload_notify = 1; + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='larsrc11'; + +-- 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; Index: lams_tool_leader/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_leader/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_leader/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lalead11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=leaderselection Index: lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lalead11'; + +-- 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; Index: lams_tool_mindmap/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_mindmap/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_mindmap/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lamind10 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=mindmap Index: lams_tool_mindmap/db/sql/create_lams_tool_mindmap.sql =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_mindmap/db/sql/create_lams_tool_mindmap.sql (.../create_lams_tool_mindmap.sql) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_mindmap/db/sql/create_lams_tool_mindmap.sql (.../create_lams_tool_mindmap.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -16,6 +16,12 @@ export_content mediumtext, reflect_on_activity bit(1), reflect_instructions mediumtext, + gallery_walk_enabled TINYINT NOT NULL DEFAULT 0, + gallery_walk_read_only TINYINT NOT NULL DEFAULT 0, + gallery_walk_started TINYINT NOT NULL DEFAULT 0, + gallery_walk_finished TINYINT NOT NULL DEFAULT 0, + gallery_walk_edit_enabled TINYINT NOT NULL DEFAULT 0, + gallery_walk_instructions TEXT, PRIMARY KEY (uid) ); Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/dbupdates/patch20210731.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/dbupdates/patch20210731_updateTo46.sql =================================================================== diff -u --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/dbupdates/patch20210731_updateTo46.sql (revision 0) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/dbupdates/patch20210731_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,15 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20210731.sql +-- It should upgrade this tool to version 4.6 + +--LDEV-5225 Add Gallery Walk to Mindmap + +ALTER TABLE tl_lamind10_mindmap ADD COLUMN gallery_walk_enabled TINYINT NOT NULL DEFAULT 0, + ADD COLUMN gallery_walk_read_only TINYINT NOT NULL DEFAULT 0, + ADD COLUMN gallery_walk_started TINYINT NOT NULL DEFAULT 0, + ADD COLUMN gallery_walk_finished TINYINT NOT NULL DEFAULT 0, + ADD COLUMN gallery_walk_edit_enabled TINYINT NOT NULL DEFAULT 0, + ADD COLUMN gallery_walk_instructions TEXT; + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_mindmap/src/java/org/lamsfoundation/lams/tool/mindmap/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lamind10'; + +-- 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; Index: lams_tool_nb/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_nb/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_nb/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lanb11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=noticeboard Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lanb11'; + +-- 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; Index: lams_tool_notebook/build.properties =================================================================== diff -u -r4ba184e420dd753ae8e2dcc9434581a794fa244d -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_notebook/build.properties (.../build.properties) (revision 4ba184e420dd753ae8e2dcc9434581a794fa244d) +++ lams_tool_notebook/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lantbk11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=notebook \ No newline at end of file Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lantbk11'; + +-- 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; Index: lams_tool_preview/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_preview/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_preview/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=laprev11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=peerreview Index: lams_tool_preview/db/sql/create_lams_tool_peerreview.sql =================================================================== diff -u -r843bfb2a245193732040b8852349a5f5c4657893 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_preview/db/sql/create_lams_tool_peerreview.sql (.../create_lams_tool_peerreview.sql) (revision 843bfb2a245193732040b8852349a5f5c4657893) +++ lams_tool_preview/db/sql/create_lams_tool_peerreview.sql (.../create_lams_tool_peerreview.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -18,7 +18,6 @@ maximum_rates integer DEFAULT 0, maximum_rates_per_user integer DEFAULT 0, self_review tinyint(1) DEFAULT 0, - notify_users_of_results tinyint(1) DEFAULT 1, show_ratings_left_by_user tinyint(1) DEFAULT 0, tolerance TINYINT UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (uid), Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20210907.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20210907_updateTo46.sql =================================================================== diff -u --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20210907_updateTo46.sql (revision 0) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20210907_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,9 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20210907.sql +-- It should upgrade this tool to version 4.6 + +-- LDEV-5232 Remove notify students option from authoring +ALTER TABLE tl_laprev11_peerreview DROP COLUMN notify_users_of_results; + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='laprev11'; + +-- 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; Index: lams_tool_sbmt/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_sbmt/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_sbmt/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lasbmt11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=sbmt Index: lams_tool_sbmt/db/sql/create_lams_tool_sbmt.sql =================================================================== diff -u -r843bfb2a245193732040b8852349a5f5c4657893 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_sbmt/db/sql/create_lams_tool_sbmt.sql (.../create_lams_tool_sbmt.sql) (revision 843bfb2a245193732040b8852349a5f5c4657893) +++ lams_tool_sbmt/db/sql/create_lams_tool_sbmt.sql (.../create_lams_tool_sbmt.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -15,13 +15,12 @@ created_by bigint, updated datetime, submission_deadline datetime, - mark_release_notify TINYINT(1) DEFAULT 0, file_submit_notify TINYINT(1) DEFAULT 0, use_select_leader_tool_ouput TINYINT(1) NOT NULL DEFAULT 0, min_limit_upload_number bigint, primary key (content_id) ); - + create table tl_lasbmt11_session ( session_id bigint not null, status TINYINT(1), Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dbupdates/patch20210907.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dbupdates/patch20210907_updateTo46.sql =================================================================== diff -u --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dbupdates/patch20210907_updateTo46.sql (revision 0) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dbupdates/patch20210907_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,9 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20210907.sql +-- It should upgrade this tool to version 4.6 + +-- LDEV-5232 Remove notify students option from authoring +ALTER TABLE tl_lasbmt11_content DROP COLUMN mark_release_notify; + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lasbmt11'; + +-- 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; Index: lams_tool_scratchie/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_scratchie/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_scratchie/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lascrt11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=scratchie Index: lams_tool_scratchie/db/sql/create_lams_tool_scratchie.sql =================================================================== diff -u -r843bfb2a245193732040b8852349a5f5c4657893 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_scratchie/db/sql/create_lams_tool_scratchie.sql (.../create_lams_tool_scratchie.sql) (revision 843bfb2a245193732040b8852349a5f5c4657893) +++ lams_tool_scratchie/db/sql/create_lams_tool_scratchie.sql (.../create_lams_tool_scratchie.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,160 +1,149 @@ SET FOREIGN_KEY_CHECKS=0; -create table tl_lascrt11_scratchie ( - uid bigint not null auto_increment, - create_date datetime, - update_date datetime, - create_by bigint, - title varchar(255), - instructions MEDIUMTEXT, - define_later TINYINT(1), - content_id bigint, - reflect_instructions MEDIUMTEXT, - reflect_on_activity TINYINT(1), - extra_point TINYINT(1), - submission_deadline datetime, - burning_questions_enabled TINYINT(1) DEFAULT 1, - question_etherpad_enabled TINYINT(1) DEFAULT 0, - time_limit int(11) DEFAULT 0, - shuffle_items TINYINT(1) DEFAULT 0, - confidence_levels_activity_uiid INT(11), - preset_marks varchar(255), - show_scratchies_in_results TINYINT(1) DEFAULT 1, - PRIMARY KEY (uid), - UNIQUE KEY content_id (content_id) -); +DROP TABLE IF EXISTS tl_lascrt11_answer_log; -create table tl_lascrt11_session ( - uid bigint not null auto_increment, - session_end_date datetime, - session_start_date datetime, - status TINYINT(1), - scratchie_uid bigint, - session_id bigint, - session_name varchar(250), - group_leader_uid bigint(20), - mark int(11) DEFAULT 0, - scratching_finished TINYINT(1) DEFAULT 0, - time_limit_launched_date datetime, - PRIMARY KEY (uid), - UNIQUE KEY session_id_UNIQUE (session_id), - CONSTRAINT FK_NEW_610529188_24AA78C530E79035 FOREIGN KEY (scratchie_uid) - REFERENCES tl_lascrt11_scratchie (uid) ON DELETE CASCADE ON UPDATE CASCADE +CREATE TABLE tl_lascrt11_answer_log ( + uid bigint NOT NULL AUTO_INCREMENT, + access_date datetime DEFAULT NULL, + session_id bigint DEFAULT NULL, + PRIMARY KEY (uid), + KEY sessionIdIndex (session_id), + CONSTRAINT FK_tl_lascrt11_answer_log_1 FOREIGN KEY (uid) REFERENCES lams_qb_tool_answer (answer_uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT sessionIdIndex FOREIGN KEY (session_id) REFERENCES tl_lascrt11_session (session_id) ON DELETE CASCADE ON UPDATE CASCADE ); -create table tl_lascrt11_user ( - uid bigint not null auto_increment, - user_id bigint, - last_name varchar(255), - first_name varchar(255), - login_name varchar(255), - session_finished TINYINT(1), - scratching_finished TINYINT(1), - session_uid bigint, - primary key (uid), - UNIQUE KEY user_id (user_id,session_uid), - KEY userIdIndex (user_id), - CONSTRAINT FK_NEW_610529188_30113BFCEC0D3147 FOREIGN KEY (session_uid) - REFERENCES tl_lascrt11_session (uid) ON DELETE CASCADE ON UPDATE CASCADE -); +DROP TABLE IF EXISTS tl_lascrt11_burning_que_like; -create table tl_lascrt11_scratchie_item ( - uid bigint not null auto_increment, - title varchar(255), - description MEDIUMTEXT, - create_date datetime, - create_by_author TINYINT(1), - scratchie_uid bigint, - session_uid bigint, - order_id integer, - primary key (uid), - CONSTRAINT FK_NEW_610529188_F52D1F9330E79035 FOREIGN KEY (scratchie_uid) - REFERENCES tl_lascrt11_scratchie (uid) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT FK_NEW_610529188_F52D1F93EC0D3147 FOREIGN KEY (session_uid) - REFERENCES tl_lascrt11_session (uid) ON DELETE CASCADE ON UPDATE CASCADE +CREATE TABLE tl_lascrt11_burning_que_like ( + uid bigint NOT NULL AUTO_INCREMENT, + burning_question_uid bigint DEFAULT NULL, + session_id bigint DEFAULT NULL, + PRIMARY KEY (uid), + KEY FK_burning_que_uid (burning_question_uid), + CONSTRAINT FK_burning_que_uid FOREIGN KEY (burning_question_uid) REFERENCES tl_lascrt11_burning_question (uid) ON DELETE CASCADE ON UPDATE CASCADE ); -create table tl_lascrt11_scratchie_answer ( - uid bigint not null auto_increment, - description MEDIUMTEXT, - correct TINYINT(1), - scratchie_item_uid bigint, - order_id integer, - primary key (uid), - CONSTRAINT FK_scratchie_answer_1 FOREIGN KEY (scratchie_item_uid) - REFERENCES tl_lascrt11_scratchie_item (uid) ON DELETE CASCADE ON UPDATE CASCADE -); +DROP TABLE IF EXISTS tl_lascrt11_burning_question; -create table tl_lascrt11_answer_log ( - uid bigint not null auto_increment, - access_date datetime, - scratchie_answer_uid bigint, - session_id bigint, - primary key (uid), - UNIQUE KEY FK_NEW_lascrt11_30113BFC309ED321 (scratchie_answer_uid,session_id), - CONSTRAINT FK_NEW_610529188_693580A438BF8DFE FOREIGN KEY (scratchie_answer_uid) - REFERENCES tl_lascrt11_scratchie_answer (uid) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT sessionIdIndex FOREIGN KEY (session_id) - REFERENCES tl_lascrt11_session (session_id) ON DELETE CASCADE ON UPDATE CASCADE +CREATE TABLE tl_lascrt11_burning_question ( + uid bigint NOT NULL AUTO_INCREMENT, + access_date datetime DEFAULT NULL, + scratchie_item_uid bigint DEFAULT NULL, + session_id bigint DEFAULT NULL, + question mediumtext, + general_question tinyint(1) DEFAULT NULL, + PRIMARY KEY (uid), + KEY FK_NEW_610529188_693580A438BF8DF2 (scratchie_item_uid), + KEY sessionIdIndex2 (session_id), + CONSTRAINT FK_NEW_610529188_693580A438BF8DF2 FOREIGN KEY (scratchie_item_uid) REFERENCES tl_lascrt11_scratchie_item (uid) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT sessionIdIndex2 FOREIGN KEY (session_id) REFERENCES tl_lascrt11_session (session_id) ON DELETE CASCADE ON UPDATE CASCADE ); - CREATE TABLE tl_lascrt11_burning_question ( - uid bigint(20) NOT NULL AUTO_INCREMENT, - access_date datetime, - scratchie_item_uid bigint(20), - session_id bigint(20), - question mediumtext, - general_question tinyint(1), +DROP TABLE IF EXISTS tl_lascrt11_configuration; + +CREATE TABLE tl_lascrt11_configuration ( + uid bigint NOT NULL AUTO_INCREMENT, + config_key varchar(30) DEFAULT NULL, + config_value varchar(255) DEFAULT NULL, PRIMARY KEY (uid), - CONSTRAINT FK_NEW_610529188_693580A438BF8DF2 FOREIGN KEY (scratchie_item_uid) - REFERENCES tl_lascrt11_scratchie_item (uid) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT sessionIdIndex2 FOREIGN KEY (session_id) - REFERENCES tl_lascrt11_session (session_id) ON DELETE CASCADE ON UPDATE CASCADE + UNIQUE KEY config_key (config_key) ); -CREATE TABLE tl_lascrt11_burning_que_like ( - uid bigint(20) NOT NULL AUTO_INCREMENT, - burning_question_uid bigint(20), - session_id bigint(20), +DROP TABLE IF EXISTS tl_lascrt11_scratchie; + +CREATE TABLE tl_lascrt11_scratchie ( + uid bigint NOT NULL AUTO_INCREMENT, + create_date datetime DEFAULT NULL, + update_date datetime DEFAULT NULL, + create_by bigint DEFAULT NULL, + title varchar(255) DEFAULT NULL, + instructions mediumtext, + define_later tinyint(1) DEFAULT NULL, + content_id bigint DEFAULT NULL, + reflect_instructions mediumtext, + reflect_on_activity tinyint(1) DEFAULT NULL, + submission_deadline datetime DEFAULT NULL, + burning_questions_enabled tinyint(1) DEFAULT '1', + discussion_sentiment_enabled tinyint DEFAULT '0', + question_etherpad_enabled tinyint(1) DEFAULT '0', + relative_time_limit smallint unsigned NOT NULL DEFAULT '0', + absolute_time_limit datetime DEFAULT NULL, + double_click tinyint DEFAULT '0', + shuffle_items tinyint(1) DEFAULT '0', + confidence_levels_activity_uiid int DEFAULT NULL, + confidence_levels_anonymous tinyint DEFAULT '0', + preset_marks varchar(255) DEFAULT NULL, + show_scratchies_in_results tinyint(1) DEFAULT '1', + activity_uuid_providing_vsa_answers int DEFAULT NULL, PRIMARY KEY (uid), - KEY FK_burning_que_uid (burning_question_uid), - CONSTRAINT FK_burning_que_uid FOREIGN KEY (burning_question_uid) - REFERENCES tl_lascrt11_burning_question (uid) ON DELETE CASCADE ON UPDATE CASCADE + UNIQUE KEY content_id (content_id) ); -CREATE TABLE tl_lascrt11_configuration ( - uid bigint(20) NOT NULL AUTO_INCREMENT, - config_key varchar(30), - config_value varchar(255), +DROP TABLE IF EXISTS tl_lascrt11_scratchie_item; + +CREATE TABLE tl_lascrt11_scratchie_item ( + uid bigint NOT NULL AUTO_INCREMENT, + scratchie_uid bigint DEFAULT NULL, PRIMARY KEY (uid), - UNIQUE KEY config_key (config_key) + KEY FK_NEW_610529188_F52D1F9330E79035 (scratchie_uid), + CONSTRAINT FK_NEW_610529188_F52D1F9330E79035 FOREIGN KEY (scratchie_uid) REFERENCES tl_lascrt11_scratchie (uid) ON DELETE CASCADE ON UPDATE CASCADE ); +DROP TABLE IF EXISTS tl_lascrt11_session; -ALTER TABLE tl_lascrt11_session ADD CONSTRAINT FK_lalead11_session1 FOREIGN KEY (group_leader_uid) - REFERENCES tl_lascrt11_user (uid) ON DELETE SET NULL ON UPDATE CASCADE; +CREATE TABLE tl_lascrt11_session ( + uid bigint NOT NULL AUTO_INCREMENT, + session_end_date datetime DEFAULT NULL, + session_start_date datetime DEFAULT NULL, + `status` tinyint(1) DEFAULT NULL, + scratchie_uid bigint DEFAULT NULL, + session_id bigint DEFAULT NULL, + session_name varchar(250) DEFAULT NULL, + group_leader_uid bigint DEFAULT NULL, + mark int DEFAULT '0', + scratching_finished tinyint(1) DEFAULT '0', + time_limit_launched_date datetime DEFAULT NULL, + time_limit_adjustment smallint DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY session_id_UNIQUE (session_id), + KEY FK_NEW_610529188_24AA78C530E79035 (scratchie_uid), + KEY FK_lalead11_session1 (group_leader_uid), + CONSTRAINT FK_lalead11_session1 FOREIGN KEY (group_leader_uid) REFERENCES tl_lascrt11_user (uid) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT FK_NEW_610529188_24AA78C530E79035 FOREIGN KEY (scratchie_uid) REFERENCES tl_lascrt11_scratchie (uid) ON DELETE CASCADE ON UPDATE CASCADE +); + +DROP TABLE IF EXISTS tl_lascrt11_user; + +CREATE TABLE tl_lascrt11_user ( + uid bigint NOT NULL AUTO_INCREMENT, + user_id bigint DEFAULT NULL, + last_name varchar(255) DEFAULT NULL, + first_name varchar(255) DEFAULT NULL, + login_name varchar(255) DEFAULT NULL, + session_finished tinyint(1) DEFAULT NULL, + scratching_finished tinyint(1) DEFAULT NULL, + session_uid bigint DEFAULT NULL, + PRIMARY KEY (uid), + UNIQUE KEY user_id (user_id,session_uid), + KEY userIdIndex (user_id), + KEY FK_NEW_610529188_30113BFCEC0D3147 (session_uid), + CONSTRAINT FK_NEW_610529188_30113BFCEC0D3147 FOREIGN KEY (session_uid) REFERENCES tl_lascrt11_session (uid) ON DELETE CASCADE ON UPDATE CASCADE +); INSERT INTO tl_lascrt11_scratchie (uid,title, - instructions, define_later, content_id, reflect_on_activity, extra_point) VALUES - (1,'Scratchie','Scenario explanation ',0,${default_content_id},0, 0); + instructions, define_later, content_id, reflect_on_activity) VALUES + (1,'Scratchie','Scenario explanation ',0,${default_content_id},0); + +INSERT INTO lams_qb_tool_question (qb_question_uid, tool_content_id, answer_required, display_order) VALUES (2, ${default_content_id},0,1); -INSERT INTO tl_lascrt11_scratchie_item (uid, title, description, create_date, create_by_author, scratchie_uid, order_id) VALUES - (1, 'Question Title','Question Description',NOW(),1,1,1); +INSERT INTO tl_lascrt11_scratchie_item VALUES (LAST_INSERT_ID(), 1); -INSERT INTO tl_lascrt11_scratchie_answer (uid, description, correct, scratchie_item_uid, order_id) VALUES - (1, 'Question Answer A',1,1,0); -INSERT INTO tl_lascrt11_scratchie_answer (uid, description, correct, scratchie_item_uid, order_id) VALUES - (2, 'Question Answer B',0,1,1); -INSERT INTO tl_lascrt11_scratchie_answer (uid, description, correct, scratchie_item_uid, order_id) VALUES - (3, 'Question Answer C',0,1,2); -INSERT INTO tl_lascrt11_scratchie_answer (uid, description, correct, scratchie_item_uid, order_id) VALUES - (4, 'Question Answer D',0,1,3); - - INSERT INTO tl_lascrt11_configuration (config_key, config_value) VALUES ('isEnabledExtraPointOption', 'true'); INSERT INTO tl_lascrt11_configuration (config_key, config_value) VALUES ('presetMarks', '4,2,1,0'); - +INSERT INTO tl_lascrt11_configuration (config_key, config_value) VALUES + ('hideTitles','false'); + SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20190809.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20191205.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20200222.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20200605.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20201214.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20210301.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20210511.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20210714.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20210819.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20210819_updateTo46.sql =================================================================== diff -u --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20210819_updateTo46.sql (revision 0) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20210819_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,34 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20210809.sql to 20210819.sql +-- It should upgrade this tool to version 4.6 + +--LDEV-4921 Allow question title hiding in learner +INSERT INTO `tl_lascrt11_configuration` (`config_key`, `config_value`) VALUES ('hideTitles', 'false'); + +--LDEV-4976 Add cascade so when a row from parent table gets removed, a row from inheriting table gets removed too +ALTER TABLE tl_lascrt11_answer_log ADD CONSTRAINT FK_tl_lascrt11_answer_log_1 FOREIGN KEY (uid) + REFERENCES lams_qb_tool_answer (answer_uid) ON DELETE CASCADE ON UPDATE CASCADE; + +--LDEV-5032 Allow hiding learner names in confidence levels in Scratchie +ALTER TABLE tl_lascrt11_scratchie ADD COLUMN confidence_levels_anonymous TINYINT DEFAULT 0 AFTER confidence_levels_activity_uiid; + +--LDEV-5136 Require double click, instead of a single click, to reveal an item +ALTER TABLE tl_lascrt11_scratchie ADD COLUMN double_click TINYINT DEFAULT 0 AFTER time_limit; + +--LDEV-5185 Add advanced time limits to Scratchie +ALTER TABLE tl_lascrt11_scratchie CHANGE COLUMN time_limit relative_time_limit SMALLINT UNSIGNED NOT NULL DEFAULT 0; + +ALTER TABLE tl_lascrt11_scratchie ADD COLUMN absolute_time_limit DATETIME AFTER relative_time_limit; + +ALTER TABLE tl_lascrt11_session ADD COLUMN time_limit_adjustment SMALLINT AFTER time_limit_launched_date; + +-- LDEV-5208 Add advanced option whether to show discussion widget in TBL monitoring +ALTER TABLE tl_lascrt11_scratchie ADD COLUMN discussion_sentiment_enabled TINYINT DEFAULT 0 AFTER burning_questions_enabled; + + -- LDEV-5230 Remove "add extra mark" option +DELETE FROM tl_lascrt11_configuration WHERE config_key = 'isEnabledExtraPointOption'; + +ALTER TABLE tl_lascrt11_scratchie DROP COLUMN extra_point; + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lascrt11'; + +-- 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; Index: lams_tool_scribe/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_scribe/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_scribe/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lascrb11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=scribe \ No newline at end of file Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lascrb11'; + +-- 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; Index: lams_tool_spreadsheet/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_spreadsheet/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_spreadsheet/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lasprd10 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=spreadsheet \ No newline at end of file Index: lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lasprd10'; + +-- 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; Index: lams_tool_survey/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_survey/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_survey/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lasurv11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=survey \ No newline at end of file Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lasurv11'; + +-- 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; Index: lams_tool_task/build.properties =================================================================== diff -u -r47b4ad60d91b997793d306845a62f0502acf33d3 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_task/build.properties (.../build.properties) (revision 47b4ad60d91b997793d306845a62f0502acf33d3) +++ lams_tool_task/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,8 +1,8 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=latask10 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=taskList Index: lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='latask10'; + +-- 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; Index: lams_tool_vote/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_vote/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_vote/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lavote11 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=vote \ No newline at end of file Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lavote11'; + +-- 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; Index: lams_tool_whiteboard/build.properties =================================================================== diff -u -r90e5fd15f6474eb56d0b497d1b73e14bda75e262 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_whiteboard/build.properties (.../build.properties) (revision 90e5fd15f6474eb56d0b497d1b73e14bda75e262) +++ lams_tool_whiteboard/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=4.0 +min.server.version.number=4.6 signature=lawhiteboard11 -tool.version=20210426 +tool.version=20220920 tool.hide=false tool.short.name=whiteboard Index: lams_tool_whiteboard/db/sql/create_lams_tool_whiteboard.sql =================================================================== diff -u -rd1b5adfc103345fa2525236c53313dcda1cfb7c0 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_whiteboard/db/sql/create_lams_tool_whiteboard.sql (.../create_lams_tool_whiteboard.sql) (revision d1b5adfc103345fa2525236c53313dcda1cfb7c0) +++ lams_tool_whiteboard/db/sql/create_lams_tool_whiteboard.sql (.../create_lams_tool_whiteboard.sql) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -22,9 +22,11 @@ gallery_walk_read_only TINYINT NOT NULL DEFAULT 0, gallery_walk_started TINYINT NOT NULL DEFAULT 0, gallery_walk_finished TINYINT NOT NULL DEFAULT 0, + gallery_walk_edit_enabled TINYINT NOT NULL DEFAULT 0, gallery_walk_instructions TEXT, primary key (uid) )ENGINE=InnoDB; + CREATE TABLE tl_lawhiteboard11_session ( uid bigint not null auto_increment, whiteboard_uid bigint, @@ -76,7 +78,7 @@ (1,NULL,NULL,NULL,'Whiteboard','0','Instructions',0,0,${default_content_id},0,0); INSERT INTO tl_lawhiteboard11_configuration (config_key, config_value) VALUES -('ServerURL', '[LAMS_SERVER_URL]:9003'); - - +('ServerURL', '[LAMS_SERVER_URL]:9003'), +('WhiteboardIdPrefix', NULL); + SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/dbupdates/patch20210623.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 812d599154aefa64ac8c3db4cdecdc1b679706af refers to a dead (removed) revision in file `lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/dbupdates/patch20210728.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/dbupdates/patch20210728_updateTo46.sql =================================================================== diff -u --- lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/dbupdates/patch20210728_updateTo46.sql (revision 0) +++ lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/dbupdates/patch20210728_updateTo46.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,12 @@ +SET FOREIGN_KEY_CHECKS = 0; + +-- This patch contains files patch20210623.sql to 20210728.sql +-- It should upgrade this tool to version 4.6 + +-- LDEV-5210 Add optional prefix to Whiteboard canvas IDs +INSERT INTO tl_lawhiteboard11_configuration (config_key, config_value) VALUES ('WhiteboardIdPrefix', NULL); + +--LDEV-5222 Allow reedit in Whiteboard tool +ALTER TABLE tl_lawhiteboard11_whiteboard ADD COLUMN gallery_walk_edit_enabled TINYINT NOT NULL DEFAULT 0 AFTER gallery_walk_finished; + +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_whiteboard/src/java/org/lamsfoundation/lams/tool/whiteboard/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lawhiteboard11'; + +-- 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; Index: lams_tool_wiki/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_wiki/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_wiki/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lawiki10 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=wiki \ No newline at end of file Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lawiki10'; + +-- 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; Index: lams_tool_zoom/build.properties =================================================================== diff -u -r8cb3b47e0bc1e7d89582929aa33ee29f0ef37189 -r812d599154aefa64ac8c3db4cdecdc1b679706af --- lams_tool_zoom/build.properties (.../build.properties) (revision 8cb3b47e0bc1e7d89582929aa33ee29f0ef37189) +++ lams_tool_zoom/build.properties (.../build.properties) (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -1,7 +1,7 @@ # Minimum compatible version of server -min.server.version.number=3.0 +min.server.version.number=4.6 signature=lazoom10 -tool.version=20190103 +tool.version=20220920 tool.hide=false tool.short.name=zoom \ No newline at end of file Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/dbupdates/patch20220920.sql =================================================================== diff -u --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/dbupdates/patch20220920.sql (revision 0) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/dbupdates/patch20220920.sql (revision 812d599154aefa64ac8c3db4cdecdc1b679706af) @@ -0,0 +1,14 @@ +-- 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-5328 Update tools version for LAMS 4.6 release +UPDATE lams_tool SET tool_version='20220920' WHERE tool_signature='lazoom10'; + +-- 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;