Skip to content

LORIS Release v20.0.0

Compare
Choose a tag to compare
@christinerogers christinerogers released this 11 Aug 12:38
0e6abdc

LORIS v20.0 is the next major release of LORIS. This release contains several bug fixes and user interface improvements as well as a some new features and a lot of code clean-up.

New Features

  • DICOM download has been added to the [API], and to the [Imaging Browser] and [DICOM Archive] modules. Users can download a package (.tar) of all DICOMs from a single upload/session in one click. Increase the memory_limit parameter in your php.ini to enable larger downloads.
  • [Core] Multiple CouchDB databases now supported in CouchDB.class.inc
  • [Media] Search by language on uploaded files

Updates and Improvements

  • [Create Timepoint] Visit labels must be selected from pre-defined list, instead of entered manually, when creating a new timepoint (#3209)
  • [API] Users affiliated with multiple sites can now create candidates and timepoints at any of those sites
  • [ImagingPipeline] Specific scan types can now be excluded from the insertion pipeline (including DICOM-to-MINC conversion) via the Configuration module.
  • [Core] New data framework for separation of data access and permission layers
  • [Core] New HTTP Server Request Handlers conform to PSR15 standards
  • [Candidate Parameters] re-organization of tables for storing consent information

Documentation

  • Readmes added inside more module directories -- documenting the Purpose, intended users, Scope, Permissions, configurations and interaction of the module with the rest of LORIS

Notes for Existing Projects

Several scripts should be run -- See details under Upgrade Process -- for:

  • Bugfix in the [Imaging Browser] script
  • mri_protocol table (script)
  • Consent architecture update (script)

Upgrade Process

Several steps are involved in this LORIS release upgrade, due to database schema constraints.

Your LORIS must be updated to 19.1.0 or higher before beginning this upgrade.

Procedure A : recommended for production machines.

  1. Get the latest release code (download and extract)
  2. Run composer install --no-dev from the Loris root directory to update PHP dependencies.
  3. Source the 19.1_To_20.0_upgrade.sql SQL file into the database
  4. Run the script Normalize_Consent_Data.php from the tools/single_use directory
  5. Run the script Normalize_protocol_split_rows.php from the tools/single_use directory
  6. Run the script Update_scan_type_of_mri_violations_log_when_manual_caveat.php from the tools/single_use directory

Optional: Cleanup

  1. First, verify that all data has been successfully transferred to the new consent, candidate_consent_rel and candidate_consent_history tables. Any data not transferred will be erased in the next step.
  2. Run the SQL/Archive/autogenerated/single_use/delete_old_consent_tables.sql to delete the previous consent columns in the participant_status and consent_info_history tables.

Procedure B : recommended for development installations

These commands serve as an example and might vary from machine to machine. These were tested on a Ubuntu 16.04 VM

  1. Get the latest release code (download and extract OR git pull)
  2. Run composer install from the Loris root directory to update PHP dependencies.
    • If errors occur you are probably missing phan dependency, follow the steps below:
      • Run apt-get install php-ast to install ast required for phan
      • Run composer install again to confirm everything was properly set up
    • If no errors occur, continue to Step 3
  3. Source the 19.1_To_20.0_upgrade.sql SQL file into the database
  4. Run the script Normalize_Consent_Data.php from the tools/single_use directory
  5. Run the script Normalize_protocol_split_rows.php from the tools/single_use directory
  6. Run the script Update_scan_type_of_mri_violations_log_when_manual_caveat.php from the tools/single_use directory
  • See Optional: Cleanup step above