Skip to content

[dashboard | statistics] Add Project Size to dashboard charts - #10057

Merged
driusan merged 45 commits into
aces:29.0-releasefrom
jeffersoncasimir:2025_09_11_project_size_chart
Jun 29, 2026
Merged

[dashboard | statistics] Add Project Size to dashboard charts #10057
driusan merged 45 commits into
aces:29.0-releasefrom
jeffersoncasimir:2025_09_11_project_size_chart

Conversation

@jeffersoncasimir

@jeffersoncasimir jeffersoncasimir commented Oct 20, 2025

Copy link
Copy Markdown
Contributor

Closes #9944.
Adds project sizes to the dashboard.

File sizes are read from a cached value in a new DB table for cached data.
Cache data is updated by cron or webhook via a new script called update_projects_disk_space.php.
This script recursively calculates the file sizes of a dataset recursively by using the php filesize function. It only ignores .tgz files, which are not BIDS-recognized and used for LORIS purposes.

Screenshots:
Screenshot 2025-10-20 at 5 58 23 PM
Screenshot 2025-10-20 at 5 58 26 PM
Screenshot 2025-10-20 at 5 58 42 PM

@jeffersoncasimir jeffersoncasimir added Module: statistics PR or issue related to statistics module Module: dashboard PR or issue related to dashboard module labels Oct 20, 2025
@github-actions github-actions Bot added Language: SQL PR or issue that update SQL code RaisinBread PR or issue introducing/requiring improvements to the Raidinbread dataset Language: PHP PR or issue that update PHP code Language: Javascript PR or issue that update Javascript code Module: dqt PR or issue related to (old) dqt module Module: behavioural_qc PR or issue related behavioural_qc module Module: candidate_list PR or issue related to candidate_list module Module: imaging_browser PR or issue related to imaging_browser module labels Oct 20, 2025
@ridz1208

Copy link
Copy Markdown
Collaborator

@jeffersoncasimir can you add a description here please. Mostly commenting on the design, what is being calculated in the file size. and how to set it up. I glanced quickly at the code and I see several SQL additions and a tool script which is telling me ur caching the sizes rather than calculating them on the fly? assuming its for speed considerations? If a project has DICOMS, NIFTIs and MINCs does it calculate the sum of all those even though its technically the same scans...

@jeffersoncasimir

jeffersoncasimir commented Oct 21, 2025

Copy link
Copy Markdown
Contributor Author

@ridz1208 I will add more info above. Ultimately, PHP filesize() function is being used here in the script intended to be run via cron or webhook

@CamilleBeau CamilleBeau added the State: Needs rebase PR that needs to be rebased to proceed (conflicts, wrong branch...) label Oct 27, 2025
@jeffersoncasimir
jeffersoncasimir force-pushed the 2025_09_11_project_size_chart branch from ef15ea3 to f85a0b1 Compare October 27, 2025 21:02
Comment thread modules/dqt/php/module.class.inc Outdated

@driusan driusan left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This widget has been translated and we need to be sure there aren't regressions on the dashboard.

Please rebase the PR (and then some of the comments/fixes might also make more sense and be easier to understand)

Comment thread modules/dqt/php/module.class.inc Outdated
Comment thread modules/statistics/jsx/widgets/helpers/chartBuilder.js
Comment thread modules/statistics/jsx/widgets/studyprogression.js Outdated
Comment thread modules/statistics/jsx/widgets/studyprogression.js Outdated
Comment thread modules/statistics/jsx/widgets/studyprogression.js Outdated
Comment thread modules/statistics/jsx/widgets/studyprogression.js Outdated
Comment thread modules/statistics/jsx/widgets/studyprogression.js Outdated
@jeffersoncasimir
jeffersoncasimir force-pushed the 2025_09_11_project_size_chart branch from 263a893 to 15842fa Compare October 29, 2025 16:42
@jeffersoncasimir

Copy link
Copy Markdown
Contributor Author

@driusan I moved the file from dqt to statistics (accidental module choice) and I took a pass at making all strings I encountered translatable

@jeffersoncasimir jeffersoncasimir added the State: Blocking PR should be prioritized because it is blocking the progress of another task label Oct 31, 2025
@driusan driusan self-assigned this Nov 10, 2025
@christinerogers

Copy link
Copy Markdown
Contributor

per EEG meeting Oct. 31:
This PR is blocking Draft pr #10093 -- which is only in draft form waiting for this to be merged.
Ideally these could both go in the release, no reason why not.

@jeffersoncasimir who might be able to quickly review this for merge -- Saagar maybe?

Comment thread modules/statistics/jsx/widgets/studyprogression.js
Comment thread modules/statistics/jsx/widgets/studyprogression.js
Comment thread modules/statistics/php/widgets.class.inc Outdated

@skarya22 skarya22 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments above re translation. Rest looks good, was able to test with a few different project sizes

Image

@skarya22 skarya22 removed the Passed manual tests PR has been successfully tested by at least one peer label Jun 8, 2026
@skarya22 skarya22 assigned jeffersoncasimir and unassigned skarya22 Jun 8, 2026
@skarya22
skarya22 self-requested a review June 8, 2026 14:13
@skarya22 skarya22 added the Critical to release PR or issue is key for the release to which it has been assigned label Jun 18, 2026
@jeffersoncasimir
jeffersoncasimir changed the base branch from main to 29.0-release June 18, 2026 15:52
@skarya22 skarya22 added Passed manual tests PR has been successfully tested by at least one peer and removed Module: dqt PR or issue related to (old) dqt module Module: behavioural_qc PR or issue related behavioural_qc module Module: candidate_list PR or issue related to candidate_list module Module: dashboard PR or issue related to dashboard module Module: imaging_browser PR or issue related to imaging_browser module labels Jun 18, 2026
skarya22

This comment was marked as outdated.

Comment thread modules/statistics/jsx/widgets/studyprogression.js Outdated
@skarya22 skarya22 added the State: Needs work PR awaiting additional work by the author to proceed label Jun 18, 2026
Comment thread modules/statistics/jsx/widgets/studyprogression.js Outdated
@skarya22 skarya22 removed the State: Needs work PR awaiting additional work by the author to proceed label Jun 25, 2026
@skarya22
skarya22 self-requested a review June 25, 2026 16:18

@skarya22 skarya22 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Ready for merge.

@skarya22 skarya22 removed their assignment Jun 25, 2026
@driusan
driusan merged commit 9fe42a8 into aces:29.0-release Jun 29, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Critical to release PR or issue is key for the release to which it has been assigned Language: Javascript PR or issue that update Javascript code Language: PHP PR or issue that update PHP code Language: SQL PR or issue that update SQL code Module: statistics PR or issue related to statistics module Multilingual Any tasks related to making LORIS multilingual Passed manual tests PR has been successfully tested by at least one peer RaisinBread PR or issue introducing/requiring improvements to the Raidinbread dataset State: Blocking PR should be prioritized because it is blocking the progress of another task

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[dashboard] Add plot for file format and project sizes

6 participants