LORIS Release 29.0.0
This LORIS release furthers the multilingual support that began in LORIS 28. All modules should now be fully translated and supported in both English and French, while there is significant translations of Japanese and Chinese locales.
In LORIS 29, data that comes from tables such as projects and visits can also be translated.
Notes For Existing Projects
Upgrading LORIS requires following the upgrade process each major and minor release (bug fix releases can be skipped) to ensure the schema is up to date.
For upgrading to 28 from 29:
- Source the
SQL/Release_patches/28.0_To_29.0_upgrade.sqlpatch - The
project/locale/directory takes precedence over module or LORISlocaleif strings in LORIS need to be translated - A
tools/generate_table_po.phpexists to extract project database strings for translation. For instancegenerate_table_po.php Project --columns=Name, Aliaswill generate aproject/locale/Project.pottemplate file for translation. This file can then be edited with third party software to add the translations, and the updated file placed in the appropriate directory (ie.project/locale/fr/LC_MESSAGES/Project.poassuming the target language was French). After runningmake, LORIS will then use the French project names when the user's language is set to French. Other tables such as visits, cohorts, or options for the candidate's sex can also be translated.
What's Changed
In addition to the non-localization changes below, there were over 150 pull requests in this release to update the localization of LORIS.
- [data_release] Introduce Manage File, Revamp Manage Permissions, Hide, Delete by @skarya22 in #9445
- [Core] Add ability for modules to contain multiple QueryEngines by @driusan in #10319
- [user_accounts] Fix permissions visibility for unlinked modules by @arnav-makkar in #10299
- [Core] Remove _hasAccess method by @driusan in #10344
- [SQL/MEG] Add the MEG CTF head shape tables by @MaximeBICMTL in #10412
- [dataquery] Show self-shared queries in Shared Queries panel by @arnav-makkar in #10395
- [Security] Default most LORIS modules to be disabled on new installs by @driusan in #10354
- Add PHP 8.5 support, remove 8.3 from tests by @driusan in #10366
- [htdocs] Update savecsv.js to save with utf-8 encoding by @arnav-makkar in #10380
- [user_accounts] Lock user account page when editing own accounts by @GeorgeMurad in #10434
- Add
EEGChunksPathconfig by @jeffersoncasimir in #10455 - [script] Add script to generate pot from database table by @driusan in #10448
- Add lorisFetch wrapper for centralized 401/login handling by @Montekkundan in #10492
- [electrophysiology_browser] Add CTF to electrophysiology browser supported file types by @MaximeBICMTL in #10315
- [electrophysiology_browser] Selectable channel types by @MaximeBICMTL in #10403
- Removal of scan_done field in session table by @CamilleBeau in #10236
- Add numeric range filtering for dashboard and Biobank filters by @Montekkundan in #10501
- Set default log levels for fresh and existing installs by @Montekkundan in #10483
- [candidate_parameters] Allow configuration of which status means comment required by @skarya22 in #9494
- [Statistics/Dashboard] Order Recruitment Pie By DoB by @skarya22 in #10528
- [Email] Add attachment functionality by @CamilleBeau in #10374
- [Instruments] Add Site/Project permission when accessing instruments by @shonibare in #8997
- [issue_tracker] Introduce Rejected status by @skarya22 in #9391
- [user_accounts] to add SweetAlert2 reject user by @priyavrat7 in #10475
- [dashboard | statistics] Add Project Size to dashboard charts by @jeffersoncasimir in #10057
- [electrophysiology_browser] On-demand file download tarring by @MaximeBICMTL in #10481
- [Biobank] Add QueryEngine implementation for specimen data queries by @HenriRabalais in #10431
- [electrophysiology_browser] Rendering fixes when chunksURL is non-existent or NULL by @jeffersoncasimir in #10711
- [Dashboard] Last chart translations + make it work for non-binary sex lists by @skarya22 in #10547
- [instrument_list] Use IntlDateFormatter for Date_screening/Visit/Approval table by @driusan in #10546
- [issue_tracker] Rollback partial success by @jeffersoncasimir in #10857
- [timepoint_list] Candidate Info Button disappears on permission by @adamdaudrich in #10886
New Contributors
- @arnav-makkar made their first contribution in #10239
- @priyavrat7 made their first contribution in #10475
- @hansfauer made their first contribution in #10687
- @fias06 made their first contribution in #10655
- @lapadulamichael made their first contribution in #10508
- @Montekkundan made their first contribution #10483
Full Changelog: v28.0.2...v29.0.0