Coder Social home page Coder Social logo

aces / loris Goto Github PK

View Code? Open in Web Editor NEW
141.0 25.0 173.0 102.12 MB

LORIS is a web-accessible database solution for longitudinal multi-site studies.

License: GNU General Public License v3.0

PHP 67.70% CSS 1.36% JavaScript 20.73% GLSL 0.03% Smarty 2.96% Shell 0.30% Python 0.11% Makefile 0.03% HTML 0.02% TypeScript 6.75% Procfile 0.01% Nix 0.01%
loris neuroinformatics neuroimaging database data-sharing science hacktoberfest

loris's Introduction

Build Status Minimum PHP Version Documentation Status

LORIS Neuroimaging Platform

LORIS (Longitudinal Online Research and Imaging System) is a self-hosted web application that provides data- and project-management for neuroimaging research. LORIS makes it easy to manage large datasets including behavioural, clinical, neuroimaging and genetic data acquired over time or at different sites.

This Readme covers installation of LORIS version 25.0 on Ubuntu.

(CentOS Readme also available).

Please consult the Ubuntu Installation guide or CentOS Installation guide for more information. These installation instructions and more LORIS documentation for developers can also be found on the LORIS ReadTheDocs website.

Heroku

You can try LORIS on Heroku before installing it on your system. The project management and clinical data management functions of LORIS are available for experimenting with. Imaging functionality is not yet available.

Deploy and log in with username admin and the password that's set up during deployment via ClearDB.

Deploy

Installation

Consult the Ubuntu Installation guide or CentOS Installation guide for more information.

Community

Get in touch

For questions and troubleshooting guidance beyond what is covered in our documentation, please subscribe to the LORIS Developers mailing list and email us there.

Support and GitHub Issues

For troubleshooting specific installation issues or errors, please see the Installation troubleshooting guide, and then contact us via the LORIS Developers mailing list. For bug reporting and new feature requests, please search and report via our GitHub Issues.

Please include details such as the version of LORIS you're using as well as information such as the OS you're using, your PHP and Apache versions, etc.

Contributing

We are very happy to get code contributions and features from the global LORIS community.

If you would like to contribute to LORIS development, please consult our Contributing Guide.

Powered by MCIN

LORIS is made by staff developers at the McGill Centre for Integrative Neuroscience, led by Alan Evans and Samir Das at The Neuro (Montreal Neurological Institute-Hospital).

Visit the LORIS website for the history of LORIS and our Technical Papers.

The original (pre-GitHub) LORIS development team from 1999-2010 included: Dario Vins, Alex Zijdenbos, Jonathan Harlap, Matt Charlet, Andrew Corderey, Sebastian Muehlboeck, James McKinney, and Samir Das.

loris's People

Contributors

alexandralivadas avatar alisterdev avatar camillebeau avatar christinerogers avatar cmadjar avatar davidblader avatar driusan avatar evanluc avatar gluneau avatar jkat avatar johnsaigle avatar jstirling91 avatar karolinamara avatar kongtiaowang avatar laemtl avatar maltheism avatar mohadesz avatar mounasafiharab avatar mpetkova avatar mweiss17 avatar nicolasbrossard avatar nirtiac avatar olgatsib avatar rathisekaran avatar ridz1208 avatar samirdas avatar taracampbell avatar ted-strauss-k1 avatar xlecours avatar zaliqarosli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

loris's Issues

403 page doesn't render in pretty template

Previously

We had a pretty 403 page that rendered in the LORIS template (header, footer, logo etc.) and displayed the following message.

previously

Now

Ugly!
now

This issue seems to have been introduced in 20.0.0.

Incomplete forms count inconsistent across Dashboard / Stats / Data Team Helper

reported by @um4r12 via loris-dev listserv :

On the dashboard, the number of Incomplete Forms that is displayed in the My Tasks panel only considers an incomplete form if it is 'In Progress'.
If a visit stage is started, the instruments that are populated are not considered to be 'In Progress' until they are opened. So the number displayed on the dashboard excludes unopened instruments.
However, in the Data Team Helper module, and the Statistics page, an unopened instrument is considered to be incomplete.

Improvement: This count should be consistent across modules -- it should include unopened as well as In Progress.

