Releases: aces/Loris
LORIS Release v21.0.7
This release removes all traces of email address from the survey module from the 21.0.x branch. Updating the code will remove it from the frontend, but users must manually source the patch SQL/Archive/21.0/Cleanup/2020-12-18-Remove_survey_emails.sql
to remove the data from the backend.
LORIS Release v23.0.2
This bugfix release incorporates the bug fix from v22.0.3 into the v23 branch and also fixes a number of minor issues that were not ready in time for the v23.0.1 release.
Detailed bug fixes:
[User accounts] Fix error message on new user account page (#6803)
[issue_tracker] Update validation to allow NULL Site (#6526)
[candidate_profile] Only show consent summary card if useConsent is enabled (#6807)
[Module Manager] Fix grammar in reload prompt (#6824)
[timepoint_list] Hiding Candidate Info and View Imaging Datasets buttons when missing permission (#6815)
[Statistics / Behavioural] Fix query for project breakdown (#6649)
[electrophysiology_browser] Add Project Permissions check to session page(#6640)
[Statistics/Behavioural] Site permission fix on detailed view(#6861)
[Statistics] fix behavioural tab without any project selection (#6882)
[battery_manager] Allow editing of battery with null CenterID by converting to all CenterIDs (#6858)
[Imaging_browser] Access to view session based on session project instead of candidate project (#6888)
LORIS Release v22.0.3
This bug fix release fixes 2 issues an issue in LORIS v22.0 where data was incorrectly joining every header to get the acquisition date instead of a single acquisition date header, resulting in potentially unusable load times of the imaging browser for large data sets. See PR #6871
LORIS Release v23.0.1
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
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.
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
andLorisMenuPermissions
tables need to be
transferred to the new module table and handled accordingly. (PR #5839) - Change of name from
quatUser
andquatPassword
toadminUser
andadminPassword
(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 theNDB_BVL_Instrument
class has been changed and the variable renamed toselectMultipleElements
, 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.
- Make sure you are using PHP 7.3 or higher before beginning to upgrade.
- [For developers] php-curl is now a required dependency and must be installed to continue.
- Get the 23.0.0 source code.
- Source the
SQL/Release_patches/22.0_To_23.0_upgrade.sql
SQL file into your database. - Run
make all
in the LORIS root directory. - Run the
tools/single_use/Convert_LorisMenuID_to_ModuleID.php
script and apply the generated SQL commands on the database. - Run the
tools/single_use/Cleanup_multiple_firstVisits.php
script with theconfirm
argument to apply changes. - Run the
tools/single_use/instrument_double_escape_report.php
to detect potential special character escaping issues in the saved instrument. - 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
LORIS Release v22.0.1
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
LORIS Release v22.0.0
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.
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 toRegistrationProjectID
in thecandidate
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 themri_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 tomkdir
so that the install script won't fail whenuser_uploads/
already exists (for whatever reason) indocument_repository
ordata_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 toproject_subproject_rel
. #4492 - Deletion of the full MINC
header
entry fromparameter_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 includeimage_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
andNPM
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.
- 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.
- Get the latest release code (download and extract)
- Run
make all
from the LORIS root directory to update all dependencies - 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
This release fixes a some bugs identified on LORIS v21.0.4
Notable Fixes: