Skip to content

Releases: aces/Loris

LORIS Release v23.0.1

16 Jun 13:46
38441d1
Compare
Choose a tag to compare

This release primarily fixes an SQL error in the upgrade script for LORIS 22->23. Existing projects should ensure they upgrade directly to v23.0.1.

LORIS Release v23.0.0

12 Jun 15:51
71f77ea
Compare
Choose a tag to compare

This release contains user interface improvements, code clean up, bug fixes and new features. This release assigns users to projects, and begins the process of adding project-based permissions to LORIS in addition to the site-based permissions that already exist.

Full list of changes

Some of the major changes to this release are:

Core

Features

  • Add configuration option to specify the format in which dates are displayed. (PR #5004)
  • Configurable upload directory for data_release and document_repository modules (PR #5815)
  • New radio components for forms. (PR #5846)

Updates and Improvements

  • PHP minimum requirements raised to PHP 7.3 (PR #5723)
  • Menus are now maintained by modules and no longer in the SQL database (PR #5839)
  • New script created for streamlining instantiation of the Raisinbread demonstration
    database (PR #5260)
  • New documentation for file permissions has been added to the README.md file. (PR #5323)
  • Dashboard study progression section performance improvement (PR #5887)
  • New API version 0.0.3 released (PR #6188)

Bug Fixes

  • Fix edge-case that gave a confusing error message when changing password (PR #5956)
  • Fix bug where examiner form field was incorrectly hidden (PR #6085)
  • Fix special character double escaping in instruments (PR #6223)

Modules

Candidate Profile

  • New module created to provide dashboard of a single candidate's data across all
    modules. (Various PRs)
Issue Tracker
  • The issue_tracker module now has the feature of uploading attachments to new or existing issues. (PR #5394)
  • All sites now appear in the dropdown for site, not only study sites. (PR #6135)

Battery Manager

  • New module created to manage the entries in the test_battery table of the database.
    This allows projects to modify their instrument battery without requiring backend access.
    (PR #4221)

Module Manager

  • New module created to manage the status of installed modules. (PR #6015)

Electrophysiology Browser

  • New module created to view electrophysiology data within LORIS. (PR #5230)

Candidate Parameters

  • Add tab to view and edit a candidate's date of birth. (PR #4915)
  • Add date of death feature for LORIS. Store and calculate age based on a date of
    death for candidates. (PR #4929)

Create Timepoint

  • Add language parameter when creating a new timepoint for multilingual studies. (PR #4976)

Data Release

  • Add filters to data release module. (PR #5224)

MRI Violations

  • Add support for multiple project/subproject/visit_label MRI protocols (PR #4321)

Clean Up

  • New tool for detection of multiple first visits for a candidate (prevents a database
    exception). It is recommended to run this tool for existing projects (PR #5270)
  • Heroku postdeploy script cleanup (PR #5275)
  • Vagrantfile Deprecation (PR #5319)
  • The data_integrity_flag module was removed. (PR #5824)

Notes For Existing Projects

  • PHP should be upgraded to 7.3 or higher before upgrading LORIS.
  • For dev instances, the php-curl extension is now a required dependency.
  • Legacy Quickform instruments may have issues due to code changes (PR #4928)
  • Customized entries in the LorisMenu and LorisMenuPermissions tables need to be
    transferred to the new module table and handled accordingly. (PR #5839)
  • Change of name from quatUser and quatPassword to adminUser and adminPassword (PR #5785)
  • The data_integrity_flag module was removed. Projects still using the module should
    copy the code into the override directory and re-add the necessary SQL to add it to
    the list of modules.(PR #5824)
  • New tool for detection of multiple first visits for a candidate (prevents a database
    exception). It is recommended to run this tool for existing projects (PR #5270)
  • New tool for automatically adding modules to the modules table. This tool should
    be used by projects having custom modules not in LORIS. (PR #5913)
  • Duplicate filenames in the data release module will cause an error when downloading. Make sure to remove all filename duplications before upgrading to this version. (PR #6461)
  • New tool for detecting and reporting the presence of double escaped special characters in the database instruments (PR #6477)
  • The scope of the _selectMultipleElements variable in the NDB_BVL_Instrument class has been changed and the variable renamed to selectMultipleElements, make sure to update the variable in all your instruments and libraries accordingly (#6140)

Notes For Developers

  • The tool phpstan has been added to our automated test suite. (PR #4928)
  • Config files for static analysis have been moved to the test/ directory. (PR #5871)
  • Dashboard was refactored to turn panels into module widgets. (PR #5896)
  • Add CSSGrid component type (PR #6090)
  • Format for webpack-project.config.js changed (#6122)

Upgrade Process

Please note that in order for the steps below to succeed you must be on LORIS version 22.0.2. If you are on any previous version, the upgrade might fail to complete.

  1. Make sure you are using PHP 7.3 or higher before beginning to upgrade.
  2. [For developers] php-curl is now a required dependency and must be installed to continue.
  3. Get the 23.0.0 source code.
  4. Source the SQL/Release_patches/22.0_To_23.0_upgrade.sql SQL file into your database.
  5. Run make all in the LORIS root directory.
  6. Run the tools/single_use/Convert_LorisMenuID_to_ModuleID.php script and apply the generated SQL commands on the database.
  7. Run the tools/single_use/Cleanup_multiple_firstVisits.php script with the confirm argument to apply changes.
  8. Run the tools/single_use/instrument_double_escape_report.php to detect potential special character escaping issues in the saved instrument.
  9. Run SQL patches from the SQL/Archive/23.0/Cleanup directory at your discretion to remove superfluous or deprecated entries in the database.

Note: Some cleanup SQL commands might fail due to foreign key errors or other data related issues, make sure to test the release SQL patch previously and correct all necessary issues before proceeding to production.

LORIS Release v22.0.2

09 Jun 20:20
8a877df
Compare
Choose a tag to compare

This bug fix release fixes 2 issues in LORIS v22.0.1 where data was incorrectly escaped in LORIS.

  • [instruments] Fix data in fields where HTML characters were double escaped in instruments (#6477)
  • [media] File download should retrieve decoded path (#6137)

LORIS Release v22.0.1

26 Feb 23:39
a1bb788
Compare
Choose a tag to compare

This fixes bugs in the LORIS release v22.0.0 which have been found since the release. In particular:

  • [new profile] Fix issue where empty dropdown shows up when only associated with 1 site (#6008)
  • [Menu] Do not show Data Query Tool menu item with data_dict_view permission (#5833)
  • [Statistics / Behavioural Statistics] Fix: Users with permissions different from 'access_all_profiles' were not able to see the 'breakdown per participant' page. (#5591)
  • [Statistics / Behavioural Statistics] Fix permission issue where users were allowed to see statistics from sites they don't have access to. (#5252)

LORIS Release v21.0.6

25 Feb 14:52
Compare
Choose a tag to compare

This fixes bugs in the 21.0.5 release which have been merged but not released. In particular:

  • Fix DQT importer script if a scantype has a '-' character (#5841)
  • Remove invalid permissions for data_release in LorisMenu (#5838)

LORIS Release v22.0.0

29 Nov 21:08
Compare
Choose a tag to compare

This release contains user interface improvements, code clean up, bug fixes and new features. This release assigns users to projects, and begins the process of adding project-based permissions to LORIS in addition to the site-based permissions that already exist.

Full list of changes

Some of the major changes to this release are:

Summary

Features

  • New module: Imaging QC. Note this module requires an installed MRI Parameter Form instrument in order to load.
  • Addition of project affiliations to users. #5009
  • Addition of the project flag to timepoints and rename of the ProjectID column to RegistrationProjectID in the candidate table. #4919
  • Creation of script to modify configuration settings from the back-end. #4973
  • Addition of the ability to generate PSCIDs based on the project the candidate is affiliated with. #5285
  • Automatically populate PSCID, CandID & visit label based on the filename upon upload in the imaging uploader module #5306

Updates and Improvements

  • Paths in the configuration module will be validated before saving. Invalid paths will not be accepted. #4023
  • Adding the image_type header to the mri_protocol table to allow scan type discrimination based on that header. #4448
  • Improvement of the efficiency of DataTable filtering for large data tables. #5299
  • Hiding of the UI option allowing users to edit their own approval status. #5353
  • Addition of a new permission for "view only" in the data release module. #5557
  • Help text in most modules has been rewritten to be more user-friendly.

Bug Fixes

  • Fixes slash bug when including directory for endpoint in Module class. #5236
  • Addition of the -p flag to mkdir so that the install script won't fail when user_uploads/ already exists (for whatever reason) in document_repository or data_release module folders. #5245
  • Restoring possibility to read .nii.gz files with Brainbrowser. #5314
  • Addition of permissions to access Brainbrowser Module. #5530

Clean Up

  • Renaming SQL project_rel table to project_subproject_rel. #4492
  • Deletion of the full MINC header entry from parameter_file as not used anymore. #4925
  • Removal of the mri_acquisition_dates table of the database. #4962
  • Removal of unused functions in the Database.class.inc class. #4974
  • Removal of unused variables from imaging_uploader.class.inc. #5307
  • Renaming of the "Quality Control" module to "Imaging Quality Control". #5620
  • Renaming of the "Data Team Helper" module to "Behavioural Quality Control". #5620

Notes for Existing Projects

  • All paths in the Configuration module have to be valid (existing and writeable/readable on the file system) in order to be able to save a change in the module. #4023
  • Instruments are now loaded through a module in LORIS. The URL will thus now include a n/instruments/ element before the instrument name. Old links to instruments will no longer be valid. #4229
  • Modified the mri_protocol table to include image_type header information so that a scan can be identified based on that parameter along with the other acquisition parameters (particularly useful to distinguish between fieldmap magnitude and fieldmap phase images for example) #4448
  • A project selection is now mandatory when creating a timepoint. #4919
  • All users must now be affiliated to projects. Given the novelty of this feature, all users are automatically added to all projects by default. #5009
  • Some functions in the database class were removed since they are no longer being used. These removals might affect project code using said functions. #4974
  • NodeJS and NPM will have to be installed in order to upgrade to this version #5017
  • No need anymore to manually enter PSCID, CandID and Visit label in the upload form of the imaging uploader since they are not being automatically populated based on the filename upon upload #5306
  • The "Quality Control" module has been renamed to "Imaging Quality Control" and moved under the "Imaging" tab of the menu #5620
  • The "Data Team Helper" module has been renamed to "Behavioural Quality Control" and moved under the "Clinical" tab of the menu #5620
  • Projects now require an alias, the alias is used for PSCID generation. Upgrading LORIS will automatically add aliases to existing projects by using the first 4 characters from the project name. #5285

Upgrade process

Please note that in order for the steps below to succeed you must be on LORIS version 21.0.4. If you are on any previous version, the upgrade might fail to complete.

  1. Make sure you have installed "NodeJS" and "NPM" on your machine. These are new dependencies and must be installed in order to proceed with the upgrade.
  2. Get the latest release code (download and extract)
  3. Run make all from the LORIS root directory to update all dependencies
  4. Source the 21.0_To_22.0_upgrade.sql SQL file into your database.

Note: Some cleanup SQL commands might fail due to foreign key errors or other data related issues, make sure to test the release SQL patch previously and correct all necessary issues before proceeding to production.

LORIS Release v21.0.5

29 Nov 15:39
Compare
Choose a tag to compare

This release fixes a some bugs identified on LORIS v21.0.4

Full list of changes

Notable Fixes:

  • [login] Trimming string inputs on request account page #5809
  • [new_profile] Pressing create multiple time creates multiple candidates "silently" #5808
  • [Candidate List] Fixed bug: Subproject column not displayed if value was null #5804

LORIS Release v21.0.4

19 Nov 18:37
Compare
Choose a tag to compare

This release fixes several bugs from v21.0.3

For the full list of changes Click Here

Notable fixes:

  • DQT Fix Delete All button when building query
  • CSV Downloads: Enable data mapping to display values of related tables rather then the keys associated to them
  • Fix display of Echo Time in Imaging Browser

LORIS Release v21.0.3

29 Oct 18:46
Compare
Choose a tag to compare

This fixes various bugs found since 21.0.2. In particular, it fixes some issues with the install.sh script, fixes a 500 error in the DQT, and restricts statistics on the DQT to sites the user has access to.

For details or a complete list of changes see here.

LORIS Release v21.0.2

08 Oct 16:56
66fe2a5
Compare
Choose a tag to compare

This release fixes various bugs in the v21.0.1 release. The list below enumerates a few of them:

  • Fixing the static prefix option in the generation of PSCIDs
  • Candidate Info button not redirecting the the Candidate Parameters module
  • Rename the minLength parameter to length in the configuration files to match the code

Full list of changes