ABIDE LORIS Instance

  1. The DQT doesn’t work at all (download button is not there). It is also not obvious how the filtering is supposed to work.
  2. In the Imaging Browser, the “QC Comments” button opens a blank window.
  3. In the Imaging Browser, the “Download .mnc” button returns “file not found”.

[API] PUT /candidates/$CandID/$VisitLabel/instruments/$InstrumentName[/dde]

The doc says:

A PUT request MAY not specify score columns that will be calculated/overwriten by server-side scoring. If the client attempted to score fields client-side and the value passed by the PUT request conflict with the server-side calculation of the score, the server-side calculation will win.

But server calculation do not trigger

[Statistics : Bvl ] Users can access other sites' instrument data without permission

Reported by @um4r12 via loris-dev listserv :

In the statistics module, from the Behavioural Statistics tab, and under "Per Instrument Stats" for any site, users can view incomplete forms from other sites (although they cannot edit them), even though they do not have the 'access_all_profiles' permission. So if an instrument hasn't been flagged as 'Complete', but data has been entered, users from other sites are able to access that information through the Statistics module.

Loris-MRI/imaging_install.sh does the perl module part work?

I am working on a LORIS 16 install on CentOS 6 and was trying to install the MRI-imaging module and this part of the imaging_install.sh script fails:(lines 74-87)
`

######################INSTALL THE PERL LIBRARIES

echo "Installing the perl libraries...THis will take a few minutes..."

echo $rootpass | sudo perl -MCPAN -e shell

sudo -S cpan install Math::Round

echo $rootpass | sudo -S cpan install Bundle::CPAN

sudo -S cpan install Getopt::Tabular
sudo -S cpan install Time::JulianDay
sudo -S cpan install Path::Class
sudo -S cpan install Archive::Extract
sudo -S cpan install Archive::Zip
echo`

Although I am using CentOS 6, I checked a Ubuntu 14.04.1 LTS system and the cpan man page indicates that it would fail there also. The Sudo's do not look right either.

Am I dreaming, or is there a problem here?
Thank you,
steve.

Imaging script not working on Centos 6

Hi, I am attempting to run the imaging_install.sh on Centos 6, however, Centos does not use apt-get. If you run the script with apt-get, you get an error: "apt-get: command not found", as expected. And when you change to script to ignore apt-get, and is replaced with yum instead, then you get an error: 'no package dcmtk [is] available'. Any suggestions?

Could not instantiate feedback object

In release 17.0.0, on accessing a candidate's profile, the following error appears, and the candidate profile is not displayed:

Could not instantiate feedback object

This seems to be due to a change in behaviour in php 7. In php/libraries/NDB_BVL_Feedback.class.inc ,
we have:

    // contains info necessary to structure the object
    var $_feedbackObjectInfo ='';

    // contains full candidate profile/timepoint/instrument info
    var $_feedbackCandidateProfileInfo ='';

Later, we see:

$this->_feedbackObjectInfo['CandID'] = $candID;

In php <7, this would work by creating an array and assigning a value at a string index. In php 7, an attempt is made to index into the existing string with a string index, which emits a warning and assigns the first character of the value to the variable.

The error can be fixed by assigning empty arrays as initial values.

Shall I submit a pull request?

Update Config module hover text with link to Issue Tracker

From Redmine ticket filed by @christinerogers

Extremely easy pull request to fix a Config setting description(hover/tooltip) that doesn't make sense anymore :

Current issue_tracker_url Config setting description:

"The **new** bug/issue tracker url"

This was relevant ~17.1 when this PR was created, and mantis_url setting still existed, and the Issue Tracker was new.

This should be replaced with a link to the Issue Tracker module.

Loris-16.0.rc2 install problem on CentOS/6.7--database

I sent this to Christine:
One related question. In the README.CentOS6.md right before section 1.2 Config XML it says:

While connected to MySQL, you can also reset the admin password:

```SQL
-- Reset password to YOURPASSWORD
UPDATE users SET Password_md5=CONCAT('aa', MD5('aaYOURPASSWORD')) WHERE ID=1;
```

I am not sure what the word "reset" is referring to. The instructions never said to change the MySQL lorisadmin , or did the populating of the data base change the password as a side effect?

