Recent Releases of loris

loris - v27.0.0

Summary

The LORIS 27 release adds many new features and optimizations detailed below such as: - Optimizations for the new dataquery tool which also optimize various components throughout LORIS - Improvements to permission handling through different modules - A new "Batch Mode" for the issue tracker - The CandID in LORIS is now 10 digits instead of 6 to support larger projects - Foreign Key references to the candidate table are now standardized: CandidateID which refers to candidate.ID - Instrument's flag.data moved to instrument_data table - LORIS now has the ability to display summary statistics of the LORIS instance (either from an SQL query or a query built with the new data query tool) on the login page. - A new redcap module allows to importing of data from redcap into LORIS - Various other bug fixes and features detailed below

Notes For Existing Projects

Upgrading LORIS requires following the upgrade process each major and minor release (bug fix releases can be script) to ensure the schema is up to date.

For upgrading to 27 from 26: - Source the SQL/Release_patches/26.0_To_27.0_upgrade.sql - Run the tools/update_issues_with_description.php to back-populate the new issue tracker description column. (The description was previously based on the first comment.)

What's Changed

Features

  • [IssueTracker] Add description field to issues table by @sanjay-thiyagarajan in https://github.com/aces/Loris/pull/8864
  • [document_repository] New features by @pierre-p-s in https://github.com/aces/Loris/pull/7103
  • [SQL] Move flag.data column to own table by @driusan in https://github.com/aces/Loris/pull/9215
  • [instrument_manager] Use JSON data for uploaded linst instruments by @driusan in https://github.com/aces/Loris/pull/9324
  • [Core] Add Compression middleware by @driusan in https://github.com/aces/Loris/pull/9207
  • [document_repository] Remove File Type Restriction by @skarya22 in https://github.com/aces/Loris/pull/9388
  • [candidate_profile] Add error boundary to cards with errors by @driusan in https://github.com/aces/Loris/pull/9333
  • [JSX] Relax Strictness of Filter for Multiselect in Filter Component by @HenriRabalais in https://github.com/aces/Loris/pull/9402
  • [issue_tracker] Convert batch/normal mode toggle to tabs and implement permission control by @ay-bh in https://github.com/aces/Loris/pull/9434
  • [JSX] Add ProgressBar to FilterableDataTable for Progressive Loading UI by @HenriRabalais in https://github.com/aces/Loris/pull/9401
  • [SQL][Instrument List][Battery Manager] Move DDE Enabled to Test_Battery by @skarya22 in https://github.com/aces/Loris/pull/9264
  • [conflict_resolver] Add Cohort filter and field by @victori444 in https://github.com/aces/Loris/pull/9407
  • [issue_tracker] Add Instrument dropdown to Issue form by @ay-bh in https://github.com/aces/Loris/pull/9311
  • [data_release] Introduce Project Separation by @skarya22 in https://github.com/aces/Loris/pull/9385
  • [Survey Module] Update survey status upon data_entry by @victori444 in https://github.com/aces/Loris/pull/9441
  • [Core] Add database query class to represent the results of a DB query by @driusan in https://github.com/aces/Loris/pull/9334
  • [Core] Add support / fix PHP 8.4 support by @driusan in https://github.com/aces/Loris/pull/9513
  • [issue_tracker] Add Batch Mode by @ay-bh in https://github.com/aces/Loris/pull/9339
  • [Media] Upload Digest Notifications (Override from CCNA) by @skarya22 in https://github.com/aces/Loris/pull/8849
  • [dataquery] Add ability to retrieve results of previous run from API by @driusan in https://github.com/aces/Loris/pull/9301
  • [NDBBVLInstrument] Hide inactive examiners for site from selection, unless if already selected by @skarya22 in https://github.com/aces/Loris/pull/9416
  • [timepoint] Add Default Site to Dropdown by @victori444 in https://github.com/aces/Loris/pull/9408
  • [issue_tracker] Receive notifications for all issues by @skarya22 in https://github.com/aces/Loris/pull/9396
  • [dataquery] Add instrument flags to instruments query engine by @driusan in https://github.com/aces/Loris/pull/9529
  • [data_release] FileUpload version permission by @victori444 in https://github.com/aces/Loris/pull/9489
  • [SQL] Refactor FK CandID int(6) to CandidateID int(10) (candidate.ID PK) by @jeffersoncasimir in https://github.com/aces/Loris/pull/9556
  • [Login] Summary Statistics by @skarya22 in https://github.com/aces/Loris/pull/9518
  • [Core] New Filters and Logic by @ridz1208 in https://github.com/aces/Loris/pull/9548
  • [issue_tracker] Add more granular permissions for Issue Tracker by @shonibare in https://github.com/aces/Loris/pull/9554
  • [imaging_uploader] Sort by UploadDate for most recent uploads by @ridz1208 in https://github.com/aces/Loris/pull/9563
  • [dictionary] Cohort Filter by @skarya22 in https://github.com/aces/Loris/pull/9390
  • [dicom archive] add project permission check based on tarchiveID by @regisoc in https://github.com/aces/Loris/pull/9359
  • HTMLSpecialChars() Double escaping default to false by @KLaFleur in https://github.com/aces/Loris/pull/9557
  • [Core] Add performance profiler logger by @driusan in https://github.com/aces/Loris/pull/9383
  • [imaging_qc] Make module only display data affliated to user's site and project by @shonibare in https://github.com/aces/Loris/pull/9399
  • [user_accounts] Made Site & Project multiselect expandable by @ridz1208 in https://github.com/aces/Loris/pull/9562
  • Add Project Affiliations Menu to Main Interface by @NadaElmasry in https://github.com/aces/Loris/pull/9417
  • [imaging_uploader] Site&Project check with config setting and permission by @ridz1208 in https://github.com/aces/Loris/pull/9533
  • dataquery Include missing fields from deprecated CouchDBImportDemographics. by @racostas in https://github.com/aces/Loris/pull/9566
  • [dashboard] Improve visual styling for a more modern look by @GeorgeMurad in https://github.com/aces/Loris/pull/9734
  • [battery_manager] Add required DDE selection by @skarya22 in https://github.com/aces/Loris/pull/9741
  • [JSX] Refactor Modal Component to Support Conditional Form Wrapping by @HenriRabalais in https://github.com/aces/Loris/pull/9516
  • Add the MRI variables in the imaging_browser's query engine by @nicolasbrossard in https://github.com/aces/Loris/pull/9824
  • [candidate_parameters] Add hasAccess to module class #9834 by @kongtiaowang in https://github.com/aces/Loris/pull/9843
  • [dataquery] Add 'PSCID' as a default field by @jeffersoncasimir in https://github.com/aces/Loris/pull/9845

Optimizations

  • [dataquery] Optimize filtering of valid candidates for large datasets by @driusan in https://github.com/aces/Loris/pull/9344
  • [Optmization] Replace bulkLoadInstanceData with generator by @driusan in https://github.com/aces/Loris/pull/9347
  • [Utility] Cache getVisitList result by @driusan in https://github.com/aces/Loris/pull/9346
  • [Utility] Remove unnecessary joins in queries by @driusan in https://github.com/aces/Loris/pull/9369
  • [bugfix] Cleanup TestName->TestID transition by @skarya22 in https://github.com/aces/Loris/pull/9387
  • [serverprocessesmanager] Monitor incomplete processes only by @jeffersoncasimir in https://github.com/aces/Loris/pull/9725
  • [redcap] new module by @regisoc in https://github.com/aces/Loris/pull/9474
  • [dashboard] Optimize statistics queries by @skarya22 in https://github.com/aces/Loris/pull/9793
  • [instruments] Add view permission by @adamdaudrich in https://github.com/aces/Loris/pull/9762

