From 80e18dfaf193104c9e43446ab38b40ea0cdc9b48 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Fri, 7 Nov 2025 10:51:03 -0500 Subject: [PATCH 1/8] fix table name --- SQL/Archive/27.0/2024-12-18-Login-Statistics.sql | 4 ++-- SQL/Release_patches/26.0_To_27.0_upgrade.sql | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql b/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql index 34d8b6a4e31..a4eb8ec0a47 100644 --- a/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql +++ b/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql @@ -1,4 +1,4 @@ -CREATE TABLE Login_Summary_Statistics ( +CREATE TABLE login_summary_statistics ( Title VARCHAR(255), Project VARCHAR(255), Value INT, @@ -10,4 +10,4 @@ ALTER TABLE dataquery_study_queries_rel MODIFY COLUMN PinType enum('topquery','dashboard', 'loginpage') DEFAULT NULL; ALTER TABLE Project -ADD COLUMN showSummaryOnLogin BOOLEAN DEFAULT TRUE; \ No newline at end of file +ADD COLUMN showSummaryOnLogin BOOLEAN DEFAULT TRUE; diff --git a/SQL/Release_patches/26.0_To_27.0_upgrade.sql b/SQL/Release_patches/26.0_To_27.0_upgrade.sql index a30e3eea5fd..ff19df4fb8f 100644 --- a/SQL/Release_patches/26.0_To_27.0_upgrade.sql +++ b/SQL/Release_patches/26.0_To_27.0_upgrade.sql @@ -388,7 +388,8 @@ INSERT INTO ConfigSettings (Name, Description, Visible, AllowMultiple, DataType, COALESCE(MAX(child_config.OrderNumber), 0) +1 FROM ConfigSettings parent_config LEFT JOIN ConfigSettings child_config ON (parent_config.ID = child_config.Parent) - WHERE parent_config.Name = 'redcap';CREATE TABLE Login_Summary_Statistics ( + WHERE parent_config.Name = 'redcap'; +CREATE TABLE login_summary_statistics ( Title VARCHAR(255), Project VARCHAR(255), Value INT, From 99b222a8c7e6961104fa77403c6d4d5c56832ca2 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Mon, 10 Nov 2025 10:35:12 -0500 Subject: [PATCH 2/8] fix in docs --- tools/update_login_summary_statistics.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/update_login_summary_statistics.php b/tools/update_login_summary_statistics.php index a66916400bf..fba164a8ff8 100644 --- a/tools/update_login_summary_statistics.php +++ b/tools/update_login_summary_statistics.php @@ -1,7 +1,7 @@ Date: Tue, 11 Nov 2025 11:57:11 -0500 Subject: [PATCH 3/8] Update 2024-12-18-Login-Statistics.sql --- SQL/Archive/27.0/2024-12-18-Login-Statistics.sql | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql b/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql index a4eb8ec0a47..01aaaf3fbd3 100644 --- a/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql +++ b/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql @@ -1,9 +1,13 @@ -CREATE TABLE login_summary_statistics ( - Title VARCHAR(255), - Project VARCHAR(255), - Value INT, - QueryOrder INT, - PRIMARY KEY (Title, Project) +-- Step 1: Try renaming (ignore error if old table doesn’t exist) +RENAME TABLE Login_Summary_Statistics TO login_summary_statistics; + +-- Step 2: Create if not already there +CREATE TABLE IF NOT EXISTS login_summary_statistics ( + Title VARCHAR(255), + Project VARCHAR(255), + Value INT, + QueryOrder INT, + PRIMARY KEY (Title, Project) ); ALTER TABLE dataquery_study_queries_rel From dcbea74fddf6e5ce24e60cf7d9c927aa00f1b314 Mon Sep 17 00:00:00 2001 From: Shen Date: Tue, 11 Nov 2025 12:02:28 -0500 Subject: [PATCH 4/8] Update 2024-12-18-Login-Statistics.sql --- SQL/Archive/27.0/2024-12-18-Login-Statistics.sql | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql b/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql index 01aaaf3fbd3..a4eb8ec0a47 100644 --- a/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql +++ b/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql @@ -1,13 +1,9 @@ --- Step 1: Try renaming (ignore error if old table doesn’t exist) -RENAME TABLE Login_Summary_Statistics TO login_summary_statistics; - --- Step 2: Create if not already there -CREATE TABLE IF NOT EXISTS login_summary_statistics ( - Title VARCHAR(255), - Project VARCHAR(255), - Value INT, - QueryOrder INT, - PRIMARY KEY (Title, Project) +CREATE TABLE login_summary_statistics ( + Title VARCHAR(255), + Project VARCHAR(255), + Value INT, + QueryOrder INT, + PRIMARY KEY (Title, Project) ); ALTER TABLE dataquery_study_queries_rel From 25a3889f2e0223fe9e826458ec691f964216e181 Mon Sep 17 00:00:00 2001 From: Shen Date: Tue, 11 Nov 2025 12:04:20 -0500 Subject: [PATCH 5/8] Update 2024-12-18-Login-Statistics.sql --- SQL/Archive/27.0/2024-12-18-Login-Statistics.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql b/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql index a4eb8ec0a47..201d0f6492a 100644 --- a/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql +++ b/SQL/Archive/27.0/2024-12-18-Login-Statistics.sql @@ -1,4 +1,4 @@ -CREATE TABLE login_summary_statistics ( +CREATE TABLE Login_Summary_Statistics ( Title VARCHAR(255), Project VARCHAR(255), Value INT, From fd6ed9c574b7f04d0bb4c3272e8704caf0fc683a Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Tue, 11 Nov 2025 12:06:54 -0500 Subject: [PATCH 6/8] fi --- .../27.0/2025-11-11-login-statistics-rename.sql | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 SQL/Archive/27.0/2025-11-11-login-statistics-rename.sql diff --git a/SQL/Archive/27.0/2025-11-11-login-statistics-rename.sql b/SQL/Archive/27.0/2025-11-11-login-statistics-rename.sql new file mode 100644 index 00000000000..1282259fa76 --- /dev/null +++ b/SQL/Archive/27.0/2025-11-11-login-statistics-rename.sql @@ -0,0 +1,11 @@ +-- Step 1: Try renaming (ignore error if old table doesn’t exist) +RENAME TABLE Login_Summary_Statistics TO login_summary_statistics; + +-- Step 2: Create if not already there +CREATE TABLE IF NOT EXISTS login_summary_statistics ( + Title VARCHAR(255), + Project VARCHAR(255), + Value INT, + QueryOrder INT, + PRIMARY KEY (Title, Project) +); From 1f9b8d99b1d7a97778c39165607121629484e743 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Mon, 24 Nov 2025 21:44:44 -0500 Subject: [PATCH 7/8] lower to uppercase --- SQL/0000-00-00-schema.sql | 4 +- SQL/9999-99-99-drop_tables.sql | 2 +- .../2025-11-11-login-statistics-rename.sql | 11 ---- SQL/Release_patches/26.0_To_27.0_upgrade.sql | 3 +- .../RB_files/RB_login_summary_statistics.sql | 56 +++++++++---------- tools/update_login_summary_statistics.php | 6 +- 6 files changed, 36 insertions(+), 46 deletions(-) delete mode 100644 SQL/Archive/27.0/2025-11-11-login-statistics-rename.sql diff --git a/SQL/0000-00-00-schema.sql b/SQL/0000-00-00-schema.sql index 7cb31088f95..255be710bf2 100644 --- a/SQL/0000-00-00-schema.sql +++ b/SQL/0000-00-00-schema.sql @@ -2510,7 +2510,7 @@ CREATE TABLE `publication_users_edit_perm_rel` ( CONSTRAINT `FK_publication_users_edit_perm_rel_UserID` FOREIGN KEY (`UserID`) REFERENCES `users` (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET='utf8'; -CREATE TABLE login_summary_statistics ( +CREATE TABLE Login_Summary_Statistics ( Title VARCHAR(255), Project VARCHAR(255), Value INT, @@ -2646,4 +2646,4 @@ CREATE TABLE `redcap_notification` ( `handled_dt` datetime NULL, PRIMARY KEY (`id`), KEY `i_redcap_notif_received_dt` (`received_dt`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/SQL/9999-99-99-drop_tables.sql b/SQL/9999-99-99-drop_tables.sql index 77415715009..364a28fcd22 100644 --- a/SQL/9999-99-99-drop_tables.sql +++ b/SQL/9999-99-99-drop_tables.sql @@ -115,7 +115,7 @@ DROP TABLE IF EXISTS `publication`; DROP TABLE IF EXISTS `publication_status`; DROP TABLE IF EXISTS `publication_collaborator`; -DROP TABLE IF EXISTS `login_summary_statistics`; +DROP TABLE IF EXISTS `Login_Summary_Statistics`; DROP TABLE IF EXISTS `parameter_session`; DROP TABLE IF EXISTS `parameter_file`; diff --git a/SQL/Archive/27.0/2025-11-11-login-statistics-rename.sql b/SQL/Archive/27.0/2025-11-11-login-statistics-rename.sql deleted file mode 100644 index 1282259fa76..00000000000 --- a/SQL/Archive/27.0/2025-11-11-login-statistics-rename.sql +++ /dev/null @@ -1,11 +0,0 @@ --- Step 1: Try renaming (ignore error if old table doesn’t exist) -RENAME TABLE Login_Summary_Statistics TO login_summary_statistics; - --- Step 2: Create if not already there -CREATE TABLE IF NOT EXISTS login_summary_statistics ( - Title VARCHAR(255), - Project VARCHAR(255), - Value INT, - QueryOrder INT, - PRIMARY KEY (Title, Project) -); diff --git a/SQL/Release_patches/26.0_To_27.0_upgrade.sql b/SQL/Release_patches/26.0_To_27.0_upgrade.sql index ff19df4fb8f..e17e0434fcb 100644 --- a/SQL/Release_patches/26.0_To_27.0_upgrade.sql +++ b/SQL/Release_patches/26.0_To_27.0_upgrade.sql @@ -389,7 +389,8 @@ INSERT INTO ConfigSettings (Name, Description, Visible, AllowMultiple, DataType, FROM ConfigSettings parent_config LEFT JOIN ConfigSettings child_config ON (parent_config.ID = child_config.Parent) WHERE parent_config.Name = 'redcap'; -CREATE TABLE login_summary_statistics ( + +CREATE TABLE Login_Summary_Statistics ( Title VARCHAR(255), Project VARCHAR(255), Value INT, diff --git a/raisinbread/RB_files/RB_login_summary_statistics.sql b/raisinbread/RB_files/RB_login_summary_statistics.sql index 9d70d4f0516..b75caabe249 100644 --- a/raisinbread/RB_files/RB_login_summary_statistics.sql +++ b/raisinbread/RB_files/RB_login_summary_statistics.sql @@ -1,31 +1,31 @@ SET FOREIGN_KEY_CHECKS=0; -TRUNCATE TABLE `login_summary_statistics`; -LOCK TABLES `login_summary_statistics` WRITE; -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('EEG Recording','All Projects',10,7); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('EEG Recording','Pumpernickel',10,7); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Female Participant','All Projects',334,1); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Female Participant','Challah',47,1); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Female Participant','Pumpernickel',225,1); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Female Participant','Rye',62,1); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Instrument','All Projects',5,5); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Instrument','Challah',5,5); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Instrument','Pumpernickel',5,5); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Instrument','Rye',2,5); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Male Participant','All Projects',328,2); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Male Participant','Challah',60,2); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Male Participant','Pumpernickel',210,2); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Male Participant','Rye',58,2); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Scan','All Projects',311,6); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Scan','Challah',23,6); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Scan','Pumpernickel',247,6); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Scan','Rye',41,6); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Site','All Projects',4,3); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Site','Challah',1,3); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Site','Pumpernickel',4,3); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Site','Rye',1,3); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Visit','All Projects',1133,4); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Visit','Challah',147,4); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Visit','Pumpernickel',855,4); -INSERT INTO `login_summary_statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Visit','Rye',131,4); +TRUNCATE TABLE `Login_Summary_Statistics`; +LOCK TABLES `Login_Summary_Statistics` WRITE; +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('EEG Recording','All Projects',10,7); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('EEG Recording','Pumpernickel',10,7); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Female Participant','All Projects',334,1); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Female Participant','Challah',47,1); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Female Participant','Pumpernickel',225,1); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Female Participant','Rye',62,1); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Instrument','All Projects',5,5); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Instrument','Challah',5,5); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Instrument','Pumpernickel',5,5); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Instrument','Rye',2,5); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Male Participant','All Projects',328,2); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Male Participant','Challah',60,2); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Male Participant','Pumpernickel',210,2); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Male Participant','Rye',58,2); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Scan','All Projects',311,6); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Scan','Challah',23,6); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Scan','Pumpernickel',247,6); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Scan','Rye',41,6); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Site','All Projects',4,3); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Site','Challah',1,3); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Site','Pumpernickel',4,3); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Site','Rye',1,3); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Visit','All Projects',1133,4); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Visit','Challah',147,4); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Visit','Pumpernickel',855,4); +INSERT INTO `Login_Summary_Statistics` (`Title`, `Project`, `Value`, `QueryOrder`) VALUES ('Visit','Rye',131,4); UNLOCK TABLES; SET FOREIGN_KEY_CHECKS=1; diff --git a/tools/update_login_summary_statistics.php b/tools/update_login_summary_statistics.php index fba164a8ff8..8842488a006 100644 --- a/tools/update_login_summary_statistics.php +++ b/tools/update_login_summary_statistics.php @@ -1,7 +1,7 @@ factory('admin'); $data = ['All Projects' => []]; -$DB->run("DELETE FROM login_summary_statistics", []); +$DB->run("DELETE FROM Login_Summary_Statistics", []); foreach ($projects as $project) { $data[$project] = []; } @@ -155,7 +155,7 @@ foreach ($data as $project => $values) { foreach ($values as $title => $value) { $DB->insertOnDuplicateUpdate( - 'login_summary_statistics', + 'Login_Summary_Statistics', [ 'Project' => $project, 'Title' => $title, From 0ec81cf43787575ef36a50c2ab943b67c5f097b7 Mon Sep 17 00:00:00 2001 From: kongtiaowang Date: Mon, 24 Nov 2025 21:47:31 -0500 Subject: [PATCH 8/8] php --- modules/login/php/summary_statistics.class.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/login/php/summary_statistics.class.inc b/modules/login/php/summary_statistics.class.inc index f21b4e71e56..2028b8f7a03 100644 --- a/modules/login/php/summary_statistics.class.inc +++ b/modules/login/php/summary_statistics.class.inc @@ -31,7 +31,7 @@ class Summary_Statistics extends \NDB_Page implements ETagCalculator case 'GET': $DB = $this->loris->getDatabaseConnection(); $response = $DB->pselect( - "SELECT * FROM login_summary_statistics + "SELECT * FROM Login_Summary_Statistics WHERE Value > 0 ORDER BY QueryOrder ASC", [], @@ -40,7 +40,7 @@ class Summary_Statistics extends \NDB_Page implements ETagCalculator return new \LORIS\Http\Response\JsonResponse(null); } $projects = $DB->pselectCol( - "SELECT DISTINCT Project FROM login_summary_statistics", + "SELECT DISTINCT Project FROM Login_Summary_Statistics", [] );