Here is her reply:
Hi Steve,
Thanks for your comment - you're right, it is a little unclear why that information is placed at that point in the CentOS Readme. The passwords input into the install script do not need to be changed in order to use Loris.
We'll add some clarifying text, but in the meanwhile you can consider this as a helpful tip for future occasions on which a password reset via the mysql back-end is desired.
Note this instruction resets a front end (web login) user account password - lorisadmin (Unix) and Lorisuser (mysql) accounts are not affected. User passwords can also be reset in the front end using the User Accounts module.

I was confused about part of this so I asked this question:
Thank you. I am not sure that I used an 'install script". At the top of the "README.CentOS6.md" it says:

"This document contains details on how to manually perform a basic CentOS 6.x install of LORIS without using the install script (as the install script makes some assumptions about apt-get being installed.)"

I currently have these IDs

lorisadmin what I am logged into and use to run MySql.  It has a different password when I login and when I start MySql with -p.
lorisuser-a linux ID that I do not recall using
MySql lorisuser which I do not recall using
MySql lorisadmin see the first item in this list
MySql root what I use when I run MySql -p from Linux ID root (or sudo).

I need this to know how to edit the copy of the config.xml in section 1.2 of the README.CentOS6.md instructions that I am trying to follow.
It seems like there is another MySql ID which is named "1" and the password will be 'aaYOURPASSWORD' if I "reset the password. If that is the case, then it is likely in the copy of config.xml that I should replace the "%HOSTNAME%" with "localhost", "%USERNAME%", with "1", the "%PASSWORD%" with "aaYOURPASSWORD", and "%DATBASE%" with "LORIS" (the name that I choose for my database.) ?
I have no clue how I should fill in the "quatUSER", or "quatPASSWORD".
end

I had an idea while writing this, and looked at the Ubuntu install script and it does not have any "quat" objects, and it seems to use the mysqluser and password for the %USERNAME% and %PASSWORD%

I will try that out on Thursday.
steve.

I think that lI have largely answered my own question, but the README.CentOS6.md needs to be edited.

Debian TODOs

  • samir should reportbug wnpp and submit an ITP (Intent to package) bug report, and close it in the debian/changelog
  • fill up debian/copyright. use licensecheck helper to detect more. Also git grep -i copyright is a nice one. Pay attention to GPL-3 compatibility
  • no "fetch stuff from the web" during installation. I.e. no "composer" call
  • make dpkg --purge loris go smoothly. Currently dpkg: warning: while removing loris, directory '/var/lib/loris/smarty/templates_c' not empty so not removed
  • make lintian "loris*.changes" happy (ideally not a single warning)
  • build at build-time all the computer generated (compiled) .js (out of node+jsx or whatever) so those artifacts could be rebuilt in case their sources were fixed up (ATM done manually by a dedicated dev on a dedicated setup)

Change all occurrences of centRE to centER

Background

Recently we've decided to normalize the spelling of this word in our code and it was decided to go with US spelling over UK/CA spelling in the interest of internationality.

Tasks

  • grep the code base for occurrences of centre (re ending) and change to center (er ending).

This includes code comments!

Ubuntu 16.04 Support

Hi,

From the README it seems that currently Ubuntu 16.04 is unsupported. Are there plans for adding
this? And if so what does the timeline look like.

Thanks,

Chris

Debian homework

E: loris source: source-is-missing htdocs/js/FileSaver.min.js (not used - Shen)
N: 
N:    The source of the following file is missing. Lintian checked a few
N:    possible paths to find the source, and did not find it.
N:    
N:    Please repack your package to include the source or add it to
N:    "debian/missing-sources" directory.
N:    
N:    If this is a false-positive, please report a bug against Lintian.
N:    
N:    Severity: serious, Certainty: possible
N:    
N:    Check: cruft, Type: source
N: 
E: loris source: source-is-missing htdocs/js/c3.min.js
E: loris source: source-is-missing htdocs/js/d3.min.js (replace with symlink)
E: loris source: source-is-missing ... use --no-tag-display-limit to see all (or pipe to a file/program)
W: loris: embedded-javascript-library usr/share/loris/htdocs/js/shims/excanvas.js please use libjs-excanvas
N: 
N:    This package contains an embedded copy of JavaScript libraries that are
N:    now available in their own packages (for example, JQuery, Prototype,
N:    Mochikit or "Cropper"). Please depend on the appropriate package and
N:    symlink the library into the appropriate location.
N:    
N:    Refer to Debian Policy Manual section 4.13 (Convenience copies of code)
N:    for details.
N:    
N:    Severity: normal, Certainty: possible
N:    
N:    Check: files, Type: binary, udeb
N: 
W: loris: embedded-javascript-library usr/share/loris/modules/brainbrowser/js/jquery.mousewheel.min.js please use libjs-jquery-mousewheel
E: loris: executable-jar-without-main-class usr/share/loris/htdocs/mri/jiv/jiv.jarE: loris: executable-jar-without-main-class usr/share/loris/htdocs/mri/jiv/jiv.jar



