Skip to content

Releases: aces/Loris

LORIS Release v20.0.2

05 Nov 15:00
Compare
Choose a tag to compare

This fixes minor bugs found since the v20.0.1 release. In particular:

  • [Upgrade Tools] Fix a bug in the DB_date_zeros_remove.php script to handle non-nullable fields (#3709)
  • [Document Repo] Add an error message if no data is available to download (#3888)
  • [Security] Better sanitization of commands in Server Processes Manager (#3944)
  • [Docs] The README now specifies Apache 2.4 is requires (#3976)
  • [Security] Fixes a possible XSS exploit in error pages (#4026)
  • [Media] the media_write permission is now sufficient for accessing the media module (#4028)

Various warnings are also fixed in different modules throughout LORIS.

LORIS Release v20.0.1

27 Aug 18:58
Compare
Choose a tag to compare

This fixes minor bugs which didn't have fixes ready in time for v20.0.0. In particular:

  • [API] Header formatting is more consistent in v0.0.3 documentation in documentation (#3758)
  • [BVL Feedback] CSS is adjusted to make it possible to close entries with very large titles (#3715)
  • [Instruments] A 401 error is returned instead of a 500 error when the user is not logged in 500 (#3665)
  • [Error Template] The text "Go to login page" is replaced by "Go to main page" so that it's accurate for logged in users who are sent to the dashboard.
  • [SQL schema] Some keys are made more explicit in order to make it possible to install LORIS in clustered environments (#3767)
  • [UI] Remove the scroll bar that incorrectly appears under frozen headers (#3605)

LORIS Release v20.0.0

11 Aug 12:38
0e6abdc
Compare
Choose a tag to compare

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

LORIS Release 19.1.2

08 Aug 19:27
Compare
Choose a tag to compare

This a bug that was discovered after the 19.1.1 release. In addition to a number of PHP warnings being fixed, the following bug fixe is included:

  • Prevent deletion or granting of permissions to a user if the editor (individual modifying the permission of another user) does not own the permission in question themself.

LORIS Release 19.1.1

14 Jun 14:15
Compare
Choose a tag to compare

This fixes bugs that were discovered after the 19.1.0 release. In addition to a number of PHP warnings being fixed, the following bug fixes are included:

  • Links to incomplete forms on the dashboard now work
  • The installer is more robust in detecting whether it's being run behind HTTP or HTTPS (including when run behind a proxy using HTTP)
  • Fixes the retrieval of file QC info in the API, and now allows hyphens in file names.
  • Fixes a bug where filenames that have a "+" could not be downloaded from the document repository

LORIS Release 19.1

03 May 19:42
Compare
Choose a tag to compare

This release primarily improves the technical documentation of LORIS modules, by adding a README.md file to each module which describes the scope, use, and configurations which affect the module.

In addition to that, it adds a configuration option which permits the instrument links in the Imaging Browser to be customized, and begins work on a (still under-development) v0.0.3 version of the API. The development version adds support for an endpoint which allows you to get all images that have been uploaded to a LORIS instance, optionally filtered by date.

Upgrade Notes

To upgrade LORIS from 19.0, you must do the following:

  • Upgrade the code
  • Run the SQL patch SQL/Release_patches/19.0_To_19.1_upgrade.sql

LORIS Release 19.0.2

02 May 18:59
Compare
Choose a tag to compare

This fixes various minor issues found in the v19.0.1 release of LORIS. In particular:

  • [Examiner] A bug where the examiner module would improperly throw errors is fixed.
  • [Examiner] In Training/Not Certified examiners no longer require a date to be saved
  • [Imaging Uploader] The validation of file name is more strictly to more accurately match the imaging pipeline
  • [Imaging Uploader] A bug preventing re-uploading of valid files is fixed
  • [All] Years in date elements are now restricted to 4 characters long. This will be need to be revisited in the year 10,000.
  • [Tools] The Zero date removal script is now explicit about null-ability in the patches it generates
  • [Candidate Parameters] The error messages regarding DoB for probands is now accurate.
  • [Document Repository] Fixed bug which prevented comments from being saved.
  • [Instrument Manager] The filename is now sanitized properly before being passed to the shell
  • Various warnings are fixed.

LORIS Release 19.0.1

16 Mar 18:24
Compare
Choose a tag to compare

This fixes some bugs that have been found since the LORIS 19.0.0 release, in particular:

  • Fixed bug in the DQT preventing filtering in some cases
  • Fixed bug where surveys could not be loaded in IE
  • Fixed the display of error messages in imaging uploader

LORIS Release 19.0.0

20 Feb 19:13
Compare
Choose a tag to compare

New Features

The primary new functionality of LORIS 19.0 is the ability to have
publicly accessible modules, which can be accessed by users that
are not logged in. This architecture is currently used by the
login module, but may be used by any module that has a public
component and is available for any content to be hosted in LORIS.

Updates and Improvements

All LORIS modules which are part of the core LORIS distribution
have been updated to use the "modern" module architecture, where
there is a Module class within the module's namespace which describes
metadata about the module (such as whether or not it should be
publicly available.) Modules that do not have a Module class should
still work, but are deprecated and support will be removed in a
future LORIS version.

Along with this new feature, 19.0 contains a number of bug fixes
and fixes a number of warnings that were generated by certain pages
and minor improvements such as the media and imaging uploader
displaying the maximum upload size of a file to the user before
they attempt to upload a file, rather than an error afterwards.

Caveats for Existing Projects

The _setupPage() function of LORIS pages have been removed. This
was used as a pseudo-constructor, and most of the logic has been
moved to the real class constructor. (The setup() function still
exists, to set up the page after authentication, and in most cases
all that is required is renaming the page function and removing
assignments to $this->form or $this->CommentID.)

Help content for modules is now managed as markdown files within
the help/ directory of the module. Any customized content from
the help editor should be backed up before upgrading. (The help_editor
module remains as a way to customize help content for instruments.)

Upgrade Notes

To upgrade LORIS from 18.x, you must do the following:

  1. Upgrade the code
  2. Run the script tools/cleanup_mri_tables_for_19-0_release.php from the LORIS tools directory to ensure there is no orphaned data in tables that this release adds foreign keys to. (Note: This script will fail if you aren't inside the tools directory.) Ensure this script ran properly before proceeding to the next step to avoid database errors.
  3. Run the SQL patch SQL/Release_patches/18.0_To_19.0_upgrade.sql

LORIS Release v18.0.5

20 Dec 19:16
Compare
Choose a tag to compare

This fixes some minor issues found in LORIS since LORIS v18.0.4

  • [Install/Vagrant] Add dependencies to Vagrant so that it works
  • [Brainbrowser] Upgrade BrainBrowser to incorporate bug fixes from BrainBrowser. This improves loading of some scans.
  • [Media] Fix potential SQL injection vulnerability in media module (#3349)