Bug Fixes

  • [issue_tracker] Fix inactive user query by @CamilleBeau in https://github.com/aces/Loris/pull/8904
  • [instrument_list] Fix deprecation warning (24.1) by @regisoc in https://github.com/aces/Loris/pull/9053
  • StaticDataTable mixed column types sorting by @regisoc in https://github.com/aces/Loris/pull/9120
  • [tools] Fix SQL error for duplicate rows by @GeorgeMurad in https://github.com/aces/Loris/pull/9007
  • Defining default decimal point for non JSON table LINST instruments by @regisoc in https://github.com/aces/Loris/pull/9277
  • [acknowledgements] Remove "Present" column from database and dynamically calculate by @driusan in https://github.com/aces/Loris/pull/8339
  • [User Account] Checkbox alignments by @laemtl in https://github.com/aces/Loris/pull/9352
  • Update Typescript by @maximemulder in https://github.com/aces/Loris/pull/9394
  • [User_Accounts] Fix examiner always pending & bugfix by @skarya22 in https://github.com/aces/Loris/pull/9409
  • Replace DoB/EDC with 'Derived Age'/'EDC Age' by @GeorgeMurad in https://github.com/aces/Loris/pull/8990
  • [Conflict_resolver] Show examiner name by @skarya22 in https://github.com/aces/Loris/pull/9404
  • [NDBBVLInstrument] Fix for clearing instrument by @skarya22 in https://github.com/aces/Loris/pull/9411
  • [document_repository] Error for filenames with comma by @victori444 in https://github.com/aces/Loris/pull/9461
  • [Tools] assignmissinginstruments.php - fix wrong type by @kongtiaowang in https://github.com/aces/Loris/pull/9484
  • [NDB_Page] Add default maxYear for date elements by @skarya22 in https://github.com/aces/Loris/pull/9498
  • [issue_tracker] 'My Issues' filter for users with no issues by @CamilleBeau in https://github.com/aces/Loris/pull/9483
  • [conflict_resolver] Replace 'Value 1 & 2' with 'Incorrect Answer' by @victori444 in https://github.com/aces/Loris/pull/9506
  • [NDBBVLInstrument] Fix addHourMinElement being never required by @victori444 in https://github.com/aces/Loris/pull/9482
  • [media] Fix download of filenames with commas by @victori444 in https://github.com/aces/Loris/pull/9510
  • Fixing the display of the Entity Type options in the Imaging Browser by @GeorgeMurad in https://github.com/aces/Loris/pull/9542
  • [issue_tracker] Fixes in permission when own user editing. by @racostas in https://github.com/aces/Loris/pull/9546
  • [Core] fix timeout redirect location by @ridz1208 in https://github.com/aces/Loris/pull/9534
  • Fix user singleton when an argument is passed. by @driusan in https://github.com/aces/Loris/pull/9572
  • [Examiner] Fix loading of edit examiner page by @driusan in https://github.com/aces/Loris/pull/9607
  • [issue_tracker] Fix bug that prevents new issue creation by @shonibare in https://github.com/aces/Loris/pull/9643
  • [publication] Fix edit PI issue by @victori444 in https://github.com/aces/Loris/pull/9492
  • Server process manager now displays updated process information by @nicolasbrossard in https://github.com/aces/Loris/pull/9685
  • [webpack] Fix incorrect module overwrite by @jeffersoncasimir in https://github.com/aces/Loris/pull/9653
  • [survey] - fix can't add or email a survey by @kongtiaowang in https://github.com/aces/Loris/pull/9639
  • [configuration] Few bugs found in this module #9599 -fix by @kongtiaowang in https://github.com/aces/Loris/pull/9659
  • [Timepoint List] Fix Timepoint List Access Issue when User have accessallprofiles Permission by @sruthymathew123 in https://github.com/aces/Loris/pull/9686
  • [mri_violations] Cannot access module with "Own sites" permission #9603 -fix by @kongtiaowang in https://github.com/aces/Loris/pull/9660
  • [candidate_parameters] Fixes Notice errors returned by getData. by @racostas in https://github.com/aces/Loris/pull/9690
  • [NDBBVLInstrument] addHourMin Warning by @skarya22 in https://github.com/aces/Loris/pull/9555
  • [NDBBVLInstrument_LINST] Add Metadata Fields after adding to dictionary by @skarya22 in https://github.com/aces/Loris/pull/9667
  • [dictionary] Fix out of order cols by @skarya22 in https://github.com/aces/Loris/pull/9669
  • [electrophysiology_browser] Fix webpack + css references + HED schema payload by @jeffersoncasimir in https://github.com/aces/Loris/pull/9688
  • [NDBBVLInstrument] Set dateOptions for addDateElement too by @skarya22 in https://github.com/aces/Loris/pull/9641
  • [imaging_browser] Fix visit level feedback cannot be saved by @nicolasbrossard in https://github.com/aces/Loris/pull/9720
  • [tools] Replace 'annotation' references in tools with 'events' by @jeffersoncasimir in https://github.com/aces/Loris/pull/9697
  • [imaging_browser] Fix bugs in imaging browser's MRI feedback popup by @nicolasbrossard in https://github.com/aces/Loris/pull/9716
  • [tools] error in dataintegrity/updatecandidatelatestdiagnosis.php #9710 by @kongtiaowang in https://github.com/aces/Loris/pull/9718
  • [SQL] add missing openID tables into default schema by @kongtiaowang in https://github.com/aces/Loris/pull/9775
  • [imaging_uploader] ID fix not displaying by @ridz1208 in https://github.com/aces/Loris/pull/9777
  • [schedule_module] fix can't add new appointment without set time by @kongtiaowang in https://github.com/aces/Loris/pull/9766
  • [instrument] fix can't save linst file by @kongtiaowang in https://github.com/aces/Loris/pull/9769
  • [Behavioural_QC] Incomplete Forms Data Entry Type by @skarya22 in https://github.com/aces/Loris/pull/9745
  • [dataquery] fix "Selected Fields" panel width. by @racostas in https://github.com/aces/Loris/pull/9798
  • [genomic_browser] Solve the issues by @skarya22 in https://github.com/aces/Loris/pull/9773
  • [dataquerytool] fix Numeric value out of range: 1264 Out of range value for column 'CandID' at row by @kongtiaowang in https://github.com/aces/Loris/pull/9832
  • [nextstage] adding missing CohotID php/libraries/NDBBVL_Battery.class.inc by @kongtiaowang in https://github.com/aces/Loris/pull/9791
  • [jsx - document_repository] Add disabledLabel to ButtonElement by @jeffersoncasimir in https://github.com/aces/Loris/pull/9790
  • [dictionary] Fixes description field been populated with the latest select option, not the actual field name. by @racostas in https://github.com/aces/Loris/pull/9855
  • [issue_tracker] Fix permissions by @CamilleBeau in https://github.com/aces/Loris/pull/9842
  • [dataquery] Return 0 results when a query is partially built (#9853) by @driusan in https://github.com/aces/Loris/pull/9861
  • [document repository] multiple issues with categories, and upload/downloads #9614 -fix by @kongtiaowang in https://github.com/aces/Loris/pull/9662
  • [dataquery] Page crashes when syncing with any visit #9859 by @kongtiaowang in https://github.com/aces/Loris/pull/9862
  • [dataquery] Fix reset selected field for new Category by @GeorgeMurad in https://github.com/aces/Loris/pull/9867
  • [Publication Module] Duplicate Lead Investigator Email Issue by @sruthymathew123 in https://github.com/aces/Loris/pull/9719
  • [issue_tracker] Fix typo by @CamilleBeau in https://github.com/aces/Loris/pull/9757
  • [instrument] - Visit_Label - fix typo by @kongtiaowang in https://github.com/aces/Loris/pull/9866
  • [smarty] Allow instrument tables to expand off-screen by @skarya22 in https://github.com/aces/Loris/pull/9820
  • [dataquery - jsx/Modal] Add 'name' attribute to FormElement by @jeffersoncasimir in https://github.com/aces/Loris/pull/9869
  • [imaging_browser] Fix invalid query in imaging browser's query engine by @nicolasbrossard in https://github.com/aces/Loris/pull/9874
  • [dataquery] Changes to table dataquery_queries are not saved in the history table anymore by @nicolasbrossard in https://github.com/aces/Loris/pull/9875

New Contributors

  • @NadaElmasry made their first contribution in https://github.com/aces/Loris/pull/9417
  • @MaximeBICMTL made their first contribution in https://github.com/aces/Loris/pull/9841

Full Changelog: https://github.com/aces/Loris/compare/v26.0.4...v27.0.0

- PHP
Published by driusan 8 months ago

loris - LORIS Release v24.1.8

What's Changed

  • StaticDataTable mixed column types sorting by @regisoc in https://github.com/aces/Loris/pull/9120
  • [tools] Fix SQL error for duplicate rows by @GeorgeMurad in https://github.com/aces/Loris/pull/9007
  • [DataTable] Fix multiselect containing commas by @victori444 in https://github.com/aces/Loris/pull/9743

Full Changelog: https://github.com/aces/Loris/compare/v24.1.7...v24.1.8

- PHP
Published by driusan 8 months ago

loris - LORIS Release v26.0.4

What's Changed

  • [EEG Browser] Viz loading issue by @laemtl in https://github.com/aces/Loris/pull/9527
  • Post install script fix by @laemtl in https://github.com/aces/Loris/pull/9524

Full Changelog: https://github.com/aces/Loris/compare/v26.0.3...v26.0.4

- PHP
Published by driusan about 1 year ago

loris - LORIS Release v26.0.3

What's Changed

  • [SQL] remove DownloadPath from sql files - 26.0-release by @kongtiaowang in https://github.com/aces/Loris/pull/9467
  • [electrophysiology_uploader] Fix minor unexpected behaviours by @ZhichGaming in https://github.com/aces/Loris/pull/9470
  • [composer] manage project dependencies by @regisoc in https://github.com/aces/Loris/pull/9496
  • [Deprecated DQT] Fix type error in demographic import script by @driusan in https://github.com/aces/Loris/pull/9508
  • [Raisinbread] Add physiologicaleventarchive entries by @jeffersoncasimir in https://github.com/aces/Loris/pull/9515
  • [Candidate] RE-add support to create candidates from the backend (unix user) by @ridz1208 in https://github.com/aces/Loris/pull/9485
  • [issue_tracker] Add [priority,status] in the body and 'study' to subj… by @shonibare in https://github.com/aces/Loris/pull/9471
  • [EEG Browser] Fix webpack and ts config by @laemtl in https://github.com/aces/Loris/pull/9517

New Contributors

  • @ZhichGaming made their first contribution in https://github.com/aces/Loris/pull/9470

Full Changelog: https://github.com/aces/Loris/compare/v26.0.2...v26.0.3

- PHP
Published by driusan about 1 year ago

loris - LORIS Release v26.0.2

What's Changed

  • [dictionary] optimize unique scan types by @regisoc in https://github.com/aces/Loris/pull/9454
  • [Examiner] fix missing edit examiner url-link by @kongtiaowang in https://github.com/aces/Loris/pull/9449
  • [candidate_list] Fix 'Access Profile' link on timepoint list page by @shonibare in https://github.com/aces/Loris/pull/9455
  • [Feedback] Fix typo in getSummaryOfThreads by @CamilleBeau in https://github.com/aces/Loris/pull/8889

Full Changelog: https://github.com/aces/Loris/compare/v26.0.1...v26.0.2

- PHP
Published by driusan over 1 year ago

loris - LORIS Release v26.0.1

What's Changed

  • fix data release sort issue by @kongtiaowang in https://github.com/aces/Loris/pull/8636
  • [MRI Violations] Fix violatedscansview_allsites permission by @laemtl in https://github.com/aces/Loris/pull/9057
  • [statistics] Fix bracket for null coalesce by @driusan in https://github.com/aces/Loris/pull/9310
  • fix genericincludes.php returning error "Undefined variable in /var/www/loris/tools/genericincludes.php on line 28" - 26 branch by @cmadjar in https://github.com/aces/Loris/pull/9317
  • [candidate parameters] diagnosis fix by @kongtiaowang in https://github.com/aces/Loris/pull/9365
  • fix genericincludes.php returning error "Undefined variable in /var/www/loris/tools/genericincludes.php on line 28" - 25 branch by @cmadjar in https://github.com/aces/Loris/pull/9318
  • [API] Fix PUT request not updating image's QC values by @cmadjar in https://github.com/aces/Loris/pull/9376
  • [dataquery/instruments] Handle cardinality::many instruments in DQT by @driusan in https://github.com/aces/Loris/pull/9305

Full Changelog: https://github.com/aces/Loris/compare/v26.0.0...v26.0.1

- PHP
Published by driusan over 1 year ago

loris - LORIS Release v26.0.0

This is the LORIS v26.0.0 release. It includes many major new features such as a rewritten Data Query Tool that doesn't require CouchDB and enforces permissions, preliminary OpenID Connect support, HED tag support in the EEG browser, a new scheduling module, a candidate diagnosis evolution tracker, the ability to customize the "Sex" options for candidates in LORIS, PHP 8.3 support, and multiple bug fixes and optimizations.

For the full changelog see: https://github.com/aces/Loris/compare/v25.0.2...v26.0.0

Upgrade Instructions

To upgrade LORIS from v25.0.x (previous versions should first upgrade to v25):

  1. Update to the v26.0.0 version of the code.
  2. Run the SQL update patch SQL/Release_patches/25.0_To_26.0_upgrade.sql.
  3. Run the command make from your LORIS root directory.

What's Changed

  • [Tools] Generate tables include path fix by @laemtl in https://github.com/aces/Loris/pull/8674
  • [LINST] Add .meta option to skip XIN rules by @driusan in https://github.com/aces/Loris/pull/8714
  • [candidate_list] Multiselect for visit label, site, and cohort by @charlottesce in https://github.com/aces/Loris/pull/8730
  • [candidate_parameters] Participant status - mandatory comments if not active or complete by @charlottesce in https://github.com/aces/Loris/pull/8731
  • [api] Add cohorts to project info by @driusan in https://github.com/aces/Loris/pull/8774
  • [conflict_resolver] Add description field by @charlottesce in https://github.com/aces/Loris/pull/8845
  • [DataQuery] New DQT backend implementation by @driusan in https://github.com/aces/Loris/pull/8268
  • [IssueTracker] Fix for "othersWatching" history tracking by @sanjay-thiyagarajan in https://github.com/aces/Loris/pull/8875
  • [JS] Add username/id to Loris helper object by @driusan in https://github.com/aces/Loris/pull/8876
  • [OpenID] Add OpenID Connect support to LORIS by @driusan in https://github.com/aces/Loris/pull/8255
  • [script] Add script to create a new module by @driusan in https://github.com/aces/Loris/pull/8918
  • [Core] Allow module entrypoint to be written in typescript by @driusan in https://github.com/aces/Loris/pull/8873
  • [SQL] Require testnames.Subgroup to not be null by @driusan in https://github.com/aces/Loris/pull/8933
  • [instruments] Bulk load SessionID and VisitLabel by @driusan in https://github.com/aces/Loris/pull/8855
  • [CouchDBMRIImporter] Remove extra argument in _getQueryForSelectedFiles by @CamilleBeau in https://github.com/aces/Loris/pull/8947
  • [NDBBVLInstrument] Cleanup duplicate method definition for _addMetadataFields() by @zaliqarosli in https://github.com/aces/Loris/pull/8956
  • Remove 'Scan done' field from 'Start visit' menu by @GeorgeMurad in https://github.com/aces/Loris/pull/8955
  • feat: add robots.txt file by @divyakelaskar in https://github.com/aces/Loris/pull/8946
  • [Tools] fix timepoint data problems by @xlecours in https://github.com/aces/Loris/pull/8949
  • [bvl_feedback] Update summary in real time by @CamilleBeau in https://github.com/aces/Loris/pull/8966
  • [examiner] Only show active examiner sites by @CamilleBeau in https://github.com/aces/Loris/pull/8967
  • [dataquery] New Data Query Module by @driusan in https://github.com/aces/Loris/pull/8907
  • [api/instruments] Add endpoint that allows you to add instruments to a battery by @driusan in https://github.com/aces/Loris/pull/8868
  • [New Feature] Tracking and Configuration of Candidate's Diagnosis Evolution by @jesscall in https://github.com/aces/Loris/pull/7560
  • [Brainbrowser] file_url query param by @laemtl in https://github.com/aces/Loris/pull/8335
  • [jsx] Remove DynamicDataTable by @driusan in https://github.com/aces/Loris/pull/8993
  • [Candidate_parameters] Consent status - Add NA option by @charlottesce in https://github.com/aces/Loris/pull/8732
  • [candidate_parameters] use DoB and DoD format by @CamilleBeau in https://github.com/aces/Loris/pull/9001
  • [mypreference] Add support for mypreference widgets by @driusan in https://github.com/aces/Loris/pull/8938
  • Add PHP 8.3 support by @driusan in https://github.com/aces/Loris/pull/9019
  • [Instrument List] Show Timepoint Project by @skarya22 in https://github.com/aces/Loris/pull/9039
  • [candidate] Create Sex table and remove Sex enum by @CamilleBeau in https://github.com/aces/Loris/pull/9025
  • [Instrument List] Refresh on Stage Update by @skarya22 in https://github.com/aces/Loris/pull/9040
  • [User Accounts] Site as multi select by @sruthymathew123 in https://github.com/aces/Loris/pull/9022
  • [electrophysiology_browser] Replace Physiological Annotations with Events by @jeffersoncasimir in https://github.com/aces/Loris/pull/9032
  • [htaccess] Modifies rule to allow spaces in filename when downloading files. by @racostas in https://github.com/aces/Loris/pull/9029
  • [electrophysiology_browser] Revised EEG filters + Store reference fix by @jeffersoncasimir in https://github.com/aces/Loris/pull/9038
  • [Instrument_list] Refresh on Send to DCC by @skarya22 in https://github.com/aces/Loris/pull/9072
  • [install] fix db installer host name by @MaximeMulder in https://github.com/aces/Loris/pull/9107
  • [electrophysiology_uploader] Add PSCID and Visit Label filters to data table by @jeffersoncasimir in https://github.com/aces/Loris/pull/9113
  • [help] fix the help widget extending over the height of a page by @shonibare in https://github.com/aces/Loris/pull/9105
  • Increase LINST instrument read buffer by @regisoc in https://github.com/aces/Loris/pull/9117
  • [dicom archive] Fix dicom archive details links by @MaximeMulder in https://github.com/aces/Loris/pull/9081
  • [data_release] refactoring to use data framework. by @racostas in https://github.com/aces/Loris/pull/9051
  • [candidate_profile] Fixing the display of cohorts in candidate Info card by @GeorgeMurad in https://github.com/aces/Loris/pull/9125
  • [tools/script] fix projectID issue by @kongtiaowang in https://github.com/aces/Loris/pull/9069
  • [user] Add getSites functions in User class by @CamilleBeau in https://github.com/aces/Loris/pull/9102
  • [configuration] Fix option deletion issue. by @racostas in https://github.com/aces/Loris/pull/9121
  • [electrophysiology_browser] HED Tag Support by @jeffersoncasimir in https://github.com/aces/Loris/pull/9033
  • [api_docs] add ModuleID to permission by @ridz1208 in https://github.com/aces/Loris/pull/9145
  • [NDB_Client] Allow loading images from images.loris.ca by @jeffersoncasimir in https://github.com/aces/Loris/pull/9161
  • [media] bug fix - string to int by @kongtiaowang in https://github.com/aces/Loris/pull/9156
  • [instrumentmanager] Fixing error in generatetablessqland_testNames tool by @AlexandraLivadas in https://github.com/aces/Loris/pull/9157
  • [electrophysiology_browser] Minor HED display modifications by @jeffersoncasimir in https://github.com/aces/Loris/pull/9166
  • [issue_tracker] null option assignee by @regisoc in https://github.com/aces/Loris/pull/9169
  • EEGVisEnabled check issue and webpack cache by @laemtl in https://github.com/aces/Loris/pull/9159
  • [imaging browser] Remove unused button by @MaximeMulder in https://github.com/aces/Loris/pull/9075
  • [statistics] bug fix - projectID issue by @kongtiaowang in https://github.com/aces/Loris/pull/9170
  • [Login] password reset page- missing element import by @kongtiaowang in https://github.com/aces/Loris/pull/9171
  • [Publication] Fix deletion of file when editing project by @CamilleBeau in https://github.com/aces/Loris/pull/9181
  • [Statistics] Fix checkbox places in Imaging Statistics by @miladheshmati in https://github.com/aces/Loris/pull/9184
  • [document_repository] Uploading file too large not reporting correctly #9158 - fix by @kongtiaowang in https://github.com/aces/Loris/pull/9174
  • [examiner] fix error message display format by @shonibare in https://github.com/aces/Loris/pull/9176
  • [new_profile] Site not selected when recruiting another candidate by @nicolasbrossard in https://github.com/aces/Loris/pull/9197
  • [Behavioural_QC] Display profile level feedbacks by @CamilleBeau in https://github.com/aces/Loris/pull/9192
  • [Schedule Module] add new schedule module into Loris by @kongtiaowang in https://github.com/aces/Loris/pull/6150
  • [notification] Fix sender name in email by @MaximeMulder in https://github.com/aces/Loris/pull/9203
  • [publication] Fix number of files in Upload tab by @CamilleBeau in https://github.com/aces/Loris/pull/9179
  • [statistics] Recruitment graph optimization by @driusan in https://github.com/aces/Loris/pull/9196
  • [Publication] Fix for auto-selecting Project in edit by @skarya22 in https://github.com/aces/Loris/pull/9187
  • [media] 413 error improperly handled #9163 - fix by @kongtiaowang in https://github.com/aces/Loris/pull/9175
  • [publication] Fix download prevention by overriding download notification function by @jeffersoncasimir in https://github.com/aces/Loris/pull/9208
  • [Publication] Fix baseurl missing from emails by @skarya22 in https://github.com/aces/Loris/pull/9186
  • Help UI fix by @laemtl in https://github.com/aces/Loris/pull/9210
  • [candidatelist] Make candidatelist use LORIS streamable binary format by @driusan in https://github.com/aces/Loris/pull/9195
  • Add to configuration serverprocessesmanager module by @GeorgeMurad in https://github.com/aces/Loris/pull/9189
  • [RBfiles] Removed erroneous insertions in RBphysiological_file by @jeffersoncasimir in https://github.com/aces/Loris/pull/9211
  • [Acknowledgements] Fix for selecting all roles by @skarya22 in https://github.com/aces/Loris/pull/9209
  • [dicom archive] Remove superfluous newline in dicom archive view details by @MaximeMulder in https://github.com/aces/Loris/pull/9214
  • datadictionarybuilder.php unique constraint fix by @laemtl in https://github.com/aces/Loris/pull/9201
  • [behavioural_qc ] Auto-open behavioural panel with query parameter by @jeffersoncasimir in https://github.com/aces/Loris/pull/9183
  • [examiner] Adds permission check when adding examiner to site. by @racostas in https://github.com/aces/Loris/pull/9188
  • [Settings] Cache settings after first retrieval by @driusan in https://github.com/aces/Loris/pull/9216
  • [dataquery] Share cache of module dictionary across queries by @driusan in https://github.com/aces/Loris/pull/9217
  • Survey Module Validation Fix by @sruthymathew123 in https://github.com/aces/Loris/pull/9116
  • Improve webpack configuration by @MaximeMulder in https://github.com/aces/Loris/pull/9225
  • [dictionary] Fix loading of dictionary module by @driusan in https://github.com/aces/Loris/pull/9227
  • [instrument] Fix data type of getCandID function by @driusan in https://github.com/aces/Loris/pull/9228
  • Fix webpack compilation of JS modules by @MaximeMulder in https://github.com/aces/Loris/pull/9231
  • [dataquery/dictionary] Add option to display enums as either value or field in dataquery module by @driusan in https://github.com/aces/Loris/pull/9224
  • [RBfiles] Sampling frequency updated in RBphysiologicalparameterfile.sql by @jeffersoncasimir in https://github.com/aces/Loris/pull/9241
  • [new_profile] Make list of available projects user dependent by @ridz1208 in https://github.com/aces/Loris/pull/9236
  • [dashboard] Add project filter for tasks widget by @CamilleBeau in https://github.com/aces/Loris/pull/9220
  • [statistics] Fix timeseries graph spline bug by @jeffersoncasimir in https://github.com/aces/Loris/pull/9257
  • [form + mri_violations] Add DatetimeElement to filter fields by date and time by @MaximeMulder in https://github.com/aces/Loris/pull/9190
  • [Login] Add login suggestion and redirection for error 403 by @MaximeMulder in https://github.com/aces/Loris/pull/9041
  • [Acknowledgment] Fix awkward language in citation policy placeholder #9246 - modify text by @kongtiaowang in https://github.com/aces/Loris/pull/9269
  • [score_instrument] use getInstanceData to get the instrument data by @driusan in https://github.com/aces/Loris/pull/9263
  • [media] ajax function has been removed by @kongtiaowang in https://github.com/aces/Loris/pull/9282
  • [conflict_resolver] Rename TableName to TestName by @CamilleBeau in https://github.com/aces/Loris/pull/9270
  • [electrophysiologybrowser + RBfiles + SQL] Rename physiological parameter for chunks path by @jeffersoncasimir in https://github.com/aces/Loris/pull/9275
  • [imaging_uploader] Invalid log message shown for uploads with status … by @nicolasbrossard in https://github.com/aces/Loris/pull/9278
  • [tools] Refactor recreate_conflicts.php to use getInstrumentNamesList() by @ay-bh in https://github.com/aces/Loris/pull/9280
  • [imaging_uploader] Make auto-launch info popup modal by @nicolasbrossard in https://github.com/aces/Loris/pull/9287
  • [media] Remove instrument autoselect by @CamilleBeau in https://github.com/aces/Loris/pull/9288
  • [EEG] Montage color map by @laemtl in https://github.com/aces/Loris/pull/9273
  • [media] fixes permissions. Allows media_read to download, renames "Delete" to "Hide". by @racostas in https://github.com/aces/Loris/pull/9222
  • [statistics] Do not depend on instrument table for queries by @driusan in https://github.com/aces/Loris/pull/9252
  • [imaging uploader] fixing upload a large file frozen by @kongtiaowang in https://github.com/aces/Loris/pull/9289
  • [EEG Uploader] User messaging and Documentation update by @laemtl in https://github.com/aces/Loris/pull/9296

New Contributors

  • @divyakelaskar made their first contribution in https://github.com/aces/Loris/pull/8946
  • @SantiagoTG made their first contribution in https://github.com/aces/Loris/pull/8559
  • @MaximeMulder made their first contribution in https://github.com/aces/Loris/pull/9066
  • @ay-bh made their first contribution in https://github.com/aces/Loris/pull/9280

Full Changelog: https://github.com/aces/Loris/compare/v25.0.2...v26.0.0

- PHP
Published by driusan over 1 year ago

loris - LORIS Release v24.1.7

Backport fixes from v25 to v24.1

What's Changed

  • [issue_tracker] Fix inactive user query by @CamilleBeau in https://github.com/aces/Loris/pull/8904
  • [instrument_list] Fix deprecation warning (24.1) by @regisoc in https://github.com/aces/Loris/pull/9053

Full Changelog: https://github.com/aces/Loris/compare/v24.1.6...v24.1.7

- PHP
Published by driusan almost 2 years ago

loris - LORIS Release v25.0.2

What's Changed

  • [media] React Warning on Upload Tab by @skarya22 in https://github.com/aces/Loris/pull/8721
  • [issue_tracker] Do not display inactive users in issue form by @charlottesce in https://github.com/aces/Loris/pull/8841
  • [LINST] skip metadatafields for surveys by @zaliqarosli in https://github.com/aces/Loris/pull/8961
  • [dictionary] Fixes for correct displaying "Data Type" column for the enumeration type in the "Data Dictionary (Beta)" table by @yagurdmitriy in https://github.com/aces/Loris/pull/8976
  • [tools] Fix efficiency of fixcandidateage script by @CamilleBeau in https://github.com/aces/Loris/pull/8992
  • [media] fixes issue when media module try to instantiate a non existing instrument. by @racostas in https://github.com/aces/Loris/pull/8903
  • [instrument_list] Fix deprecation warning by @driusan in https://github.com/aces/Loris/pull/8867
  • [LINST] fix survey and date issues by @ridz1208 in https://github.com/aces/Loris/pull/8858
  • [JSX] Modal Width Prop by @skarya22 in https://github.com/aces/Loris/pull/8893
  • [libraries] Get examiner sites by UserID by @CamilleBeau in https://github.com/aces/Loris/pull/8994
  • [genomic_browser] Download button not showing up in the Files tab by @ridz1208 in https://github.com/aces/Loris/pull/8480
  • [issue_tracker - raisinbread/tools] Fix issue tracker history wrong module ID by @zaliqarosli in https://github.com/aces/Loris/pull/8677
  • [Issue Tracker] Issue Change Notifications by @skarya22 in https://github.com/aces/Loris/pull/8885
  • [behavioural_qc] fixes visitLevel feedback not showing up. by @racostas in https://github.com/aces/Loris/pull/8900
  • [battery_manager] Update Test Plan by @skarya22 in https://github.com/aces/Loris/pull/8782

New Contributors

  • @yagurdmitriy made their first contribution in https://github.com/aces/Loris/pull/8976

Full Changelog: https://github.com/aces/Loris/compare/v25.0.1...v25.0.2

- PHP
Published by driusan about 2 years ago

loris - LORIS Release v24.1.6

What's Changed

  • [issue_tracker] Do not display inactive users in issue form by @charlottesce in https://github.com/aces/Loris/pull/8841
  • [LINST] skip metadatafields for surveys by @zaliqarosli in https://github.com/aces/Loris/pull/8961
  • [tools] Fix efficiency of fixcandidateage script by @CamilleBeau in https://github.com/aces/Loris/pull/8992
  • [media] fixes issue when media module try to instantiate a non existing instrument. by @racostas in https://github.com/aces/Loris/pull/8903
  • [LINST] fix survey and date issues by @ridz1208 in https://github.com/aces/Loris/pull/8858
  • [JSX] Modal Width Prop by @skarya22 in https://github.com/aces/Loris/pull/8893
  • [libraries] Get examiner sites by UserID by @CamilleBeau in https://github.com/aces/Loris/pull/8994
  • [genomic_browser] Download button not showing up in the Files tab by @ridz1208 in https://github.com/aces/Loris/pull/8480
  • [issue_tracker - raisinbread/tools] Fix issue tracker history wrong module ID by @zaliqarosli in https://github.com/aces/Loris/pull/8677
  • [Issue Tracker] Issue Change Notifications by @skarya22 in https://github.com/aces/Loris/pull/8885
  • [behavioural_qc] fixes visitLevel feedback not showing up. by @racostas in https://github.com/aces/Loris/pull/8900

Full Changelog: https://github.com/aces/Loris/compare/v24.1.5...v24.1.6

- PHP
Published by driusan about 2 years ago

loris - LORIS Release v25.0.1

This includes all bug fixes from the v24.1.5 release, pushed forward into a v25.0.1 release.

In particular, it includes the security fix from #8908

What's Changed

  • [API] Using isAccessibleBy on candidate endpoint by @xlecours in https://github.com/aces/Loris/pull/8824
  • [25.0 release] Update raisinbread dataset by @ridz1208 in https://github.com/aces/Loris/pull/8843
  • [25.0 Release] Hotfixes for demo by @ridz1208 in https://github.com/aces/Loris/pull/8840
  • [imaging_qc] Improve Error Message by @skarya22 in https://github.com/aces/Loris/pull/8779
  • [survey_accounts] notices, warnings and filter options by @ridz1208 in https://github.com/aces/Loris/pull/8859
  • [LorisForm] add required to checkboxes by @ridz1208 in https://github.com/aces/Loris/pull/8860
  • [Libraries] Feedback panel - fix fieldnames setting by @charlottesce in https://github.com/aces/Loris/pull/8848
  • [tools][CouchDBMRIImporter] Fix date in MRI data by @charlottesce in https://github.com/aces/Loris/pull/8851
  • [issue_tracker] Resolves special characters in titles by @charlottesce in https://github.com/aces/Loris/pull/8842
  • [LINST/Dictionary] Add Numeric elements to dictionary by @driusan in https://github.com/aces/Loris/pull/8869
  • [bvl_feedback] Edit comment section by @skarya22 in https://github.com/aces/Loris/pull/8790
  • [Core] Enable use of project modules for ajax requests by @jeffersoncasimir in https://github.com/aces/Loris/pull/8870
  • [imaging_uploader] Fix auto-populating VisitLabel by @zaliqarosli in https://github.com/aces/Loris/pull/8881
  • [Dict] hotfix add hidden fields to dictionary implementation by @ridz1208 in https://github.com/aces/Loris/pull/8882
  • [Configuration] Fix values of email fields by @laemtl in https://github.com/aces/Loris/pull/8891
  • [configuration] Escape values in config module by @driusan in https://github.com/aces/Loris/pull/8901
  • [media] Fix SQL injection by @driusan in https://github.com/aces/Loris/pull/8908

Full Changelog: https://github.com/aces/Loris/compare/v25.0.0...v25.0.1

- PHP
Published by driusan over 2 years ago

loris - LORIS Release v24.1.5

This fixes a variety of bugs found since v24.1.4. Most importantly, it includes a fix for a potential SQL injection attack in the media module. (PR #8908)

What's Changed

  • [battery_manager] use visit controller to fetch visit list by @ridz1208 in https://github.com/aces/Loris/pull/8485
  • [Core] PSCID uniqueness by @xlecours in https://github.com/aces/Loris/pull/8411
  • [API] Using isAccessibleBy on candidate endpoint by @xlecours in https://github.com/aces/Loris/pull/8824
  • [survey_accounts] notices, warnings and filter options by @ridz1208 in https://github.com/aces/Loris/pull/8859
  • [LorisForm] add required to checkboxes by @ridz1208 in https://github.com/aces/Loris/pull/8860
  • [Libraries] Feedback panel - fix fieldnames setting by @charlottesce in https://github.com/aces/Loris/pull/8848
  • [tools][CouchDBMRIImporter] Fix date in MRI data by @charlottesce in https://github.com/aces/Loris/pull/8851
  • [issue_tracker] Resolves special characters in titles by @charlottesce in https://github.com/aces/Loris/pull/8842
  • [LINST/Dictionary] Add Numeric elements to dictionary by @driusan in https://github.com/aces/Loris/pull/8869
  • [imaging_uploader] Fix auto-populating VisitLabel by @zaliqarosli in https://github.com/aces/Loris/pull/8881
  • [Dict] hotfix add hidden fields to dictionary implementation by @ridz1208 in https://github.com/aces/Loris/pull/8882
  • [Configuration] Fix values of email fields by @laemtl in https://github.com/aces/Loris/pull/8891
  • [media] Fix SQL injection by @driusan in https://github.com/aces/Loris/pull/8908

Full Changelog: https://github.com/aces/Loris/compare/v24.1.4...v24.1.5

- PHP
Published by driusan over 2 years ago

loris - LORIS Release v25.0.0

What's Changed

  • [EEG] Database Architecture for HED Tags by @jesscall in https://github.com/aces/Loris/pull/8036
  • [dashboard][Study Progression] Add tooltip visualising of Total in line chart by @satvik-tha-god in https://github.com/aces/Loris/pull/8123
  • [candidatelist] Remove meaningless LatestVisit_Status column by @driusan in https://github.com/aces/Loris/pull/7759
  • [publication] Add columns to publications by @pierre-p-s in https://github.com/aces/Loris/pull/7361
  • [Core] Remove duplicated getActiveModules function by @driusan in https://github.com/aces/Loris/pull/7446
  • [Form.js] No required min/max for numeric elements by @driusan in https://github.com/aces/Loris/pull/8197
  • [new_profile] Use API for candidate creation and swal for success by @driusan in https://github.com/aces/Loris/pull/7755
  • [EEG Browser] Add ability to view annotations in event panel and overlaid on signal viewer by @laemtl in https://github.com/aces/Loris/pull/8235
  • [login] Add code sanitizer before dangerouslySetInnerHTML by @CamilleBeau in https://github.com/aces/Loris/pull/7491
  • [EEG Browser] Annotations: Add new and HED tags by @laemtl in https://github.com/aces/Loris/pull/8236
  • [dashboard] Use user site permissions for dashboard charts by @CamilleBeau in https://github.com/aces/Loris/pull/8132
  • QueryEngine interface by @driusan in https://github.com/aces/Loris/pull/8215
  • [DB schema] UNIQUE Project name by @xlecours in https://github.com/aces/Loris/pull/8243
  • [instrument_builder] ADDED: field warnings for maximum length in Instrument Builder module by @satvik-tha-god in https://github.com/aces/Loris/pull/8112
  • Add PHP 8.2 support, drop 8.0 support by @driusan in https://github.com/aces/Loris/pull/8264
  • [bvl_feedback][dashboard] Add project/site specs to widget by @CamilleBeau in https://github.com/aces/Loris/pull/7848
  • [Core] Allow parallel handling of requests from same session by @driusan in https://github.com/aces/Loris/pull/7445
  • [LorisInstance] add getModule function by @driusan in https://github.com/aces/Loris/pull/8221
  • [dataquery] Define new swagger schema for data query API by @driusan in https://github.com/aces/Loris/pull/8219
  • [new_timepoint] only show null language option when multiple exist by @CamilleBeau in https://github.com/aces/Loris/pull/8253
  • Add CITATION.cff file by @driusan in https://github.com/aces/Loris/pull/7513
  • [candidate_parameters] Add date restriction for consent withdrawal by @zaliqarosli in https://github.com/aces/Loris/pull/8298
  • [Modules] Replace Module->getDataDictionary with Module QueryEngine dictionary. by @driusan in https://github.com/aces/Loris/pull/8260
  • [survey_accounts] Clean up after Email col removed by @zaliqarosli in https://github.com/aces/Loris/pull/8313
  • [mri_violations] Convert module to React and update UI by @driusan in https://github.com/aces/Loris/pull/7473
  • [Instrument] Remove exception from NDBBVLInstrument::factory by @driusan in https://github.com/aces/Loris/pull/8290
  • [core] Remove \Module::factory, update remaining instances to $loris->getModule() by @driusan in https://github.com/aces/Loris/pull/8287
  • [Core] Remove Database::singleton function by @driusan in https://github.com/aces/Loris/pull/8427
  • Make the number of days since last login before making a user inactive a config by @cmadjar in https://github.com/aces/Loris/pull/8416
  • [instruments] Display Candidate Age at Death if postMortem is true by @zaliqarosli in https://github.com/aces/Loris/pull/8362
  • [session] Add date of status change to session table by @CamilleBeau in https://github.com/aces/Loris/pull/8350
  • [candidate_parameters] Allow clearing of consent status by @CamilleBeau in https://github.com/aces/Loris/pull/7772
  • [instruments/instrument_manager] Migrate instrument permissions from config.xml to database by @driusan in https://github.com/aces/Loris/pull/8302
  • [Form.js] Add support for step to NumericElement by @driusan in https://github.com/aces/Loris/pull/8413
  • [Form.js] Add placeholder option for TextareaElement by @driusan in https://github.com/aces/Loris/pull/8412
  • [Form.js] Add DateTimeElement wrapper by @driusan in https://github.com/aces/Loris/pull/8410
  • [Form.js] Add support for vertical Radio button groups by @driusan in https://github.com/aces/Loris/pull/8414
  • [DQT] add delete feature by @kongtiaowang in https://github.com/aces/Loris/pull/8078
  • [jsx/Panel.js] Improved Panel component with optional multiple views by @maltheism in https://github.com/aces/Loris/pull/8299
  • [Issue tracker] change userID to full name by @regisoc in https://github.com/aces/Loris/pull/8451
  • [dashboard/statistics] Reactification by @laemtl in https://github.com/aces/Loris/pull/8476
  • [issue_tracker] Display attachments by @CamilleBeau in https://github.com/aces/Loris/pull/8346
  • [API] Sites endpoint by @xlecours in https://github.com/aces/Loris/pull/7771
  • [EEG] EEG Acquisition form by @regisoc in https://github.com/aces/Loris/pull/8443
  • [Document Repository] Upload multiple files at once by @jeffersoncasimir in https://github.com/aces/Loris/pull/8289
  • [EEG] EEG uploader module by @laemtl in https://github.com/aces/Loris/pull/8409
  • [conflictresolver/candidateprofile] Fix loading of conflict widget by @driusan in https://github.com/aces/Loris/pull/8569
  • [media] changed permision check to media_read to enable media downloads by @KLaFleur in https://github.com/aces/Loris/pull/8671
  • [EEG Browser] Addition of new changes to signal plot of electrophysiology_browser module from EEGNet by @jeffersoncasimir in https://github.com/aces/Loris/pull/8415
  • [Imaging Browser] Fix caveat bug not showing when there are pipeline protocol violations by @cmadjar in https://github.com/aces/Loris/pull/8661
  • [MRI violations] Fix multiple rows for file protocol violations not resolvable by @cmadjar in https://github.com/aces/Loris/pull/8662
  • [candidate] Allow dob format Y-m by @CamilleBeau in https://github.com/aces/Loris/pull/8648
  • [EEG Uploader] Handle Checksum value by @laemtl in https://github.com/aces/Loris/pull/8729
  • [module_manager] Visibility of 'My Preferences' in menu reflects state by @jeffersoncasimir in https://github.com/aces/Loris/pull/8726
  • [new_profile] Fix date requirements and formats with EDC by @charlottesce in https://github.com/aces/Loris/pull/8767
  • [new_profile] DateElement in 'Y-m' Fix by @skarya22 in https://github.com/aces/Loris/pull/8775
  • [Timepoint List] Hide visits that are from user unaffiliated projects by @skarya22 in https://github.com/aces/Loris/pull/8723
  • [data_release] Permission not added to unversioned files if version specified by @charlottesce in https://github.com/aces/Loris/pull/8768
  • [battery_manager] use visit controller to fetch visit list by @ridz1208 in https://github.com/aces/Loris/pull/8485
  • [Core] PSCID uniqueness by @xlecours in https://github.com/aces/Loris/pull/8411

New Contributors

  • @satvik-tha-god made their first contribution in https://github.com/aces/Loris/pull/8146
  • @jeffersoncasimir made their first contribution in https://github.com/aces/Loris/pull/8223
  • @violetwei made their first contribution in https://github.com/aces/Loris/pull/8321
  • @GeorgeMurad made their first contribution in https://github.com/aces/Loris/pull/8278
  • @KLaFleur made their first contribution in https://github.com/aces/Loris/pull/8671
  • @charlottesce made their first contribution in https://github.com/aces/Loris/pull/8720
  • @skarya22 made their first contribution in https://github.com/aces/Loris/pull/8724

Full Changelog: https://github.com/aces/Loris/compare/v24.1.4...v25.0.0

Notes For Existing Projects

  • API: Modified in v0.0.4-dev the candidate instrument data format returned by a GET request or provided as the body of a PUT/PATCH request. The values of all fields are now defined by the Data key instead of $InstrumentName (PR #7857)

Notes For Developers

  • Require jsodc comments to have correct @return and @param values in javascript (PR #8266)
  • Disable ESLint on build (prod instances) (PR #8229)

Upgrade Process

24.1.x to 25

  1. Get the 25.0.0 source code
  2. Source the SQL/Release_patches/24.1_To_25.0_upgrade.sql SQL file into your database.

  3. Run the following scripts:

    1. php tools/configuration_check.php This script is used to validate the configuration of LORIS. It checks configuration settings and server paths to make sure that the application and underlying architecture are set up to allow LORIS to run properly.
    2. php tools/single_use/migrate_instrument_permissions.php This script migrates instrument permissions from the config.xml to the new database tables that now store them.
    3. php tools/single_use/update_violations_resolved_hashes.sql.php This script is intended for a one-time use only to update the hasing of the violationsresolved table. Not doing so will result in duplication of data in the violations_resolved tale when users update a resolution status for a violation._
  4. Run make all from the LORIS root directory.

  5. OPTIONAL: Run any cleanup patches in SQL/Archive/25.0/Cleanup/

  6. OPTIONAL: Remove the <instrumentPermissions> tag from your config.xml which is no longer used after running the migration script.

- PHP
Published by driusan over 2 years ago

loris - LORIS Release v24.1.4

This fixes a variety of bugs found since the v24.1.3 release. In particular,

What's Changed

  • [Issue tracker] - fix can't Delete attachment #8006 by @kongtiaowang in https://github.com/aces/Loris/pull/8337
  • [configuration] Fix error messages & saving with null Alias by @CamilleBeau in https://github.com/aces/Loris/pull/8349
  • [webpack] remove util shortcut as it is unused and causes conflicts by @ridz1208 in https://github.com/aces/Loris/pull/8634
  • [Tools] doubleescapereport tool breaking on non-string values by @ridz1208 in https://github.com/aces/Loris/pull/8484
  • [issue tracker] Populate reporter dropdown (24.1) by @regisoc in https://github.com/aces/Loris/pull/8469
  • [examiner] Column for 'Instrument' in certification menu appears narrow by @miladheshmati in https://github.com/aces/Loris/pull/8453
  • [tools] support JSON instruments in fixcandidateage.php by @CamilleBeau in https://github.com/aces/Loris/pull/8286
  • [bvl_feedback] Fix Permissions for Feedback Summary & Thread List by @suzanne-lee in https://github.com/aces/Loris/pull/7826
  • [new_profile/sex] Remove strtolower() and force uppercase by @ridz1208 in https://github.com/aces/Loris/pull/8633
  • [NDBBVLFeedback] Fixing 500 error on instrument list page by @AlexandraLivadas in https://github.com/aces/Loris/pull/8694
  • [instruments] Fix properly disabling/enabling 'Delete instrument data' button display by @zaliqarosli in https://github.com/aces/Loris/pull/8686
  • [API] Fix accessing instruments that use JSON data in API by @xlecours in https://github.com/aces/Loris/pull/8796, https://github.com/aces/Loris/pull/8801

New Contributors

  • @miladheshmati made their first contribution in https://github.com/aces/Loris/pull/8453

Full Changelog: https://github.com/aces/Loris/compare/v24.1.3...v24.1.4

- PHP
Published by driusan over 2 years ago

loris - LORIS Release v24.1.3

This releases fixes bugs that were discovered since the v24.1.2 release. Most notably: - [issuetracker] Make Comments and History easier to read #8370 - [documentrepository] Fix download path to correct user #8378 - [media] add feedback to dropdown field when is empty #8402 - [imaging_browser] Fix control panel positioning #8424 - [examiner] Remove link to edit examiner if certification is not enabled #8425 - [SQL] Fix 23 Cleanup patches #8430 - [Build] apt deps issue #8431 - [dqt] Fix loading saved query #8436 - [SQL] 24.0.0 release patch fix truncation error #8438 - [Genomic Browser] UserSiteMatch fix #8468 - [SQL] Fix hardcoded parent ID for IssueTrackerDataPath in patches #8475

- PHP
Published by ridz1208 almost 3 years ago

loris - LORIS Release v24.1.2

This releases fixes bugs that were discovered since the v24.1.1 release. Most notably: - [SQL] Reorder release patches for 24.0 release #8390 - [Performance] Do not load module logger from constructor #8200 - Download NIfTI file from imaging browser when a NIfTI file is available in addition to a MINC file #8206 - [behaviouralqc] Fix critical error #8245 - [issue tracker] Email watchers when issue is updated or created #8248 - [core] return error message on invalid dob (rebase 24.1) #8279 - [core] Fix incorrect message/error for instrument access #8284 - [tools] Fix path in recreateconflict #8292 - [issue tracker] Fix emailing bug found in HBCD #8300 - [issuetracker] make assignee drop down not required #8301 - [issue tracker] Fix issue description #8351 - [imaging browser] Fix download of JSON, Bval and Bvec files when they are on s3 #8354 - [imaging browser] Fix Human dangling out of nowhere #8363 - [NDBBVL_Instrument] Add get function to access protected selectMultipleElements #8381 - [CSS/instruments] Fix control panel position when scrolling #8383 - [MRI Violations] Fixes links to BrainBrowser from the MRI violations module #8392 - Update CONTRIBUTING.md #8421

Full Changelog: https://github.com/aces/Loris/compare/v24.1.1...v24.1.2

Upgrade Process from version 23.X.Y to 24.1.2 (amendments)

Note: The instructions below REPLACE the instructions in the release notes of released versions 24.0.0 AND 24.1.0. The instructions in those releases should be disregarded.

23.x.y to 24.0.0

  1. Get the 24.1.2 source code
  2. Source the SQL/Release_patches/23.0_To_24.0_upgrade_A.sql SQL file into your database.
  3. Run the following scripts:
    1. php tools/configuration_check.php This script is used to validate the configuration of LORIS. It checks configuration settings and server paths to make sure that the application and underlying architecture are set up to allow LORIS to run properly.
    2. php tools/single_use/SaveUserIDToInstrumentData.php confirm This script is intended for a one-time use only to restore the value of the UserID column of instrument tables and the UserID key of the instrument JSON Data in the flag table.
    3. php tools/single_use/remove_publication_users_edit_perm_rel_duplicates.php This script deletes duplicate rows in publicationuserseditpermrel to make sure the patch '2020-01-07-publicationuserseditpermrelpk.sql' will execute successfully_
    4. php tools/single_use/Cleanup_Special_Chars_Document_Repository.php This script is written to clean up the files with special characters from the document repository data table as well as clean up the quotes appearing as %22 in the file names in the file system
    5. php tools/single_use/Cleanup_Special_Chars_Media.php This script is written to clean up the files with special characters from the media data table as well as clean up the quotes appearing as %22 in the file names in the file system
    6. php tools/single_use/Remove_duplicate_examiners.php This script is written to clean up duplicate userIDs in the examiners table
  4. Make sure the RegistrationProjectID column in the candidate table of the dataabse does not contain any NULL values. If it does, either assign an existing project to the candidate/scanner or create a new project for these entries before running the release patch (see "Notes for existing projects" for more details).
  5. Source the SQL/Release_patches/23.0_To_24.0_upgrade_B.sql SQL file into your database.
  6. Run the following scripts:
    1. php tools/single_use/populate_visits.php This script populates the visits table based on the config.xml, session table and `VisitWindows` table._
    2. php tools/single_use/Set_Required_elements_completed_flag.php confirm This script is written to migrate the `Dataentrycompletionstatusfield from the instrument table (or Data column of the flag table) to it's own column in the flag table calledRequiredelementscompleted`. Note that this script can take a long time to complete on large projects._
  7. Run make all on the LORIS root directory
  8. OPTIONAL: Source SQL patches from the SQL/Archive/24.0/Cleanup directory at your discretion to remove superfluous or deprecated entries in the database.
  9. OPTIONAL: Run the tools/single_use/Remove_Data_entry_completion_status_instr_column.php PHP script to generate an SQL patch containing all DROP COLUMN statements for the now unused Data_entry_completion_status field in instruments. This script will generate the SQL patch and store it in the SQL/Archive/autogenerated/single_use/ directory under the name Remove_Data_entry_completion_status.sql.
  10. OPTIONAL: Remove the <visitLabel subprojectID="X"> tags in the Config.xml file

**NOTE:* The tools/single_use/SaveUserIDToInstrumentData.php can take several hours up to a day to run depending on the size and age of the databse and number of instruments used*

24.0.0 to 24.1.2

  1. Source the SQL/Release_patches/24.0_To_24.1_upgrade.sql SQL file into your database.
  2. If you have LORIS-MRI installed, make sure to upgrade LORIS-MRI to 24.1.0 since the SQL changes will affect the MRI insertion scripts.

- PHP
Published by ridz1208 almost 3 years ago

loris - LORIS Release v24.1.1

This releases fixes bugs that were discovered since the v24.1.0 release. In particular,

  • [instrument_manager] Fix page load by @driusan in https://github.com/aces/Loris/pull/8183
  • [EEG Browser] Make fix [v24.1] by @laemtl in https://github.com/aces/Loris/pull/8186
  • fix generic_includes for 24.1 by @cmadjar in https://github.com/aces/Loris/pull/8192
  • [RB] fix instrument scoring and alot of whitespaces by @ridz1208 in https://github.com/aces/Loris/pull/8189
  • [Imaging Uploader] Replace 'MINC' string by 'Files' in the imaging uploader column since imaging files created and inserted are not necessarily MINC files anymore by @cmadjar in https://github.com/aces/Loris/pull/8205
  • [SQL] Make release patch compatible with mariadb 10.3 by @ridz1208 in https://github.com/aces/Loris/pull/8225

Full Changelog: https://github.com/aces/Loris/compare/v24.1.0...v24.1.1

- PHP
Published by driusan over 3 years ago

loris - LORIS Release v24.1.0

**Important Note:* The release instructions below may result in an exception caused by a circular dependency. In order to resolve the error we suggest upgrading directly to LORIS version 24.1.2 and running the instructions recommended in that release. All other information in the release note below are still accurate*

LORIS 24.1 (Release Date: 2022-10-05)

Core

Updates and Improvements

  • Addition of PhaseEncodingDirection and EchoNumber columns to the mri_protocol and mri_protocol_violated_scans tables to allow for better discrimination between some MRI sequences.
  • Addition of PhaseEncodingDirection and EchoNumber columns to the files, files_qcstatus and feedback_mri_comments tables to ensure uniqueness keys for specific GE sequences for which the SeriesUID/EchoTime combination is not enough (PR #8152).
  • Addition of image_type, PhaseEncodingDirection and EchoNumber fields to the tables present in the "Could not identify scan" page of the MRI violation module (PR #8156)
  • Modification of the list of headers displayed in the image panel headers table (PR #8157) #### Bug Fixes
  • Bug fix to the imaging uploader so that when clicking on an upload row, the row is highlighted and the proper log is being displayed in the log viewer (PR #8154)
  • Remove SNR label from the image panel of the imaging browser when no SNR values can be found for the image (PR #8155)
  • Add the missing download buttons for BVAL, BVEC and JSON files that comes with BIDS/NIfTI dataset/images. In addition, the "Download MINC" button has been renamed to a more generic label "Download Image" (PR #8159)
  • Fix ConfigurationException bug (PR #8107)
  • Fix PHP fatal error when running the LORIS installation script (PR #8108)
  • Add psr/log to composer (PR #8109)
  • Fixed broken DB calls in assign_missing_instruments and instruments (PR #8162)
  • Add support for PHP 8.1 (PR #7989) ### Modules #### API
  • Ability to use PSCID instead of the CandID in the candidates API (PR #8138)

Upgrade Process

(See https://github.com/aces/Loris/releases/tag/v24.1.2) 1. ~Get the 24.1.0 source code~ 2. ~Source the SQL/Release_patches/24.0_To_24.1_upgrade.sql SQL file into your database.~ 3. ~If you have LORIS-MRI installed, make sure to upgrade LORIS-MRI to 24.1.0 since the SQL changes will affect the MRI insertion scripts.~

- PHP
Published by driusan over 3 years ago

loris - LORIS Release v24.0.3

This release fixes some installation dependencies issues found after 24.0.2 and ass the "file" type to the data dictionary list of types.

  • [instruments] fixes getDataDictionary() not support the 'file' type (#8119)
  • [Composer] fix composer and error (#8115)

It also incorporates the changes from v23.0.12: - [DQT] Fix dictionary builder and dictionary display issues (#8116) - [useraccounts] Revert #2018 - Sanitization before validation of email falsifies validity (#8137) - [useraccounts] Prevent crash when one user has no site/project affiliations (#8139)

- PHP
Published by ridz1208 over 3 years ago

loris - LORIS Release v23.0.12

This release fixes some bugs found in 23.0.11.

For additional information on any of these changes feel free to consult the list below: - [DQT] Fix dictionary builder and dictionary display issues (#8116) - [useraccounts] Revert #2018 - Sanitization before validation of email falsifies validity (#8137) - [useraccounts] Prevent crash when one user has no site/project affiliations (#8139)

- PHP
Published by ridz1208 over 3 years ago

loris - LORIS Release v24.0.2

This release fixes a bug found in v24.0.1 as well as updates some documentation and messages on the user interface. For additional information on any of these changes feel free to consult the list below:

  • [WIKI] datadict trait and version update #8098
  • [canidatelist/timepointlist] Do not filter sites with accessallprofiles permission #8096
  • [timepoint_list] Update error message when no access to timepoints #8095

- PHP
Published by ridz1208 over 3 years ago

loris - LORIS Release v23.0.11

This release fixes mainly known issues with the functionality of LINST instruments. For more detailed changes, visit the link below:

  • [LINST/Instruments] Backporting fixes from 24 + group errors #8091

- PHP
Published by ridz1208 over 3 years ago

loris - LORIS Release v24.0.1

This fixes a problem with compiling the v24.0.0 build in some environments by adding some dependencies so that types can be properly resolved.

- PHP
Published by driusan almost 4 years ago

loris - LORIS Release v24.0.0

**Important Note:* The release instructions below may result in an exception caused by a circular dependency. In order to resolve the error we suggest upgrading directly to LORIS version 24.1.2 and running the instructions recommended in that release. All other information in the release note below are still accurate*

This release contains user interface improvements, code clean up, bug fixes and new features across all modules in LORIS.

Full list of changes

Some of the major changes in this release are:

Core

Features

  • Data tables may now stream data as they're loading rather than waiting until all data has loaded. (PR #6853)
  • Added support for Amazon S3 (PR #7963)
  • Added ability for scripts to bulk load instrument data (PR #6869)
  • New data dictionary framework and module (PR #6936)
  • New classes to describe a data dictionary (PR #6938)

Updates and Improvements

  • Module-specific permissions added for Survey Accounts, Imaging Behavioural Quality Control, and Behavioural Quality Control. (PR #6041)
  • Addition of a new account_request_date in users table that will be used when requesting a new account and will be displayed in the User Accounts module (PR #6191)
  • Candidate's age can be retrieved from the Candidate class in days, months, or years (PR #5945)
  • Addition of autoSelect property to React SelectElement allows for auto-selection of only available select option (PR #6156)
  • An AcquisitionDate field has been added to the files table (PR #6892)
  • Field Data_entry_completion_status given its own column in flag, and renamed to Required_elements_completed (PR #6876)
  • Addition of changeProject and resetProject helper functions to the LorisIntegrationTest class to help test project permissions (PR #6912)
  • Unit tests added for the NDB_BVL_Instrument, NDB_Page, NDB_Factory, User, and UserPermissions libraries (PR #6819, PR #6804, PR #6776, PR #6765)
  • The name of a Standard Date field in a LINST instrument must now end with the string _date. Otherwise, a LORIS exception is thrown. There is no restriction on the naming format of a Basic Date or MonthYear field. (PR #6923)
  • React Form Select Element now has the ability to set an option in the element as a disabled option. (PR #7306)
  • Pending accounts in Dashboard now includes DCC users (PR #7054)
  • Subproject filter added to Behavioural QC module (PR #7430)
  • Addition of date_format as a DataType in ConfigSettings (PR #6719)
  • Addition of new tables to store PET HRRT data (PR #6142)
  • Modification of the parameter_file table's Value field type to longtext (PR #7392)
  • Addition of 4 configuration settings for the minc2bids converter (PR #7488)
  • A PSR3 compatible logging interface was added (PR #7509)
  • Multiple classes of errors flagged by phan are now fixed (multiple PRs)
  • A LorisInstance class was added to represent an installed LORIS instance (PR #6118)
  • Validation for DateElement (JS). (PR #7266)
  • Session Current_stage default value changed for Not Started (PR #7102)
  • Permissions were reorganized and categorized in the user accounts module (PR #7327)
  • The EchoTime field has been added to the following tables: MRICandidateErrors, and mri_violations_log. EchoTime is necessary to distiguish MINC files for multi-echo aquisitions (PR #7515).- The Center_name field in the mri_protocol table has been replaced by CenterID from the psc table. The default value of CenterID is NULL. Previously, the default for Center_name was AAAA or ZZZZ. (PR #7525)

Bug Fixes

  • A LINST instrument Date field name now appears correctly (not truncated) on the instrument if it includes the string _date. (PR #6923)
  • A subtest with only static and/or static score fields (i.e. no values to submit) can be saved with no errors so that the instrument scoring script can be called. (PR #7124)
  • When a superuser edits another user, the labels for each permission is correctly displayed (PR #7451)
  • The imaging insertion pipeline (LORIS-MRI scripts) now starts automatically if you have the imaging uploader auto-launch set to true and your current upload overwrites an existing file (PR #7084).
  • Script CouchDB_MRI_Importer now computes the correct names from the data dictionary entries associated to MRI comments (PR #7082).
  • Candidate library now allows a null sex in the select() function to accommodate scanner candidates. This prevents an error from being thrown in the candidate parameters module. (PR #7058)
  • Fix public pages with missing title (PR #7121)
  • Fix "Go to main page" broken link (PR #7258)
  • Download CSV fix to remove duplicates and entries that partially match the filtering criteria (PR #7242)
  • Partially fix instrument escaping issues by reloading instrument and its data upon successful save (PR #7776)
  • Fix recognition of null sessionID in NDBBVLInstrument (PR #8031)

Modules

API

  • Creation of a new version of the API under development (v0.0.4-dev) (PR #6944)
  • Deletion of support for the oldest version of the API (v0.0.2) (PR #6944)
  • Addition of a PATCH request for /candidates/$CandID/$VisitLabel to start next stage when the payload contains a "Visit" stage with "In Progress" as Status, when the current status of the Visit stage is "Not Started". (PR #7479)
  • Handle characters that must be urlencoded (such as a space) in the API path for visit labels and projects. (PR #7478 & #7463)
  • Markdown API documentation was moved into the module docs directory (PR #6151) #### API Documentation (New Module)
  • New module mostly intended for developers, this module provides a user interface to inspect and try LORIS modules API. #### Behavioural QC
  • Fix a fatal error if the datatable is filtered with "All instruments" (PR #6945)
  • Fix for the Instrument filter to keep track of the selected value (PR #6945) #### BrainBrowser
  • Now uses Loris API to download imaging files (PR #7824) #### Candidate Parameters
  • Consents may now be grouped in UI of consent tab (PR #6042, PR #6044)
  • Fix to prevent titles cut off (PR #6731) #### Candidate Profile
  • New integration test class to test project permissions (PR #6912) #### Configuration
  • Addition of configuration settings for the DICOM to BIDS insertion pipeline (PR #7937)
  • Addition of configuration settings for the MINC to BIDS converter script (PR #7488) #### Conflict Resolver
  • Changes are now saved automatically, one by one. Once a conflict is resolved the cell that contains the input field will glow green. It is possible to change the resolved conflicts to a new value until the page is refreshed. (PR #7558)
  • This module's API is now described in a Open API Specification file (schema.yml) that can be loaded in the new API Documentation module.
  • Change the display of multi select values from "value1{@}value2" to "value1, value2" in the Correct Answer column of Unresolved and Resolved Conflicts. (PR #7239) #### Create timepoint
  • Fix a reindexing of the languages array which caused a database insert error. (PR #7145)
  • Reorganization of the fields on the page to a more logical order, clean up of inefficient code and conditional display of select options based on previous selections (PR #7825) #### Data Dictionary
  • Changed instrument filter to multiselect (PR #7040) #### DQT
  • The dataquery module user interface has been completely redesigned. (PR #6908) #### EEG Browser
  • Signal Visualization, Events and Electrode map (PR #7387)
  • Site/Project/subproject filters only displays entries user has permission for. (PR #7400)
  • Addition of tables in the SQL schema, a filter on the main page of the module, and a download button on the session page to support new annotation features (PR #7345)
  • New integration test class added to this module (PR #6922) #### Genomic Browser
  • CNV/CPG records added for candidates to view and test the CNV and Methylation tabs in the Genomic Browser (PR #6900) #### Help Editor
  • Cleaned up the deprecated column Parent Topic (PR #7025) #### Imaging Uploader
  • Fixed a bug that would prevent the imaging uploader from starting automatically even if you had the imaging uploader auto-launch set to true and your current upload overwrote an existing file (PR #7084)
  • Use Loris API to view files (PR #7816) #### Instrument Builder
  • Fix for error 'Max value must be larger than min value' when clicking 'Add Row'. (PR #6810) #### Instruments
  • General help text added for instrument data entry (PR #6902)
  • Fix to avoid select with required option in group fields to display as multiselect (PR #7254)
  • Fixes to insert JSON instruments (PR #7155) #### Issue Tracker
  • Readability of comments and history was improved. (PR #6138)
  • Update validation to allow NULL Site (For All Sites issues) (#6526)
  • Fixing redirect and error reporting when creating a new issue (PR #7323)
  • Show inactive users in the list of assignees as a disabled option. If the inactive user had already been previously assigned the issue, the disabled option appears but cannot be reselected. Inactive users can no longer be assigned new issues. (PR #7306) #### Login
  • Add option to toggle visibility on password input types. (PR #6210, #7043) #### Media
  • Fix to display the file name when editing a file (PR #7381) #### Publication
  • Display all filterable columns in datatable (#7277)
  • Fix for file deletion (PR #7284) #### User Accounts
  • Fix a false positive validation error when a new LORIS user is added with "Make user name match email address" and "Generate new password". (PR #6803)
  • Fix to allow a superuser to create new users with customizable permissions. (#6770)
  • Indicate required fields (#6617)
  • Fix to show superuser the labels of each permission when editing a user (PR #7451)

Tools

  • Fix fatal errors in delete_candidate.php tool. (PR #6805, #7275)
  • Fix fatal errors in fix_candidate_age.php (PR #7546)
  • New tool generate_candidate_externalids.php to fill external IDs for all candidates where a NULL value is found. (PR #7095)
  • New tool populate_visits.php to back-populate visits from the config.xml, session table and Visit_Windows table into the visit and visit_project_subproject_rel (#7663)
  • Deprecation of the populate_visit_windows.php tool in favour of populate_visits.php (#7663)
  • Fixes a bug in the way that the data dictionary entries associated to MRI comments were named in the CouchDB database (PR #7082).

Clean Up

  • Removal of unused variables and unnecessary branching from getBattery() and getBatteryVerbose() functions (PR #7167)
  • Removal of the violated_scans_edit permission (PR #6747)
  • Removal for the need of the VisitLabel section of the config.xml file. All visit configurations and their association to projects are now in the database. The visits can be removed from the config.xml file after running the populate_visits.php script only. (#7663 & #7729)
  • Removal of references to Reliability module in Raisinbread (PR #6895)
  • Raisinbread visit stage inconsistency changed (PR #6896)
  • HRRT patch sourced to Raisinbread (PR #6897)
  • Improved consistency of RB data: field UploadLocation of table mri_upload now has an appropriate value (PR #7086)
  • The default value of the ScannerID field of the mri_protocol table is now NULL instead of 0. This means that if a protocol is valid on all the study's scanners, then ScannerID of the protocol should be set to NULL (PR #7496)

Notes For Existing Projects

  • The RegistrationProjectID column of the candidate table and the ProjectID column of the session table in the database are no longer nullable. This means that a value must be set in these fields BEFORE running the release SQL patch or it will fail.
  • New function Candidate::getSubjectForMostRecentVisit replaces Utility::getSubprojectIDUsingCandID, adding the ability to determine which subproject a candidate belongs to given their most recent visit.
  • LINST instrument class was modified to implement the getFullName() and getSubtestList() functions thus making entries in the test_names and instrument_subtests tables unnecessary for LINST instruments (PR #7169)
  • The script tools/single_use/remove_publication_users_edit_perm_rel_duplicates.php should be run before upgrading LORIS.
  • The Data_entry_completion_status column of instrument tables has been migrated to its own column in the flag table, and renamed to Required_elements_completed. After script Set_Required_elements_completed_flag.php is run, projects will need to delete the Data_entry_completion_status column of instrument tables. This can be accomplished by running Remove_Data_entry_completion_status_instr_column.php, and then sourcing the patch generated by this script. (PR #6876)
  • If _setDataEntryCompletionStatus, _determineDataEntryCompletionStatus, and/or updateDataEntryCompletionStatus are called in any overrides, make sure to replace all instances with their newly named counterparts, _setRequiredElementsCompletedFlag, _determineRequiredElementsCompletedFlag, updateRequiredElementsCompletedFlag. (PR #6876)
  • Deprecation of begintable and endtable elements in LINST instruments (PR #7183)
  • Deletion of dateTimeFields and monthYearFields variables in instrument class. All references to these variables should be removed from project instruments. (PR #7183)
  • Visit definitions is no longer done in the config.xml. An importer tool (populate_visits.php) is available to import the current setup into the visit table of the database. Make sure the visits displayed after these changes are what you expect. The visits can be removed from the config.xml file after the importer tool is run. (#7663 & #7729)
  • There is a new abstract getDataDictionary() function in the instrument class for the new data dictionary framework. This is already implemented for LINST instruments, and existing instruments using LorisForm can use the \LorisFormDictionaryImpl trait to extract it in the same way as lorisform_parser.php did for the old datadict module.
  • The name of a Standard Date field in a LINST instrument must now end with the string _date. Otherwise, a LORIS exception is thrown. There is no restriction on the naming format of a Basic Date or MonthYear field. (PR #6923)
  • Run tools/single_use/Remove_duplicate_examiners.php to remove duplicate examiners that may have been created before bugfix. Make sure to run this script before running the SQL/New_patches/2021-09-28-Unique_examiners.sql. (PR #7462)
  • Deletion of support for the oldest version of the API (v0.0.2) (PR #6944)
  • Refer to instructions for clean up scripts meant to remove unused data in the SQL/Archive/24.0/Cleanup directory
  • all instruments in the test_names module must have a corresponding instrument on the filesystem for the media module to load
  • the instrument class's static loadInstanceData function has been replaced with a non-static getInstanceData, calls from existing instruments must be updated appropriately.

Notes For Developers

  • PHPCS enabled for tools/ and test/ and must now pass on new PRs (Various PRs)
  • Auto fix PHPCS support added (npm run lintfix:php) (#6825)

Upgrade Process

(See https://github.com/aces/Loris/releases/tag/v24.1.2) Note: the minimum version of PHP is now PHP 7.4 1. ~Get the 24.0.0 source code~ 2. ~Run the following scripts:~ 1. php tools/configuration_check.php This script is used to validate the configuration of LORIS. It checks configuration settings and server paths to make sure that the application and underlying architecture are set up to allow LORIS to run properly. 2. php tools/single_use/SaveUserIDToInstrumentData.php confirm This script is intended for a one-time use only to restore the value of the UserID column of instrument tables and the UserID key of the instrument JSON Data in the flag table. 3. php tools/single_use/remove_publication_users_edit_perm_rel_duplicates.php This script deletes duplicate rows in publicationuserseditpermrel to make sure the patch '2020-01-07-publicationuserseditpermrelpk.sql' will execute successfully_ 4. php tools/single_use/Cleanup_Special_Chars_Document_Repository.php This script is written to clean up the files with special characters from the document repository data table as well as clean up the quotes appearing as %22 in the file names in the file system 5. php tools/single_use/Cleanup_Special_Chars_Media.php This script is written to clean up the files with special characters from the media data table as well as clean up the quotes appearing as %22 in the file names in the file system 6. php tools/single_use/Remove_duplicate_examiners.php This script is written to clean up duplicate userIDs in the examiners table 3. ~Make sure the RegistrationProjectID column in the candidate table of the dataabse does not contain any NULL values. If it does, either assign an existing project to the candidate/scanner or create a new project for these entries before running the release patch (see "Notes for existing projects" for more details).~ 4. ~Source the SQL/Release_patches/23.0_To_24.0_upgrade.sql SQL file into your database.~ 5. ~Run the following scripts:~ 1. php tools/single_use/populate_visits.php This script populates the visits table based on the config.xml, session table and `VisitWindowstable._ 2.php tools/singleuse/SetRequiredelementscompletedflag.php confirm _This script is written to migrate theDataentrycompletionstatusfield from the instrument table (or Data column of the flag table) to it's own column in the flag table calledRequiredelementscompleted. Note that this script can take a long time to complete on large projects._ 6. ~Runmake allon the LORIS root directory~ 7. ~OPTIONAL: Source SQL patches from theSQL/Archive/24.0/Cleanupdirectory at your discretion to remove superfluous or deprecated entries in the database.~ 8. ~OPTIONAL: Run thetools/singleuse/RemoveDataentrycompletionstatusinstrcolumn.phpPHP script to generate an SQL patch containing allDROP COLUMNstatements for the now unusedDataentrycompletionstatusfield in instruments. This script will generate the SQL patch and store it in theSQL/Archive/autogenerated/singleuse/directory under the nameRemoveDataentrycompletion_status.sql.~ 9. ~OPTIONAL: Remove the` tags in the Config.xml file~

**NOTE:* The tools/single_use/SaveUserIDToInstrumentData.php can take several hours up to a day to run depending on the size and age of the databse and number of instruments used*

- PHP
Published by driusan almost 4 years ago

loris - LORIS Release v23.0.10

This release fixes a bug where the examiner dropdown was not including the empty option for instrument data entry, causing the first alphabetical examiner to be selected by default.

For more information see - [NDBBVLInstrument] Add null value to examiner array #7847

- PHP
Published by driusan about 4 years ago

loris - LORIS Release v23.0.9

This release fixes a bug in JSON data instruments saving functionality.

For more information about the bug, navigate to the pull request below: - [NDBBVLInstrument] JSON Data support fix DECS field #7819

- PHP
Published by ridz1208 over 4 years ago

loris - LORIS Release v23.0.8

LORIS Release v23.0.7 was incorrectly tagged from the wrong branch. This tags a new v23.0.8 release with the changes that were supposed to be in v23.0.7. Do not use v23.0.7.

The changes since v23.0.6 are:

What's Changed

  • [LINST] Fixed default date field null error by @ridz1208 in https://github.com/aces/Loris/pull/7559
  • [imaging_browser] Escape the header table in view session page by @driusan in https://github.com/aces/Loris/pull/7552
  • [Ci] Fix Build on v23 branch by @driusan in https://github.com/aces/Loris/pull/7580
  • [Security] Add 2 more Content-Security-Policy options by @driusan in https://github.com/aces/Loris/pull/7579
  • [user_accounts] Use userID to update examiners table by @CamilleBeau in https://github.com/aces/Loris/pull/7462

Full Changelog: https://github.com/aces/Loris/compare/v23.0.6...v23.0.8

- PHP
Published by driusan over 4 years ago

loris - LORIS Release v23.0.7 -- DO NOT USE. SEE v23.0.8.

This release fixes the ability to build LORIS, after a change to npm started causing a linting error. It also fixes some security issues and includes a fix for LINST instruments.

  • [LINST] Fixed default date field null error (#7559)
  • [imaging_browser] Escape the header table in view session page (#7552)
  • [CI] Fix Build on v23 branch (#7580)
  • [Security] Add 2 more Content-Security-Policy options (#7579)

- PHP
Published by driusan over 4 years ago

loris - LORIS Release v23.0.6

This bugfix release includes all bug fixes since the 23.0.5 release.

For a full list of changes follow this link

Noteworthy changes:

[Security] Fix SameSite cookie CSRF protection #7539 [publication] Lead investigator issue when multiple collaborators share the same name or email #7471

- PHP
Published by ridz1208 over 4 years ago

loris - LORIS Release v23.0.5

This bugfix release includes all bug fixes since the 23.0.4 release.

For a full list of changes follow this link

Noteworthy changes: - [Publication] Set Content-Type for ajax responses. This could lead to an XSS attack if a user is tricked into directly accessing an ajax endpoint. The frontend was not directly vulnerable. (#7532) - [Configuration] Fix saving of values when no previous value present (#7507) - [Raisinbread] Fixing help_editor module to display RB instrument instructions (#6907) - [Config] assign user creating project to a newly created project (#7505) - [Filter] Fix Menu Filter logic to use exact match for "Sex" fields (#7498)

- PHP
Published by driusan over 4 years ago

loris - DOI Test Release

This was for the purpose of linking to Zenodo, but not really to be used as a release version for public consumption. Please use a numbered release.

- PHP
Published by samirdas over 4 years ago

loris - LORIS Release v23.0.4

This bugfix release includes all bug fixes since the 23.0.3 release.

For the full list of changes follow this link.

Noteworthy changes: - [surveyaccounts] Remove Email column from SurveyAccountsProvisioner (#7452) - [FilterableDataTable] Fix behaviour of grouped fields with multi-select filters (#7453) - [Instrument] Add support for jsonData instrument in clearInstrument function (#7484) - [Instrument API] expand saving functionality to include Candidate age calculations and scoring (#7485) - [User] Replace GROUPCONCAT with implode to bypass length limitations of group_concat (#7486)

- PHP
Published by ridz1208 over 4 years ago

loris - LORIS Release v23.0.3

This bugfix release includes all changes from the 22.0.4 release as well as some added bugfixes for the 23.0.2 release.

For the full list of changes follow this link.

Noteworthy changes: - [Battery] Add missing instruments to a battery when survey instruments are already populated instead of throwing an error #7163 - [Documentrepository] Fix for contents displayed at root #7233 - [Filters] Fix Query Param Filtering Bug #7245 - [Instrumentbuilder] Fix Date element corruption in LINST files when load/saving #7247 - [Instrument] Fix form freeze for completed instruments #7344

Notes for release: - If upgrading from 23.0.2 to 23.0.3 make sure to run the SQL patch removing the Email column from the participant_accounts table and the corresponding history entries (see #7248 for more details) - The bugfix for populating the userId field of instrument tables (#7252) includes a back population script for all userIDs not saved in the instrument tables since this bug appeared. This script will search through the history log to retrospectively populate the userID field. It's important to note that, depending on the size of your database and history table, the script can take over 15 hours to run.

Caveat for projects: Make sure to run the following scripts in order to remove special characters from links and ensure they are downloadable.

  • tools/singleuse/CleanupSpecialCharsMedia.php (see #7386)
  • tools/singleuse/CleanupSpecialCharsDocument_Repository.php (see #7428)

- PHP
Published by ridz1208 almost 5 years ago

loris - LORIS Release v22.0.4

This incorporated v21.0.7 into the v22 release series in order to remove all traces of email addresses from the survey module.

Updating the code will remove it from the frontend, but users must manually source the patch SQL/Archive/21.0/Cleanup/2020-12-18-Removesurveyemails.sql to remove the data from the backend.

- PHP
Published by driusan about 5 years ago

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.

- PHP
Published by driusan about 5 years ago

loris - 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) [issuetracker] Update validation to allow NULL Site (#6526) [candidateprofile] Only show consent summary card if useConsent is enabled (#6807) [Module Manager] Fix grammar in reload prompt (#6824) [timepointlist] Hiding Candidate Info and View Imaging Datasets buttons when missing permission (#6815) [Statistics / Behavioural] Fix query for project breakdown (#6649) [electrophysiologybrowser] 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) [batterymanager] Allow editing of battery with null CenterID by converting to all CenterIDs (#6858) [Imagingbrowser] Access to view session based on session project instead of candidate project (#6888)

- PHP
Published by driusan over 5 years ago

loris - 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

- PHP
Published by driusan over 5 years ago

loris - 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.

- PHP
Published by driusan over 5 years ago

loris - 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.

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 datarelease and documentrepository 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.

- PHP
Published by ridz1208 over 5 years ago

loris - LORIS Release v22.0.2

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)

- PHP
Published by driusan over 5 years ago

loris - 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 datadictview permission (#5833)
  • [Statistics / Behavioural Statistics] Fix: Users with permissions different from 'accessallprofiles' 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)

- PHP
Published by driusan almost 6 years ago

loris - LORIS Release v21.0.6

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)

- PHP
Published by driusan almost 6 years ago

loris - 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.

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. https://github.com/aces/Loris/pull/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. https://github.com/aces/Loris/pull/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. https://github.com/aces/Loris/pull/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.

- PHP
Published by ridz1208 about 6 years ago

loris - LORIS Release v21.0.5

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

- PHP
Published by ridz1208 about 6 years ago

loris - LORIS Release v21.0.4

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

- PHP
Published by ridz1208 over 6 years ago

loris - LORIS Release v21.0.3

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.

- PHP
Published by driusan over 6 years ago

loris - LORIS Release v21.0.2

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

- PHP
Published by ridz1208 over 6 years ago

loris - LORIS Release v21.0.1

This fixes various bugs found in the v21.0.0 release. In particular, error messages are improved when various configuration values aren't set, and a bug with setting consent values to "No" was fixed.

- PHP
Published by driusan over 6 years ago

loris - LORIS Release v21.0.0

This release contains several bug fixes and user interface improvements as well as a some new features and code clean-up.

It also adds the option to use the haveibeenpwned API to reject compromised passwords. This option defaults to false in order to not add a dependency on a third party service in the default install. Administrators are encouraged to enable it on any production server for increased security.

New Features

  • [Instruments] Add ability to load instrument JSON data from flag Data column (#3894)
  • [MRI] Add tables to the database to support the creation of a BIDS dataset for imaging data (#3912)
  • [Core/Scurity] Add pwned passwords API to prevent common passwords and password reuse (#3961)
  • [Core] Adding CandID Value Object (#4055)
  • [Core] Add SameSite flag to session cookie to prevent CSRF (#4083)
  • [Modules] QC Module (#4223)

Updates and Improvements

  • Reactification of most menu filter pages for better UI
  • [JS] Adding sortByValue for Selects and SearchableSelects (#3952)
  • [SQL] Split mri_protocol range columns into min & max columns (#3973)
  • [UI] Colour and styling makeover (#4007)
  • [JSX] Dicom Archive - Refactor and Clean-Up (#4097)
  • [Raisinbread] Update the dataset and clean-up of the data (#4120)
  • [Instrument Manager] Add specific permission to this module so that superuser isn't necessary (#4191)
  • [jsx] FilterableDataTable UI Redesign (#4203)
  • [Core: Candidate] Improve ID generation (CandID, PSCID, ExternalID) (#4241)

Bug Fixes

  • [Configuration] Prevent config field duplication and remove current duplicates (#3503)
  • [Core: Candidate] Fix getFirstVisit method (#4075)

Clean Up

  • [API] Remove "module API" (#3900)
  • [SQL] Remove PendingStaging from files table (#3569)
  • [SQL] Replace the Gender field with Sex in the candidate table
  • [Core] Add User to hasAccess signature (#3655)
  • [Core] Add type declarations to function signatures (Database, User, Site, Utility, Candidate, SinglepointLogin, Timepoint, BVLFeedbackPanel, NDBCaller, InstrumentSatus, Config, UserPermissions, Project, ProjectDefault, CouchDB, Client, Settings, NDBfactory, BVLFeedbackPanel, NDB_Caller, InstrumentStatus, Config, Notify, State, Enail, Notifier, Breadcrumb, FeedbackMRI, MRIFile, ConflictDetector)
  • [Core] removing deprecated Log class (#3999)
  • [Core] removing deprecated Message class (#3999)
  • [Core] Rename candidate center id to registration center (#4078)
  • [Core] Remove the useProjects config setting (#4496)
  • [Core] Remove checkDate() function from Utility
  • [Core] Remove getNextVisitNo() function from Candidate (#4363)
  • [Core] Cleanup duplicated data config paths (#4314)
  • [JS] Compiled artifacts are no longer commited to the repository (#3891)
  • [JS] StaticDataTable - Replaced loris.hiddenHeaders with this.props.hiddenheaders (#3967)
  • [Database] Make pSelectRow throw error if more than 1 row is returned (#3910)
  • [Tools] Clean-up of tools and move into tools/ subdirectory (Data Dictionary Builder - #4140, Fix Candidate Age - #4141, Score Instruments - #4146)
  • [Instruments] Make getFullName and getSubtestList abstract (#4407)
  • [Training] Remove module (#4535) -

Documentation

  • Add document describing new routing (#3997)

Notes for Existing Projects

  • Several changes in function signatures in library classes require updating any/all overrides done in projects' classes and PHP instruments. Existing instruments must be updated to ensure their signature matches the base class.
  • The functions relating to getting the instrument's full name and getting the instrument's pages have been made abstract and must now be explicitly implemented to return the name string and pages array, rather than retrieving them from the database. The "LegacyInstrumentTrait" trait implements the old behaviour which can be restored by adding use LegacyInstrumentTrait; near the top of an instrument class. (This change is primarily motivated by an issue of cyclic dependencies while installing instruments, so there are no ill effects of using the trait on instruments which are already installed on a LORIS instance.)
  • LORIS API version 0.0.1 was removed. (v0.0.2 is a superset of v0.0.1, so only the URL should have to change in any scripts using the API.)
  • Calls to pSelectRow will fail if more than 1 row is returned from the database. Make sure your select criterias match at most 1 row in the database.
  • The Log and Message library classes have been removed.
  • The following tool scripts' location has been changed and their code cleaned up (Data Dictionary Builder - #4140, Fix Candidate Age - #4141, Score Instruments - #4146).
  • The mincPath and data Config settings have been removed.
  • The checkDate() function has been removed from the Utility class.
  • The getNextVisitNo() function has been removed from the Candidate class.
  • The Training module has been removed.
  • The menu item for the old reliability modle has been removed.
  • The useProjects configuration setting has been removed. Projects are now mandatory, if no projects are defined in the database's Project table, a new default loris project will be created and all candidates will be affiliated with it. If projects are defined in the table before execution of the patches, no changes will occur.

Upgrade Process

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

Your LORIS must be updated to 20.3.0 before beginning this upgrade.

  1. Get the latest release code (download and extract)
  2. Run make from the Loris root directory to update all dependencies.
  3. Source the 20.3_To_21.0_upgrade.sql SQL file into the database
  4. Run the script data_dictionary_cleaner.php from the tools/single_use/ directory and fix reported issues in the database.
  5. Run the script normalize_mri_protocol_range_data.php from the tools/single_use/ directory to populate the new min/max fields in the mri_protocol table of the database.

Strongly Recommended: Security - A bug was discovered in LORIS where passwords could be logged in the history table in plaintext. This data is not exposed directly in the LORIS frontend, but an administrator could view them in the backend, or they could be exposed in the event of a data breach. The script tools/single_use/remove_logged_passwords.php should be run to delete all those logged. The script will expire the password of users who are affected and print a report of which users should be warned along with their email address.

Optional: Upgrades - Instruments JSON Data This release adds support for loading and saving instrument data into the Data column of the flag table rather than dedicated SQL tables (#3894). This change is still considered experimental and should not be used for important data. It can be enabled/disabled using the jsonData property of the instrument class. This feature can be enabled independently on each instrument by following the steps below. - Run the script migrate_sql_to_json.php from the tools/single_use/ directory by specifying the name of the instrument you would like to convert as the first argument. - In the instrument, set the class variable $this->jsonData = true; in the setup() function.

Optional: Cleanup - Check for duplicated configuration items and make sure their values are identical and correct to avoid being left with an incorrect value once duplicates are removed. Remove duplicated configurations using 2018-02-20_remove_duplicate_value_from_Config.sql from the SQL/Archive/21.0/Cleanup directory. - Run the 2018-04-05_RemovePendingStagingFromFiles.sql from the SQL/Archive/21.0/Cleanup directory. - Remove unused field CurrentGUITable by running 2018-11-20-remove_currentGUITable_field.sql from the SQL/Archive/21.0/Cleanup directory. - Remove all references to the Training module by running 2019-05-13-RemoveTraining.sql from the SQL/Archive/21.0/Cleanup directory. - Remove leftover link to the old Reliability module in the menu by running 2019-05-15-Reliability_link.sql from the SQL/Archive/21.0/Cleanup directory.

- PHP
Published by driusan over 6 years ago

loris - LORIS Release v20.3.1

This fixes minor bugs found in v20.3.0 prior to the upcoming v21 release for projects that are not immediately able to upgrade. In particular, it fixes the data querying tool and a bug where you couldn't edit issues in the issue tracker.

- PHP
Published by driusan over 6 years ago

loris - LORIS Release v21.0.0 (Release Candidate 1)

LORIS v21.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 code clean-up.

It also adds the option to use the haveibeenpwned API to reject compromised passwords. This option defaults to false in order to not add a dependency on a third party service in the default install. Administrators are encouraged to enable it on any production server for increased security.

New Features

  • [Instruments] Add ability to load instrument JSON data from flag Data column (#3894)
  • [MRI] Add tables to the database to support the creation of a BIDS dataset for imaging data (#3912)
  • [Core/Scurity] Add pwned passwords API to prevent common passwords and password reuse (#3961)
  • [Core] Adding CandID Value Object (#4055)
  • [Core] Add SameSite flag to session cookie to prevent CSRF (#4083)
  • [Modules] QC Module (#4223)

Updates and Improvements

  • Reactification of most menu filter pages for better UI
  • [JS] Adding sortByValue for Selects and SearchableSelects (#3952)
  • [SQL] Split mri_protocol range columns into min & max columns (#3973)
  • [UI] Colour and styling makeover (#4007)
  • [JSX] Dicom Archive - Refactor and Clean-Up (#4097)
  • [Raisinbread] Update the dataset and clean-up of the data (#4120)
  • [Instrument Manager] Add specific permission to this module so that superuser isn't necessary (#4191)
  • [jsx] FilterableDataTable UI Redesign (#4203)
  • [Core: Candidate] Improve ID generation (CandID, PSCID, ExternalID) (#4241)

Bug Fixes

  • [Configuration] Prevent config field duplication and remove current duplicates (#3503)
  • [Core: Candidate] Fix getFirstVisit method (#4075)

Clean Up

  • [API] Remove "module API" (#3900)
  • [SQL] Remove PendingStaging from files table (#3569)
  • [SQL] Replace the Gender field with Sex in the candidate table
  • [Core] Add User to hasAccess signature (#3655)
  • [Core] Add type declarations to function signatures (Database, User, Site, Utility, Candidate, SinglepointLogin, Timepoint, BVLFeedbackPanel, NDBCaller, InstrumentSatus, Config, UserPermissions, Project, ProjectDefault, CouchDB, Client, Settings, NDBfactory, BVLFeedbackPanel, NDB_Caller, InstrumentStatus, Config, Notify, State, Enail, Notifier, Breadcrumb, FeedbackMRI, MRIFile, ConflictDetector)
  • [Core] removing deprecated Log class (#3999)
  • [Core] removing deprecated Message class (#3999)
  • [Core] Rename candidate center id to registration center (#4078)
  • [Core] Remove the useProjects config setting (#4496)
  • [Core] Remove checkDate() function from Utility
  • [Core] Remove getNextVisitNo() function from Candidate (#4363)
  • [Core] Cleanup duplicated data config paths (#4314)
  • [JS] Compiled artifacts are no longer commited to the repository (#3891)
  • [JS] StaticDataTable - Replaced loris.hiddenHeaders with this.props.hiddenheaders (#3967)
  • [Database] Make pSelectRow throw error if more than 1 row is returned (#3910)
  • [Tools] Clean-up of tools and move into tools/ subdirectory (Data Dictionary Builder - #4140, Fix Candidate Age - #4141, Score Instruments - #4146)
  • [Instruments] Make getFullName and getSubtestList abstract (#4407)
  • [Training] Remove module (#4535) -

Documentation

  • Add document describing new routing (#3997)

Notes for Existing Projects

  • Several changes in function signatures in library classes require updating any/all overrides done in projects' classes and PHP instruments.
  • The functions relating to getting the instrument's full name and getting the instrument's pages have been made abstract and must now be explicitly implemented to return the name string and pages array, rather than retrieving them from the database. The "LegacyInstrumentTrait" trait implements the old behaviour which can be restored by adding use LegacyInstrumentTrait; near the top of an instrument class. (This change is primarily motivated by an issue of cyclic dependencies while installing instruments, so there are no ill effects of using the trait on instruments which are already installed on a LORIS instance.)
  • LORIS API version 0.0.1 was removed.
  • Calls to pSelectRow will fail if more than 1 row is returned from the database. Make sure your select criterias match at most 1 row in the database.
  • The Log and Message library classes have been removed.
  • The following tool scripts' location has been changed and their code cleaned up (Data Dictionary Builder - #4140, Fix Candidate Age - #4141, Score Instruments - #4146).
  • The mincPath and data Config settings have been removed.
  • The checkDate() function has been removed from the Utility class.
  • The getNextVisitNo() function has been removed from the Candidate class.
  • The Training module has been removed.
  • The menu item for the old reliability modle has been removed.
  • The useProjects configuration setting has been removed. Projects are now mandatory, if no projects are defined in the database's Project table, a new default loris project will be created and all candidates will be affiliated with it. If projects are defined in the table before execution of the patches, no changes will occur.

Upgrade Process

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

Your LORIS must be updated to 20.3.0 before beginning this upgrade.

  1. Get the latest release code (download and extract)
  2. Run make from the Loris root directory to update all dependencies.
  3. Source the 20.3_To_21.0_upgrade.sql SQL file into the database
  4. Run the script data_dictionary_cleaner.php from the tools/single_use/ directory and fix reported issues in the database.
  5. Run the script normalize_mri_protocol_range_data.php from the tools/single_use/ directory to populate the new min/max fields in the mri_protocol table of the database.

Optional: Upgrades - Instruments JSON Data This release adds support for loading and saving instrument data into the Data column of the flag table rather than dedicated SQL tables (#3894). This change is still considered experimental and should not be used for important data. It can be enabled/disabled using the jsonData property of the instrument class. This feature can be enabled independently on each instrument by following the steps below. - Run the script migrate_sql_to_json.php from the tools/single_use/ directory by specifying the name of the instrument you would like to convert as the first argument. - In the instrument, set the class variable $this->jsonData = true; in the setup() function.

Optional: Cleanup - Check for duplicated configuration items and make sure their values are identical and correct to avoid being left with an incorrect value once duplicates are removed. Remove duplicated configurations using 2018-02-20_remove_duplicate_value_from_Config.sql from the SQL/Archive/21.0/Cleanup directory. - Run the 2018-04-05_RemovePendingStagingFromFiles.sql from the SQL/Archive/21.0/Cleanup directory. - Remove unused field CurrentGUITable by running 2018-11-20-remove_currentGUITable_field.sql from the SQL/Archive/21.0/Cleanup directory. - Remove all references to the Training module by running 2019-05-13-RemoveTraining.sql from the SQL/Archive/21.0/Cleanup directory. - Remove leftover link to the old Reliability module in the menu by running 2019-05-15-Reliability_link.sql from the SQL/Archive/21.0/Cleanup directory.

- PHP
Published by ridz1208 over 6 years ago

loris - LORIS Release v20.3.0

This release of fixes bugs, adds new permissions, and does various cleanup to different LORIS modules. For a complete list of features see here.

New Features

  • [Publication] Add new Publication module (Beta version) #3695
  • [login/security] Add rate-limiting account lockout mechanism #3950
  • [Candidate_parameters] Improving front-end validation for entering Consent data #4034
  • [API] Updating summary header to add scanner information and image caveat flag and flag reason. #4077
  • [Configuration] Adding configuration fields needed for imaging defacing tool #4232

Bug Fixes

  • [Config / Imaging] Update default phantom regex configuration #3987
  • [Brainbrowser] Clean up module after fixing paths in violation tables #4347
  • [SinglePointLogin] Fix passwordAuthenticate method #4356

Notes for Existing Projects

  • For Imaging projects, review carefully the Loris-MRI 20.3 release notes - several key changes and features are included in this release

Upgrade process

  1. Update the code
  2. Source the SQL patch:
  3. SQL/Release_patches/20.2_To_20.3_upgrade.sql

Known issues

  • [Issue Tracker] Inability to edit an existing issue. Will be solved in the next bugfix release (https://github.com/aces/Loris/pull/4454)

- PHP
Published by ridz1208 almost 7 years ago

loris - LORIS Release v20.2.1

This release fixes bugs found since the 20.2.0 release.

  • [composer] ext-json is missing in composer.json #4339
  • [Login] Fix issue where password reset emails were not sent #4362
  • [new_profile] Prevent duplication when button is clicked repetitively #4364
  • [Imaging Uploader] Use Utility::getMaxUploadSize() instead of ini_get #4367
  • [Documentation] Fixed the link to codingstandards.md in Contributing.md #4370
  • [Login: Request Account] Fixing 500 Error that arises due to email/username discrepancy #4372
  • [tool/Innodb converter] Change + to array_merge() to force reindexing #4398
  • [Imaging] Fixed MRI uploader with auto-launch turned on #4400

- PHP
Published by ridz1208 almost 7 years ago

loris - LORIS Release v20.2.0

This release of fixes bugs, adds new permissions, and does various cleanup to different LORIS modules. For a complete list of features see here.

New Features

  • [Data Release] New permissions, cleanup and batch permission assignment (#3062)
  • [Login] Log bad password attempts (#3949)
  • [Data Release] Two new permissions added to this module (#4280)

Bug Fixes

  • [API] Fix bugs accessing /login and /projects/ endpoints (#4101)
  • [MediaUpload] Restrict file upload to candidate who has visited user's site (#4084)
  • [Data Dictionary] Fix multi-select filtering (#3922)
  • [MRI Violations] Fix duplication of MRI violations when multiple subprojects per candidate (#3860)
  • [Media] Restrict file upload to candidate who has visited user's site (#4084)

Notes

  • This release contains much general clean-up and Reactification of the code, as well as re-factoring javascript in some modules to use ES6 standards.

Upgrade process

  1. Update the code
  2. Source the SQL patch:
  3. SQL/Release_patches/20.1_To_20.2_upgrade.sql

Known issues

  • [Media] "Please fill all required fields" error (Issue #4287)
  • [Issue Tracker] Wrong redirection when trying to edit an issue (Issue #4288)

- PHP
Published by ridz1208 about 7 years ago

loris - LORIS Release v20.1.2

This release fixes two bugs found in the v20.1.1 release. In particular:

  • [instrumentlist] A bug that could prevent users from accessing the instrumentlist page is fixed (#4193)
  • [SQL] A typo in one of the optional SQL cleanup patches is fixed (#4205)

- PHP
Published by driusan about 7 years ago

loris - LORIS Release v20.1.1

This release fixes bugs found since the 20.1.0 release and creates the release SQL patches omitted in the 20.1.0 release.

  • [Imaging Uploader] Prevent duplicate insertions #4024
  • [Feedback MRI Popup] Don't call functions that don't exist! #4092
  • [Statistics] Fix PHP Notices on Imaging Statistics #4129
  • [Core: Utility] Add code comment on calculateAge() #4137
  • [Configuration] Clarify warning when creating new subprojects #4152
  • [ImgBrowser, DicomArchive] Prepend PatientName to DICOM download filename #4157
  • [Core: Middleware] Restore 403 page to its former beauty #4166

Due to the change in the SQL patches, the new release procedure becomes: 1. Update your code 2. Source the SQL release patch SQL/Release_patches/20.0_To_20.1_upgrade.sql 3. [Optional] Source the clean-up patch SQL/Archive/20.1/Cleanup/2018-08-20_remove_duplicate_incoming_path_from_config_tables.sql

- PHP
Published by ridz1208 about 7 years ago

loris - LORIS Release v20.1.0

This release of LORIS cleans up PHP notices and security fixes and improves parts of the documentation. In addition to that, it adds a few new features. For a complete list of features see here

New Features

  • [Core: Login, User Accounts] Allow certain users to access the system in a time window basis (either accounts that don't activate until the future, or accounts that expire.)
  • [Imaging Uploader] Validate filename in front-end before attempting upload.

New Development Features

  • [React] Added loader component to standardize loading messages
  • [Database ] Added On Duplicate Update Function to Database Class

Deprecations

  • [tools] The excelDump script was moved into the tools/deprecated/excelDump as it depended on an old and deprecated library which is no longer maintained.

Upgrade process:

  1. Update the code
  2. Source the SQL files:
  3. SQL/Newpatches/2018-08-22user_activeFrom-activeTo.sql
  4. SQL/Newpatches/2018-08-20relabellingMRI-UploadDirectorytoMRIincomingDirectory.sql
  5. SQL/Newpatches/2018-08-16makeconfiglookupcenteradropdown.sql

(Note this release was accidentally published on GitHub before the concatenated patch was ready. A v20.1.1 bugfix release should simplify the upgrade.)

- PHP
Published by driusan about 7 years ago

loris - LORIS Release v20.0.2

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

  • [Upgrade Tools] Fix a bug in the DBdatezeros_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.

- PHP
Published by driusan over 7 years ago

loris - LORIS Release v20.0.1

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)

- PHP
Published by driusan over 7 years ago

loris - LORIS Release v20.0.0

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

  • Apache version >=2.3 is now required due to the usage of the END flag

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

- PHP
Published by christinerogers over 7 years ago

loris - LORIS Release 19.1.2

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.

- PHP
Published by ridz1208 over 7 years ago

loris - LORIS Release 19.1.1

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

- PHP
Published by driusan over 7 years ago

loris - LORIS Release 19.1

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

- PHP
Published by driusan almost 8 years ago

loris - LORIS Release 19.0.2

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.

- PHP
Published by driusan almost 8 years ago

loris - LORIS Release 19.0.1

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

- PHP
Published by driusan almost 8 years ago

loris - LORIS Release 19.0.0

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

- PHP
Published by driusan about 8 years ago

loris - LORIS Release v18.0.5

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)

- PHP
Published by driusan about 8 years ago

loris - LORIS Release v18.0.4

This fixes 2 minor bugs which were discovered since the v18.0.3 release. Namely:

  • [user_accounts] There was a bug causing examiners with a "0" in their ID to not be considered valid. This is fixed. (#3242)
  • [issue_tracker] PHP notices were causing warnings to be printed in the issue tracker ajax calls, causing the frontend to think issue creation failed with some combinations of php.ini settings. These notices are fixed. (#3241)

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v18.0.3

This addresses bugs that have been discovered since the 18.0.2 release of LORIS. In particular, the following bugs are addressed:

  • [tools] Fixed a bug DBdatezeros_removal.php script used for upgrading (#3195)
  • [createtimepoint,newprofile] Improved site validation on form (#3210)
  • [Core] Fixed user that User::singleton() returns for command line scripts (#3212)
  • [MRI Violations] Fix Site Filter for projects with more than 9 sites(#3222)

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v18.0.2

This release clears the backlog of minor bug fixes that didn't make it in to the LORIS v18.0.0 release, or were discovered after release. Future bug fix releases will happen on an as-needed basis.

The full list of changes are as follows: - [Core] Fix issues when user logs in by typing their username in a different case than is stored in the database (#3178) - [Instruments] Fix saving of instruments where the column name is a number (#3179) - [Instrument List] Fix the CenterID access check in the instrument list module. (#3182) - [Instruments] Fix bug where "0" was refused as a value in required fields. (#3180) - [Dashboard] Fix convert array to string error in dashboard (#3149) - [DQT] Fixed a bug where the CouchDB MRI Import script was failing with strict MySQL settings (#3131) - [Imaging Uploader] Prevent upload duplication when the same file is uploaded twice. - [Heroku Install] Fixed Heroku postdeploy password generation (#3171) - Update VERSION file

Known Issues: - Running 18.0 Upgrade Process PHP scripts as well as other tools/* commandline scripts may generate notices/error messages; this NDB_Client issue is addressed in upcoming bugfixes (e.g. #3212)

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v18.0.1

This bugfix release fixes minor issues that weren't fixed in time for the LORIS v18.0.0 release, or that were discovered since.

The next bugfix release is scheduled for October 20, 2017.

The full list of fixes in v18.0.1 are as follows: - Properly escape table and column names in upgrade script (#3168) - The instrument setup() function now matches its parent, fixing PHP warnings (#2916) - Post data is re-sent, rather than discarded after a redirect (#2941) - The UI should say username, not email on the reset-password page (#3042) - Improve entropy in temporary password generation (#3045) - Fixed MRI Protocol Show/Hide links (#3057) - Fixed Excel Dumps URL rewrites (#2978) - Fixed empty result in getMaxThreadStatus for NDBBVLFeedback (#3141) - Fixed "Please click here to go back" link RM13189 in imaging uploader - Declare User::isPasswordStrong to be a static function, fixing some PHP warnings (#3169) - Added slashes at the end of account links on login screen, which prevents an unnecessary redirect (#3176)

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v18.0.0

LORIS v18.0 is the next major release of LORIS. It adds the ability for users and examiners to be affiliated with multiple sites, as well as adding 433 other bug fixes and minor changes.

New Features

  • [Core] Users and Examiners may be affiliated with more than one site. Note that a multi-site user will hold the same level of privilege on data across all affiliated sites, and cannot yet create new candidates/visits via API.
  • [Imaging Browser] A new Config module setting called "tblScanTypes" defines which modalities should have quality control performed. In the Imaging Browser, the "T1 Done" and "T2 Done" columns are now customizable to any set of modalities using this Config setting, and the "New Data" column shows only new scans from these designated modalities.
  • [LorisForm] Readonly elements and Radio button support added in PHP-coded instrument forms

Updates and Improvements

  • [Media] File names that are uploaded must now be unique.
  • [BrainBrowser] The version of BrainBrowser included in LORIS is upgraded, which should fix issues loading scans from certain scanners but be otherwise unnoticeable.
  • [Login] Captchas are improved by changing them to use the google reCAPTCHA service rather than a custom implementation

Notes for Existing Projects

  • [API] The v0.0.1 is now deprecated and will be removed in a future release. v0.0.1 is a proper subset of v0.0.2, so upgrading should be transparent and only require changing "1" to "2" in any calls to the API.
  • [Security] The old (unused) Password_MD5 column is removed. LORIS has used PHP's more secure password API for a number of releases, but the column remained so that existing users could still login (and the password hash would be upgraded upon login). The insecure hashes are now completely removed. As a result, passwords can no longer be reset via the MySQL commandline -- instead, run the new tools/resetpassword.php script, or have the user click the "Forgot your password" link.
  • [Radiological Review] The Final Radiological Review module was removed, as it was only used by a single LORIS project and not sufficiently generic to be used by others. If you were using it and need access to it, please contact the loris-dev mailing list for help on how to install it into your project/ directory.
  • [Config] In the config.xml file, the <database> subtag of CouchDB was renamed to <dbName> to avoid conflicts with the MySQL database config setting. If you have CouchDB setup in your config.xml, you'll need to rename this tag.
  • [Core] Caveat re multi-site User feature: users have the same level of privilege across all sites. E.g. a user who hold Edit/modify privileges (for the purpose of one site) will also be able to modify all affiliated sites' data.

Upgrade Process

Unfortunately, due to changes in constraints in the database schema upgrading this version of LORIS is a multistep process. After updating the code, you must:

  1. Source the SQL file SQL/Release_patches/17.0_To_18.0_upgrade_A.sql
  2. Run the script php tools/DB_date_zeros_removal.php to remove invalid dates in MySQL.
  3. Run the script php tools/populate_examiners_psc_rel.php to populate the new multisite examiners table with existing examiners.
  4. Source the SQL file SQL/Archive/18.0/2016-06-01-update_zero_fields_statements.sql to add constraints on the tables modified by the script in step 2.
  5. Source the rest of the schema changes in the file SQL/Release_patches/17.0_To_18.0_upgrade_B.sql
  6. Review the file SQL/Archive/18.0/clean-up/Clean_up_patch.sql which removes and cleans up various columns after backing up any data in those tables.
  7. Run composer install --no-dev from the LORIS directory to update any LORIS PHP dependencies.

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v18.0.0 (Release Candidate 3)

This release candidate fixes a variety of bugs on the user_accounts page, related to changes to examiners in 18.0 that were discovered in RC2.

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v18.0.0 (Release Candidate 2)

This release candidate fixes a few issues found in LORIS 18.0.0rc1. In addition to the notes from RC1, it has the following changes:

  • The SQL patch included some changes from a hardcoded database. These are fixed.
  • The executable bit was set wrong on a number of files. These are fixed.
  • The upgrade instructions for the examiner fix are clarified slightly (by removing some duplicate instructions which are done automatically in a later script.)
  • If filters were set on a different page and then you accessed the imaging uploader, the imaging uploader would maintain the filters with no way to reset/remove them. The imaging uploader now automatically resets server-side filters when accessed.
  • A CenterID column in the Reliability class which was updated to reflect the new multi-site changes (which was missed before the first RC)
  • The Dashboard now shows the issue tracker widget if the user has only the issuetrackerdeveloper permission.

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v18.0.0 (Release Candidate 1)

LORIS v18.0 is the next major release of LORIS. It adds the ability for users and examiners to be affiliated with multiple sites, as well as adding 433 other bug fixes and minor changes.

New Features

  • [Core] Users and Examiners may be affiliated with more than one site.
  • [Imaging Browser] A new Config module setting called "tblScanTypes" defines which modalities should have quality control performed. In the Imaging Browser, the "T1 Done" and "T2 Done" columns are now customizable to any set of modalities using this Config setting, and the "New Data" column shows only new scans from these designated modalities.
  • [LorisForm] Readonly elements and Radio button support added in PHP-coded instrument forms

Updates and Improvements

  • [Media] File names that are uploaded must now be unique.
  • [BrainBrowser] The version of BrainBrowser included in LORIS is upgraded, which should fix issues loading scans from certain scanners but be otherwise unnoticeable.
  • [Login] Captchas are improved by changing them to use the google reCAPTCHA service rather than a custom implementation

Notes for Existing Projects

  • [API] The v0.0.1 is now deprecated and will be removed in a future release. v0.0.1 is a proper subset of v0.0.2, so upgrading should be transparent and only require changing "1" to "2" in any calls to the API.
  • [Security] The old (unused) Password_MD5 column is removed. LORIS has used PHP's more secure password API for a number of releases, but the column remained so that existing users could still login (and the password hash would be upgraded upon login). The insecure hashes are now completely removed. As a result, passwords can no longer be reset via the MySQL commandline -- instead, run the new tools/resetpassword.php script, or have the user click the "Forgot your password" link.
  • [Radiological Review] The Final Radiological Review module was removed, as it was only used by a single LORIS project and not sufficiently generic to be used by others. If you were using it and need access to it, please contact the loris-dev mailing list for help on how to install it into your project/ directory.
  • [Config] In the config.xml file, the <database> subtag of CouchDB was renamed to <dbName> to avoid conflicts with the MySQL database config setting. If you have CouchDB setup in your config.xml, you'll need to rename this tag.

Upgrade Process

Unfortunately, due to changes in constraints in the database schema upgrading this version of LORIS is a multistep process. After updating the code, you must:

  1. Source the SQL file SQL/Release_patches/17.0_To_18.0_upgrade_A.sql
  2. Run the script php tools/DB_date_zeros_removal.php to remove invalid dates in MySQL.
  3. Run the script php tools/populate_examiners_psc_rel.php to populate the new multisite examiners table with existing examiners.
  4. Source the SQL file SQL/Archive/18.0/2016-06-01-update_zero_fields_statements.sql to add constraints on the tables modified by the script in step 2.
  5. Source the rest of the schema changes in the file SQL/Release_patches/17.0_To_18.0_upgrade_B.sql
  6. Review the file SQL/Archive/18.0/clean-up/Clean_up_patch.sql which removes and cleans up various columns after backing up any data in those tables.

Known Issues / Beta Features

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v17.0.6

This fixes some bugs found since the LORIS v17.0.5 release. In particular:

  • "required" rules were not working on multiselect elements in LorisForm. This is fixed.
  • 2 more security issues are now fixed
  • the ability to create candidates using the API was fixed for projects which do not use EDC. (The API was previously requiring the EDC be submitted even for post-natal research projects.)
  • the VERSION should now be correctly updated. (v17.0.5 incorrectly labeled itself v17.0.4.)

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v17.0.5

This release fixes bugs found since v17.0.4 was released. Users of LORIS v17.0.x are strongly encouraged to upgrade in order to receive the two security fixes (and 3 other minor bug fixes) described below.

LORIS instances which have a JWTKey setting which does not meet the new key strength requirement checks will need to change their JWTKey setting in the configuration module in order to use the API. (The new requirements are similar to the LORIS password requirements, except must also be at least 20 characters long since it's never directly entered by a user.)

Changes

  • The check which verifies that a user is not downloading a file that they shouldn't have access to in get_file.php proved to be insufficient. It now performs an extra check.
  • A check of key strength is added to the JWT tokens used for the API. (This JWT key is randomly generated by the LORIS installer, but older projects which upgraded LORIS may not have updated their keys to a secure key, so weak keys are ignored in order to ensure that upgraded LORIS instances don't have the default key.)
  • A bug in an SQL query in the examiner module with MySQL 5.7 regarding the onlyfullgroupby setting has been fixed.
  • A bug causing Date_taken to not be properly resolved in the conflict resolver has been fixed.
  • The conflict resolver now shows Examiner's full name, rather than their ID, to make it easier to resolve data entry conflicts in examiner.

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v17.0.4

This fixes a few minor bugs found since the v17.0.3 release. In particular:

  • Required fields were not working properly if a user submitted the value "0"
  • A bug was fixed preventing visits from being created in the API as documented
  • Some changes were made to the DQT import scripts which should prevent unnecessary rebuilds and speed up the import process of large data sets

- PHP
Published by driusan over 8 years ago

loris - LORIS Release v17.0.3

This release fixes two security holes introduced in features added in the LORIS v17.0.0 including a remote code execution exploit in one of the brainbrowser ajax scripts. Some minor bug fixes found since v17.0.2 are also incorporated.

All users of the LORIS 17.0 branch are strongly urged to upgrade immediately.

- PHP
Published by driusan almost 9 years ago

loris - LORIS Release v17.0.2

This release addresses various minor issues with LORIS 17.0.1.

Notably, it:

  • Fixes an error in LorisForm where some dates weren't correctly being disabled when
  • Fixes some bugs with MySQL 5.7
  • Fixes a bug where downloading CSVs would break if the CSV had numeric values
  • Improves date validation
  • Fixes various problems with the data query module
  • Fixes a bug where the consent module would not work if only one type of consent was specified.

- PHP
Published by driusan almost 9 years ago

loris - LORIS Release v17.0.1

This release addresses various minor issues with LORIS 17.0.0.

In particular, minor bugs with LorisForm affecting some instruments were fixed, as well as bug fixes to the imaging browser, examiner module, and statistics module.

Anyone using LORIS 17.0.1 should upgrade to this release.

See here for a complete list of changes.

- PHP
Published by driusan about 9 years ago

loris - LORIS Release v17.0.0

Full list of changes

Only PHP 7 and MySQL 5.7 are supported for Loris 17.0.

New Features

  • LorisForm replaces QuickForm (wiki)
  • Issue Tracker module for reporting and following up on bugs and data issues
  • MRI scans that have failed protocol checks are now viewable in BrainBrowser #2219
  • drop-down Help text can be written as a markdown file, instead of stored in a database table, for new-style modules #2196
  • Add extensions to Content-Security Policy for user-hosted content via the Config module #2204
  • Examiners can be added based on User Accounts #2190
  • Caveat added at the visit level for Imaging data #2135

Install Process

  • Web-based Install tool now covers many steps of the install process
  • New Vagrantfile to quickly deploy LORIS #2164

Updates and Improvements

  • Candidate Information (Candidate Parameters) module re-designed
  • Improved messaging for Imaging Uploader and Insertion process
  • Visit labels should not contain underscores, for imaging insertion purposes
  • Genomic Browser new progress bar for file upload #2231
  • project override issue resolved #2187
  • Better distinction between human and phantom scans (#2189)
  • For projects using the imaging uploader's auto-launch insertion feature, log files are deleted only if insertion was successful #2252
  • Final Radiological Review module shows whether T1 was successfully loaded in Loris #2175
  • Various UI improvements, cleanup, and bug fixes
  • Media module only shows data from user site by default #2469

Notes for Existing Projects

Follow steps for Updating your LORIS

Be sure to apply Release Patches since your last update, in release order -- including patches from all minor releases. Note that create temporary tables mysql permission is required to run this patch - Visit labels should not contain underscores, for imaging insertion purposes - PHP 7 and MySQL 5.7 are supported for Loris 17.0. Timestamp fields in custom tables may require updating for MySQL 5.7 (#2222) Deprecated PHP 5* functions updated (#2370) - Update all PHP QuickForm instruments, since HTML QuickForm is now replaced by LorisForm. No other code, configurations, templates, tables or data will be affected or require adjustment. - If your dashboard loads but no other modules load, ensure that your /var/apache2/apache2.conf file is set to AllowOverride All in the section <Directory /var/www/> to enable re-write rules (based on htdocs/.htaccess file) - If clicking Save or Submit form buttons generates and error, check the Configuration module and ensure the url (WWW section) is set to your host. (Loris 16.0 instructions may have recommended that you set this to the empty string) *For projects upgrading to 5.7, see PR #2444 for script to remove zero dates.

Known Issues / Beta features

  • Issue Tracker module Beta features include: Watching (email notifications for users), and association of subjectID and timepoints with an issue

- PHP
Published by samirdas about 9 years ago

loris - LORIS Release v16.1.3

This fixes some bugs with filters in the Data Query Tool in Loris 16.1.2. Other modules are unaffected. - Fixes bug where adding filters returned no data. - Adds user feedback that data is loading. - Fixes bug with downloading files sometimes not working. - Optimizes the time it takes to run queries. It was previously re-requesting the same data more times than it needed to.

Current users of 16.1.2 should upgrade to this release, as changes should be minimal.

- PHP
Published by driusan about 9 years ago

loris - LORIS Release v16.1.2

This release fixes a recently discovered security vulnerability, where AJAX scripts could return data to users who are not logged in.

Users of 16.* are strongly encouraged to upgrade immediately.

- PHP
Published by driusan over 9 years ago

loris - LORIS Release v17.0.0 (Release Candidate 1)

Full list of changes

Only PHP 7 and MySQL 5.7 are supported for Loris 17.0.

New Features

  • LorisForm replaces QuickForm (wiki)
  • Issue Tracker module for reporting and following up on bugs and data issues
  • MRI scans that have failed protocol checks are now viewable in BrainBrowser #2219
  • drop-down Help text can be written as a markdown file, instead of stored in a database table, for new-style modules #2196
  • Add extensions to Content-Security Policy for user-hosted content via the Config module #2204
  • Examiners can be added based on User Accounts #2190
  • Caveat added at the visit level for Imaging data #2135

Install Process

  • Web-based Install tool now covers many steps of the install process
  • New Vagrantfile to quickly deploy LORIS #2164

Updates and Improvements

  • Candidate Information (Candidate Parameters) module re-designed
  • Improved messaging for Imaging Uploader and Insertion process
  • Visit labels should not contain underscores, for imaging insertion purposes
  • Genomic Browser new progress bar for file upload #2231
  • project override issue resolved #2187
  • Better distinction between human and phantom scans (#2189)
  • For projects using the imaging uploader's auto-launch insertion feature, log files are deleted only if insertion was successful #2252
  • Final Radiological Review module shows whether T1 was successfully loaded in Loris #2175
  • Various UI improvements, cleanup, and bug fixes

Notes for Existing Projects

Follow steps for Updating your LORIS

Be sure to apply Release Patches since your last update, in release order -- including patches from all minor releases. Note that create temporary tables mysql permission is required to run this patch - Visit labels should not contain underscores, for imaging insertion purposes - PHP 7 and MySQL 5.7 are supported for Loris 17.0. Timestamp fields in custom tables may require updating for MySQL 5.7 (#2222) Deprecated PHP 5* functions updated (#2370) - Update all PHP QuickForm instruments, since HTML QuickForm is now replaced by LorisForm. No other code, configurations, templates, tables or data will be affected or require adjustment. - If your dashboard loads but no other modules load, ensure that your /var/apache2/apache2.conf file is set to AllowOverride All in the section <Directory /var/www/> to enable re-write rules (based on htdocs/.htaccess file) - If clicking Save or Submit form buttons generates and error, check the Configuration module and ensure the url (WWW section) is set to your host. (Loris 16.0 instructions may have recommended that you set this to the empty string)

Known Issues / Beta features

  • Issue Tracker module Beta features include: Watching (email notifications for users), and association of subjectID and timepoints with an issue

- PHP
Published by christinerogers over 9 years ago

loris - LORIS Release v16.1.1

This release is primarily to fix an issue where an automatic update to Chrome prevented LORIS menus (and javascript) from working in v16.1.0 due to a polyfill for HTML5 date elements intended to add support for date elements Firefox. Users of LORIS v16.1.0 are strongly urged to upgrade.

- PHP
Published by driusan over 9 years ago

loris - LORIS Release v16.1.0

This release incorporates 148 backwards compatible small changes and features on top of LORIS 16.0. There are minor bug fixes but no significant changes from release candidate 1.

Projects currently using LORIS 16.0.x should apply the patch SQL/16.0_To_16.1_upgrade.sql in order to upgrade. Projects using older versions should first apply SQL patches to upgrade to LORIS 16.0.

For a full list of changes see here.

Features:

  • Added new Media module to track non-instrument specific candidate media such as videos or instrument scans
  • Added Signal-to-Noise Ratio to imaging browser for some modalities (T1, T2, Flair, PD.) (requires updating imaging pipeline)
  • Module authors may now implement getCSSDependencies() to customize CSS that gets included on each page
  • Unused accounts now get automatically disabled after 1 year of inactivity

Notable bug fixes and clean up:

  • Improved many queries in the statistics module
  • Improved compatibility with MySQL 5.7+
  • Various other bug fixes

Known Issues:

  • If you upload the documents with the same filename to multiple categories in the document repository, the document in the second category uploaded will overwrite the document from the first.

- PHP
Published by driusan over 9 years ago

loris - LORIS Release 16.1 (Release Candidate 1)

This release incorporates 148 backwards compatible small changes and features on top of LORIS 16.0.

Projects currently using LORIS 16.0.x should apply the patch SQL/16.0_To_16.1_upgrade.sql in order to upgrade. Projects using older versions should first apply SQL patches to upgrade to LORIS 16.0.

For a full list of changes see here

Features:

  • Added new Media module to track non-instrument specific candidate media such as videos or instrument scans
  • Added Signal-to-Noise Ratio to imaging browser for some modalities (T1, T2, Flair, PD.) (requires updating imaging pipeline)
  • Module authors may now implement getCSSDependencies() to customize CSS that gets included on each page
  • Unused accounts now get automatically disabled after 1 year of inactivity

Notable bug fixes and clean up:

  • Improved many queries in the statistics module
  • Improved compatibility with MySQL 5.7+
  • Various other bug fixes

- PHP
Published by driusan over 9 years ago

loris - LORIS Release v16.0.2

This release addresses a critical bug fixes from v16.0.1. Anyone on v16.0.0 should update the code to this release with no other changes.

Bug Fixes

  • This release fixes a regression in v16.0.1 where users who had the dataentry permission without the accessall_sites permission would receive an SQL error on the dashboard upon logging in.

- PHP
Published by driusan over 9 years ago

loris - LORIS Release v16.0.1

This release addresses various minor bug fixes in v16.0.0. Anyone on v16.0.0 should be able to update the code to this release with no other changes.

Please note all 16.* release notes below -- particularly important for Existing projects.

Bug fixes

  • Fixed a bug where you couldn't sort on the first column in some tables
  • Fixed the scoring algorithm in the sample BMI instrument
  • The dashboard statistics now exclude DCC and cancelled candidates
  • Fixed a bug where you couldn't search for '0' for a DCCID or PSCID
  • Removed a button that didn't do anything in BrainBrowser
  • Better instrument search in DQT
  • Added "loading" visual feedback in DQT

- PHP
Published by driusan over 9 years ago

loris - LORIS Release 16.0.0

Full list of changes

Note that LORIS 16.0 is only supported for PHP 5.6: We recommend installing/upgrading PHP using this (deprecated) PPA repository: ppa:ondrej/php5-5.6

New Features

  • Data release module #1602
  • Acknowledgements module #1489
  • Notifications and real-time Log Viewer for Imaging Uploader module #1654
  • Improved Automated testing on all modules
  • Rest API v.0.0.2 and JWT Token authentification #1421
  • Content Security Policy added #1481
  • Customizable instrument display order #1500
  • Enhance support for custom module development #1404
  • DQT is now seamlessly integrated as a LORIS module. Queries can be saved as public or private. Queries now support nested And/Or logic. Install process is unchanged.
  • Video embedding in Training module Genomic Browser:
  • new Subject Genomic Profile tab, GWAS tab, Genomic File support and File metadata display #1579
  • Refactored tables, Methylation tab
  • Genomic File upload management (methylation) #1669

Install process

  • Deployment on Heroku now available
  • Improved imaging insertion pipeline configuration process
  • Database schema split into more modular components #1342

Updates and Improvements

  • Data Query Tool Demographic Import script fixed for projects not using consent feature
  • React used for faster rendering of page components
  • Pretty URLs; Apache mod rewrite now required for writing URLs
  • Improved navigation and breadcrumbs #1643
  • Cleanup of Imaging Pipeline scripts and Imaging installation process
  • Better versioning documentation and testing infrastructure (#1521)
  • Improved Help sections within Loris
  • Improved database error logging #1448
  • More granular permissions for certain modules #1419
  • Only subjects with participant_status Active are pushed to DQT #1502
  • Config setting override clarified in Configuration module #1603
  • Help Editor now allows inline editing
  • Lost password changed to force password reset upon login

Notes for Existing Projects

Check all pull requests tagged Caveat for Existing Project - Note that LORIS 16.0 is only supported for PHP 5.6: We recommend installing/upgrading PHP using this (deprecated) PPA repository: ppa:ondrej/php5-5.6

Module support changes: - Create a project/modules/ directory to house any code that overrides existing modules - Partial override under project/ is disallowed for modules. Modules can be customized either in the main codebase (not recommended), or by copying all files for that module into project/modules/$givenModule/ and modifying files as desired. All files for this module will then be sourced from project/modules/$givenModule/ even if no modification has been made (e.g. the JavaScript may be unaffected). At the next release, merge all code changes on this module from the main codebase.

Configuration settings: Study Description #1438 and External Links #1367 fields moved to the Configuration module. Update your new Config table setting with the value currently stored in project/config.xml within the given tagsets, and then remove these tag sections from project/config.xml

Reliability module files must be moved #1409

Imaging Projects: Note all Loris-MRI 16.0 Release notes, including updating to the Loris-MRI release branch, manual installation of minc toolkit, and a required update to config.xml

DQT should update seamlessly to new GUI, housed as a module within LORIS. LORIS menu will point to new DQT skin but old DQT interface will still be accessible. Old queries from the DQT should port seamlessly to the new GUI, however new queries using OR logic will not be backwards compatible to old DQT.

Apache mod rewrite now required for rewriting Pretty URLs

Apache configuration should enable Rewrite rules by setting AllowOverride All Ubuntu apache config file: /etc/apache2/sites-available/$projectname.conf CentOS apache config file: /etc/httpd/conf.d/apache-site.conf

Significant MySQL updates:

  • Imaging: Selected field has moved to files_qcstatus table. Data will not deleted by release upgrade - to clean old records, run Commented lines in MySQL patch line 278. Also update custom queries using Selected field accordingly.
  • Genomics: many improvements to MySQL table definitions. Back up and then carefully update tables.

Known Issues / Beta

  • Genomic file upload is in beta and is only for Illumina methylation datasets
  • For Genomic file upload, Config:GenomicDataPath/genomic_uploader/ must be writable by Apache (www-data)
  • Instrument Manager in Beta

- PHP
Published by driusan over 9 years ago

loris - Loris 16.0 (Release Candidate 3)

This release candidate contains minor bug fixes and feature updates: - Fixed bug where CSS for modules couldn't be overridden - Help Editor now allows inline editing - Lost password changed to force password reset upon login - NRRD download link in imaging browser fixed - recommended PPA for PHP 5.6 installation/upgrade specified in Ubuntu Readme

- PHP
Published by christinerogers over 9 years ago

loris - Loris 16.0 (Release Candidate 2)

Full List of changes since 16.0 Release Candidate 1

Updates and Improvements

  • Minor bug fixes including URLs, Mobile UI issues, broken Pagination was fixed
  • Data Dictionary description modifications updates
  • User Accounts permission assignment fixes
  • MRI Violations module bugs
  • Survey module fixed
  • Data Query Tool fixed in Firefox
  • Flags on Behavioural instrument forms fixed
  • Training module
  • Statistics for Double Data Entry

Notes for existing projects

Pull requests in this release candidate tagged Caveat for Existing Project - Fixes to Release patch - Menu items for Data Query Tool and Data Dictionary may need to be manually inserted - MINC toolkit path variable must be manually added to project/config.xml file #1843

- PHP
Published by samirdas over 9 years ago

loris - Loris 16.0 (Release Candidate 1)

Spring 2016 release of LORIS : Full list of changes

Note that LORIS 16.0 is only supported for PHP 5.6

New Features

  • Data release module #1602
  • Acknowledgements module #1489
  • Notifications and real-time Log Viewer for Imaging Uploader module #1654
  • Improved Automated testing on all modules
  • Rest API v.0.0.2 and JWT Token authentification #1421
  • Content Security Policy added #1481
  • Customizable instrument display order #1500
  • Enhance support for custom module development #1404
  • DQT is now seamlessly integrated as a LORIS module. Queries can be saved as public or private. Queries now support nested And/Or logic. Install process is unchanged.
  • Video embedding in Training module Genomic Browser:
  • new Subject Genomic Profile tab, GWAS tab, Genomic File support and File metadata display #1579
  • Refactored tables, Methylation tab
  • Genomic File upload management (methylation) #1669

Install process

  • Deployment on Heroku now available
  • Improved imaging insertion pipeline configuration process
  • Database schema split into more modular components #1342

Updates and Improvements

  • Data Query Tool Demographic Import script fixed for projects not using consent feature
  • React used for faster rendering of page components
  • Pretty URLs; Apache mod rewrite now required for writing URLs
  • Improved navigation and breadcrumbs #1643
  • Cleanup of Imaging Pipeline scripts and Imaging installation process
  • Better versioning documentation and testing infrastructure (#1521)
  • Improved Help sections within Loris
  • Improved database error logging #1448
  • More granular permissions for certain modules #1419
  • Only subjects with participant_status Active are pushed to DQT #1502
  • Config setting override clarified in Configuration module #1603

Notes for Existing Projects

Check all pull requests tagged Caveat for Existing Project - Note that LORIS 16.0 is only supported for PHP 5.6

Module support changes: - Create a project/modules/ directory to house any code that overrides existing modules - Partial override under project/ is disallowed for modules. Modules can be customized either in the main codebase (not recommended), or by copying all files for that module into project/modules/$givenModule/ and modifying files as desired. All files for this module will then be sourced from project/modules/$givenModule/ even if no modification has been made (e.g. the JavaScript may be unaffected). At the next release, merge all code changes on this module from the main codebase. - Configuration settings: Study Description #1438 and External Links #1367 fields moved to the Configuration module. Update your new Config table setting with the value currently stored in project/config.xml within the given tagsets, and then remove these tag sections from project/config.xml - Reliability module files must be moved #1409 - Imaging Projects: Note all Loris-MRI 16.0 Release notes, including updating to the Loris-MRI release branch, manual installation of minc toolkit, and a required update to config.xml - DQT should update seamlessly to new GUI, housed as a module within LORIS. LORIS menu will point to new DQT skin but old DQT interface will still be accessible. Old queries from the DQT should port seamlessly to the new GUI, however new queries using OR logic will not be backwards compatible to old DQT.
- Apache mod rewrite now required for rewriting Pretty URLs - Apache configuration should enable Rewrite rules by setting AllowOverride All Ubuntu apache config file: /etc/apache2/sites-available/$projectname.conf CentOS apache config file: /etc/httpd/conf.d/apache-site.conf

Significant MySQL updates:

  • Imaging: Selected field has moved to files_qcstatus table. Data will not deleted by release upgrade - to clean old records, run Commented lines in MySQL patch line 278. Also update custom queries using Selected field accordingly.
  • Genomics: many improvements to MySQL table definitions. Back up and then carefully update tables.

Known Issues / Beta

  • For Genomic file upload, Config:GenomicDataPath/genomic_uploader/ must be writable by Apache (www-data)
  • Instrument Manager in Beta
  • One-click Download disabled

- PHP
Published by christinerogers over 9 years ago

loris - LORIS 15.10.2

This minor release addresses issues in the 15.10.1 release: - Updated script for loading demographic data in Data Query Tool to handle new Subproject and Project configuration settings (fix) - Removed third party script loading, introduced in 15.10 (fix) - Updated embedded BrainBrowser to the recent v2.4.0 release, to correct for an inconsistency in display convention, where images may have appeared flipped (Left-Right) depending on imaging modality or acquisition type, due to mixing neurological/radiological display conventions (fix) - Fixed bug where BrainBrowser was not correctly displaying 4 dimensional images (fix) - Updated version number

Full list of changes since 15.10.1 If upgrading from a previous release, please also read Release notes from both 15.10 and 15.10.1 for additional details, caveats, known issues, and instructions for existing projects.

Known Issues

BrainBrowser 2.4.0 issues applicable to LORIS: - gray scale mapping input file - fix here - not compatible with mobile devices - plane de-synchronization

- PHP
Published by christinerogers about 10 years ago

loris - LORIS 15.10.1

This minor release addresses two issues in the 15.10 release: - Conflict Resolver not recording new data entry conflicts (fix) - Search keyword filter impacting other unrelated modules (fix)

Full list of changes since 15.10 If upgrading from a previous release, please also read 15.10 Release notes for additional details, caveats, known issues, and instructions for existing projects.

Known Issues

  • BrainBrowser viewer (embedded in Imaging Browser module) may flip images (Left-Right) due to mixing neurological/radiological display conventions. This display difference may appear between images acquired within the same scanning session for a given subject, perhaps depending on imaging modality or acquisition type. BrainBrowser's recent v2.4.0 release corrects this inconsistency in the display convention, and will be incorporated in LORIS 16.04.

- PHP
Published by christinerogers about 10 years ago

loris - LORIS 15.10

Fall 2015 release of LORIS : Full list of changes

Install process

  • Install script enables setup when MySQL is hosted on a different machine than Loris
  • For Mac install, see Mac Readme guidelines last updated for 15.04
  • Apache configurations include setting AllowOverride All to accommodate Rewrite rules
  • Smarty 3 is installed by Composer and does not require prior installation (since 15.04)
  • new Wiki page on running the install script

Improvements and Documentation

  • Re-designed Behavioural Feedback and Data Team Helper modules
  • Subprojects and Projects can be created and managed via the front-end Configuration module. Recruitment targets can now be set at the Subproject level.
  • One-click Data View Download to CSV format file in Access Profiles page (Candidate List)
  • In User Accounts, when changing a user's permission settings, there is a new option to send a notification email to other site supervisors/coordinators (personnel selected from a list)
  • MRI Header information now included in Excel dumps
  • Direct links from Behavioural pages to Imaging datasets
  • Dockerfile added
  • API support
  • Version file

Notes for Existing Projects

Note all Caveats for existing projects, update your admin user account with all new/available permissions, and apply the Release patch - Imaging projects also see Loris-MRI Release Notes for Existing Projects for 15.10 - HTML will be displayed in console box upon first loading your upgraded Loris. Refresh your browser and/or delete the smarty/templatesc/ directory content to resolve. - Subprojects (cohorts) and Projects are now managed in the front-end Configuration module. Run the importprojects.php script (located in modules/configuration/tools/) to migrate your subproject and projects settings from project/config.xml into the Config table. Then manually clean your config.xml file.
- Several Imaging Feedback categories have changed - Apache configuration should enable Rewrite rules by setting AllowOverride All - Ubuntu apache config file: /etc/apache2/sites-available/$projectname.conf - CentOS apache config file: /etc/httpd/conf.d/apache-site.conf

Known Issues / Caveats

  • Conflict Resolver does not record new data entry conflicts. Run the tools/detect_conflicts.php script on a frequent basis (e.g. by cronjob) to detect and report new conflicts. (Fix for 16.04)
  • Beta features: Imaging Uploader AutoLaunch and Server Processes Manager module may require schema and code modifications
  • Statistics module queries and calculations should be customized per project
  • Form Rules in the Instrument Builder are in beta
  • Data Querying Tool data import scripts should be adapted if Consent feature is not used
  • Projects started before October 2014 who are missing the 'editfinalradiological_review' permission should run:

SQL INSERT INTO permissions (code, description, categoryID) VALUES ('edit_final_radiological_review','Can edit final radiological reviews','2'); - Document Repository is missing from the Tools menu. To display this menu item, run:

SQL SELECT m.ID, p.PermID FROM permissions p CROSS JOIN LorisMenu m WHERE p.code='document_repository_view' AND m.Label='Document Repository';

- PHP
Published by driusan about 10 years ago

loris - LORIS 15.10 (Release Candidate 5)

  • Fixed bug where non-study sites were appearing in the statistics module

- PHP
Published by driusan over 10 years ago

loris - LORIS 15.10 (Release Candidate 4)

  • Fixed bug with validation errors not showing up in imaging_uploader
  • Fixed bug where page links were not showing up in imaging_uploader

- PHP
Published by driusan over 10 years ago

loris - LORIS 15.10 (Release Candidate 3)

  • Fixed various bugs in mri violations module
  • Fixed issue with certification module not restricting data entry in instruments
  • Removed an inefficient query from the statistics module which could cause large datasets to timeout.

- PHP
Published by driusan over 10 years ago