E: loris: missing-dep-on-jarwrapper
N: 
N:    Packages containing an executable JAR must depend on jarwrapper or other
N:    packages providing similar functionalities.
N:    
N:    Refer to Debian policy for Java section 2.2 (Building Java packages) for
N:    details.
N:    
N:    Severity: serious, Certainty: certain
N:    
N:    Check: java, Type: binary
N: 
E: loris: php-script-but-no-php-cli-dep usr/share/loris/tools/detect_conflicts.php
N: 
N:    Packages with PHP scripts must depend on the php-cli package. Note that
N:    a dependency on a php-cgi package (such as php-cgi or php7.0-cgi) is
N:    needlessly strict and forces the user to install a package that isn't
N:    needed.
N:    
N:    In some cases a weaker relationship, such as Suggests or Recommends,
N:    will be more appropriate.
N:    
N:    Severity: important, Certainty: certain
N:    
N:    Check: scripts, Type: binary
N: 
W: loris: script-not-executable usr/share/loris/tools/generate_tables_sql.php
N: 
N:    This file starts with the #! sequence that marks interpreted scripts,
N:    but it is not executable.
N:    
N:    Severity: normal, Certainty: certain
N:    
N:    Check: scripts, Type: binary
N: 
E: loris: wrong-path-for-interpreter usr/share/loris/tools/generate_tables_sql.php (#!/data/web/neurodb/software/bin/php != /usr/bin/php)
N: 
N:    The interpreter you used is installed at another location on Debian
N:    systems.
N:    
N:    Severity: important, Certainty: certain
N:    
N:    Check: scripts, Type: binary
N: 
W: loris: script-not-executable usr/share/loris/tools/generate_tables_sql_and_testNames.php
E: loris: wrong-path-for-interpreter usr/share/loris/tools/generate_tables_sql_and_testNames.php (#!/data/web/neurodb/software/bin/php != /usr/bin/php)
E: loris: php-script-but-no-php-cli-dep usr/share/loris/tools/resetpassword.php
W: loris: executable-not-elf-or-script usr/share/loris/modules/document_repository/templates/menu_document_repository.tpl
N: 
N:    This executable file is not an ELF format binary, and does not start
N:    with the #! sequence that marks interpreted scripts. It might be a sh
N:    script that fails to name /bin/sh as its shell, or it may be incorrectly
N:    marked as executable. Sometimes upstream files developed on Windows are
N:    marked unnecessarily as executable on other systems.
N:    
N:    If you are using debhelper to build your package, running dh_fixperms
N:    will often correct this problem for you.
N:    
N:    Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:    
N:    Severity: normal, Certainty: certain
N:    
N:    Check: scripts, Type: binary
N: 
W: loris: executable-not-elf-or-script usr/share/loris/modules/dataquery/ajax/saveQuery.php
W: loris: executable-not-elf-or-script usr/share/loris/modules/document_repository/ajax/documentEditUpload.php
W: loris: executable-not-elf-or-script ... use --no-tag-display-limit to see all (or pipe to a file/program)

Generated MySQL tables exceed index size with UTF-8

Hi,

it seems that the MySQL schema files for behavioural instruments that are generated by the tools/generate_tables_sql_and_testNames.php utility are incompatible with databases using UTF-8 charsets.

Looking at the relevant parts of script in question:

$output.="`CommentID` varchar(255) NOT NULL default '',
                          `UserID` varchar(255) default NULL,
                          `Examiner` varchar(255) default NULL,
                          `Testdate` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                          `Data_entry_completion_status` enum('Incomplete','Complete') NOT NULL default 'Incomplete',\n";

and:

$output.="PRIMARY KEY (CommentID)\n);\n";

it is obvious that the field CommentID is used as primary key with a length of 255. Unless strict mode is disabled this exceeds the limit of 767 bytes for the primary key when using InnoDB tables with UTF-8 due to four bytes being used per character.

As far as I can see there are several possible solutions to this:

  • Limit the CommentID field to a length of 191, but I am not sure if CommentIDs can be longer than that
  • Explicitly add a charset definition to the generated schema file
  • Explicitly state in the requirements for Loris to use a specific charset or to not use strict mode

Error using installdb.php - Loris 20

When I try to create a new database using the address http://[LORIS-URL]/installdb.php I'm having the following errors:

[php7:notice] [pid 15] [client 172.18.0.1:34860] Could not execute . Stack trace#0 /var/www/loris/php/installer/Installer.class.inc(216): Database::singleton()\n#1 /var/www/loris/htdocs/installdb.php(107): Installer->sourceSchema(Array)\n#2 {main}, referer: http://localhost/installdb.php
[php7:error] [pid 15] [client 172.18.0.1:34860] PHP Fatal error:  Uncaught DatabaseException: No database connection exists in /var/www/loris/php/libraries/Database.class.inc:104\nStack trace:\n#0 /var/www/loris/php/installer/Installer.class.inc(216): Database::singleton()\n#1 /var/www/loris/htdocs/installdb.php(107): Installer->sourceSchema(Array)\n#2 {main}\n  thrown in /var/www/loris/php/libraries/Database.class.inc on line 104, referer: http://localhost/installdb.php

I did the same using version 19 and it worked.

Dashboard scan queries are looking at files instead of sessions

There is a bug in how the dashboard determines how many scans have taken place over time (as seen in the Scans per site chart) , and how many pending and new scans exist (as seen in the New and Pending Scans task).

Currently, the queries take a count from the files table. However, there can be many files created during one scanning session, so the queries should instead take a count of the sessions where scans have been conducted.

Imaging Uploader: Why so much manual naming?

There seems to be three manual naming schemes that need to be all filled in properly before the Imaging Uploader will work properly.

  1. The zip/tar.gz filename
  2. The web form
  3. The PatientName field in the DICOMs

It occurs to me that one of these could be used to properly populate all the fields, reducing the amount of manual work.

Personally, I'd prefer the web form (and DICOM data) being populated from the name of the zip/tar.gz file.

BVL QC Type/Status Query Error

Hi,

When changing the 'BVL QC Status' back to 'Not Done' in the visit page of a candidate, the query that is executed fails. The following is displayed:

Update statement did not execute successfully.
Query:
UPDATE session SET `BVLQCStatus`=:set_BVLQCStatus WHERE `ID`=:where_ID
Bind parameters: Array ( [set_BVLQCStatus] => [where_ID] => 21 )
Stack Trace:
#0 /var/www/als/php/libraries/Database.class.inc(391): Database->_realupdate('session', Array, Array, true)
#1 /var/www/als/php/libraries/TimePoint.class.inc(288): Database->update('session', Array, Array)
#2 /var/www/als/modules/instrument_list/php/Instrument_List_ControlPanel.class.inc(195): TimePoint->setData('BVLQCStatus', '')
#3 /var/www/als/modules/instrument_list/php/NDB_Menu_Filter_instrument_list.class.inc(28): Instrument_List_ControlPanel->save()
#4 /var/www/als/php/libraries/NDB_Caller.class.inc(356): NDB_Menu_Filter_instrument_list->getControlPanel()
#5 /var/www/als/php/libraries/NDB_Caller.class.inc(187): NDB_Caller->loadMenu(Object(NDB_Menu_Filter_instrument_list), '')
#6 /var/www/als/htdocs/main.php(180): NDB_Caller->load('instrument_list', '')
#7 {main}

A similar error occurs when 'BVL QC Type' is also changed back to 'Not Done'. Any ideas on how this can be fixed?

variable $table never defined in script

The $table variable is never set in the script, here is where it's used.
https://github.com/aces/Loris/blob/master/tools/generate_tables_sql_and_testNames.php#L69

if($bits[0]=="select"){
     $bits[0]=enumizeOptions($bits[3], $table, $bits[1]);

(Same problem in this script:
https://github.com/aces/Loris/blob/master/tools/generate_tables_sql.php#L74 )

Calling the script:
cat ../project/instruments/bmi.linst | sudo php generate_tables_sql_and_testNames.php

Error message:
PHP Notice: Undefined variable: table in /var/www/loris/tools/generate_tables_sql_and_testNames.php on line 69

The script seems to run successfully anyways.

Vagrant install impossible due to missing config.xml file

It's not possible to get LORIS running "out of the box" with Vagrant as there is no config.xml file existing in the project directory. Without this a user cannot run LORIS or follow along with the install instructions to configure it manually.

Output from /var/log/apache2/loris-error.log:

[Fri Nov 24 19:34:08.802273 2017] [php7:error] [pid 16922] [client 192.168.49.1:49907] PHP Fatal error: Uncaught ConfigurationException: Config file config.xml does not exist in the defined locations. in /var/www/loris/php/libraries/NDB_Config.class.inc:146\nStack trace:\n#0 /var/www/loris/php/libraries/NDB_Config.class.inc(73): NDB_Config->configFilePath()\n#1 /var/www/loris/php/libraries/NDB_Factory.class.inc(118): NDB_Config::singleton(NULL)\n#2 /var/www/loris/php/libraries/NDB_Client.class.inc(54): NDB_Factory->config(NULL)\n#3 /var/www/loris/htdocs/main.php(29): NDB_Client->initialize()\n#4 {main}\n thrown in /var/www/loris/php/libraries/NDB_Config.class.inc on line 146

[API] Inconsistencies in v0.0.2 endpoints cause confusion

Brought up in the LORIS meeting on July 24, 2018:

* API v0.0.2 in LORIS18 endpoint inconsistencies:
* Why some endpoints do not care about trailing slash? /login vs /login/ vs /candidate vs /candidates/: Login don't care trailing slash, Candidate one will fail in a 200 way on /candidates.
* Post (anything) to /candidates and server will just pretend Post request is Get and return list of candidates. Why? Shouldn't it give different error message?
* Post nonconforming PSCID in candidate info to /candidates will give 500. Is that the intended behaviour? Or should API return some error code instead?
* Current document suggest post to /candidate. I lost 4 days of my life on this….
* Lastly, what is preventing multisite users to create candidate via API currently?
* Using PUT to creating timepoint for subjects via API, is "subproject" the same thing as "test battery"?

TODO:

  • Endpoints should be normalized to require ending-slashes and add them on behalf of the user if they are missing.

  • More specific status codes should be given, i.e. a 400 Bad Request in the example above

Note: Some of these issues may be addressed in v0.0.3dev. Could someone else comment on this?

Loris-16.0.rc2 install problem on CentOS/6.7--database

I have gotten to step 1.1 of the README.CentOS6.md file in Loris-16.0.rc2. I created a MySQL user called 'lorisadmin' and enabled all privileges for it, and created a database called "LORIS'. I then connected to MySQL with LORIS as an argument and 0000-00-00-schema.sql as stdin. That populated the database just fine--I can see what see to be the tables in that SQL dump:
+---------------------------------------+
| Tables_in_LORIS |
+---------------------------------------+
| CNV |
| ExternalLinkTypes |
| ExternalLinks |
| GWAS |
| MRICandidateErrors |
| Project |
| SNP |
| SNP_candidate_rel |
| StatisticsTabs |
| Visit_Windows |
| acknowledgements |
| candidate |
| caveat_options |
| certification |
| certification_history |
| certification_training |
| certification_training_quiz_answers |
| certification_training_quiz_questions |
| conflicts_resolved |
| conflicts_unresolved |
| consent_info_history |
...
| users |
| violations_resolved |
+---------------------------------------+
93 rows in set (0.00 sec)

The next step of the ReadMe file are to do three UPDATE commands to change/localize three items. This does not work:
mysql> UPDATE Config SET Value='/var/www/als/' WHERE ConfigID=(SELECT ID FROM ConfigSettings WHERE Name='base');
ERROR 1146 (42S02): Table 'LORIS.Config' doesn't exist

I looked in the supplied schema and there is no table entry for "Config" There is a ConfigID in the "0000-00-03-ConfigTables.sql" file. Should it have been loaded instead of the schema.sql file, or in addition to it? Should I also load the database with some or all of the other .sql files there?
Maybe I am hopelessly lost and following the wrong instructions.

Thank you,
steve.

Create design spec for Survey Accounts

There needs to be a design spec for the survey accounts module.

(This issue was created by converting a module from the "Module Design Specifications" GitHub project to an issue so that it can be assigned.)

Image Uploader Readme not clear

Currently following this guide. It suggested to visit ImageUploader readme for configuration but so far, the only configuration I see mentioned are related to php.ini. Is there any instructions on configuring the path of the uploader? For some reason I am seeing files uploaded to /tmp/[random string].

Parsing bug in recreate_conflicts.php

Does not properly parse the arguments passed in: goes through recreating conflicts for all DDE instruments regardless of specified instrument in argument.

[Frontend] Update all Modules to React

Loris Task: Update all modules to be using react.

Modules:
(checked completely using react)

  • acknowledgements (Assigned: intralizee)
  • biobbank
  • brainbrowser
  • bvl_feedback
  • candidate_list
  • candidate_parameters
  • configuration
  • conflict_resolver
  • create_timepoint
  • dashbboard
  • conflict_resolver
  • create_timepoint
  • dashboard
  • data_integrity_flag
  • data_release
  • data_team_helper
  • datadict
  • dataquery
  • dicom_archive
  • document_repository - Shen (#3971)
  • examiner - Zaliqa (#3911)
  • genomic_browser
  • imaging_uploader
  • instrument_builder
  • instrument_list
  • instrument_manager
  • issue_tracker
  • login
  • media
  • mri_violations
  • new_profile
  • next_stage
  • reliability
  • server_processes_manager
  • statistics
  • survey_accounts
  • timepoint_list
  • training
  • user_accounts
  • quality_control

Schedule: Complete by next major release of Loris.

Notes-to-Developers: Please comment here and or provide the PR # if you've completed a module.
So the list can stay updated and help other developers know who is working on which module. 🙂

Create Design Spec for Instrument Manager

There needs to be a design spec for the instrument manager.

(This issue was created by converting a module from the "Module Design Specifications" GitHub project to an issue so that it can be assigned.)

REST or other such API for data upload?

Data upload (particularly imaging data) would be particular onerous task if many scans were collected per day.

If file-naming (and DICOM header data) is enforced for metadata, a web api would be useful for automated uploading.

Are there any plans to add such an API?

addMonthYear wrong order

current implementation of addMonthYear in NDB_BVL_Instrument.class.inc adds the field in the order or Year-Month instead of the advertised Month-Year.

see below :


    function addMonthYear($field, $label, $options=array())
    {
        if (is_array($options)) {
            $options['format'] = 'YM';
        }
        $this->form->addElement('date', $field, $label, $options);
        $this->monthYearFields[] = $field;
    }

It also displays a default value as shown below
selection_348

Error in BrainBrowser Volume Viewer v2.4.1

Hi,

The scans uploaded to Loris don't load in BrainBrowser. I get an error in the console:

TypeError: c[c.order[1]] is undefined  
d()  
e.volume_loaders.minc/<()  
BrainBrowser.loader.loadFromURL/f.onreadystatechange()

It refers to brainbrowser.volume-viewer.min.js

Remove Log.class.inc as it doesn't work

Background

The Log class is only used by survey.php.

At this time survey is often configured to write to a file containing a date in its name... however Log only appends to this file and does not create it if it doesn't exist.

Because of these bugs and others we've decided to deprecate the Log class and amend the survey file accordingly. The survey module is being re-written (#3609) so the changes can simply be to remove references to Log. As logging wasn't configured properly in the first place we don't need to worry about losing functionality by not logging survey requests.

As such, this should be a good first issue for someone looking for an entry point to our project. I've outlined the tasks below.

This improves LORIS by

Getting rid of old cruft!

TODO

  • Delete the file php/libraries/Log.class.inc.

  • Remove the logRequest() function in survey.php

  • Verify that Log is not used elsewhere.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.