Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024 05 23 test2 #399

Open
wants to merge 53 commits into
base: main
Choose a base branch
from
Open

2024 05 23 test2 #399

wants to merge 53 commits into from

Conversation

kongtiaowang
Copy link
Owner

Brief summary of changes

  • Have you updated related documentation?

Testing instructions (if applicable)

Link(s) to related issue(s)

  • Resolves # (Reference the issue this fixes, if any.)

maximemulder and others added 30 commits April 16, 2024 10:57
Display the name of the user instead of their ID in the notification emails.

Fixes aces#9202
In the uploadForm.js file is modified to increase / decrease the numFiles value according to whether a file was actually selected or not. If a file is selected, the numFiles increases. If a file is not selected, the numFiles decreases.

This prevents the bug where "File to Upload" field is added indefinitely if the file is browsed and then cancelled.

Fixes aces#9136
The recruitment graphs on the dashboard provided by the
statistics module are not efficient. They run one SQL query
per month per year per site for each graph that is displayed.
This is highly inefficient for large projects.

This replaces the single queries in the inner loops with a
single group-by query which it processes into the same format.

The result should be significantly faster load times on the dashboard
when the statistics module is loaded.
The value expected by the field is the number id, but the fetch statement was returning the name - so I modified the sql statement to fetch the project ID.

Fixes aces#9134
Display correct error message for files that are too large

Resolves aces#9163
…tion function (aces#9208)

An error regarding the non-existence of a notification_module with module: publication and operation: download prevented the downloading of files.

The notification function was overridden for this module to bypass the LorisException thrown by the non-existence of entries. It appeared by far to be a simpler solution than checking for and adding extra logic when the entries do not exist.

Resolves  aces#9133.
-The loris baseURL is now sent from the react pages to the ajax scripts on submit for both editing and uploading a new publication, and then is sent in the email.
- I did it this way as \NDB_Factory::singleton()->settings()->getBaseURL() does not work in ajax files, and since it is deprecated it made more sense to do a hotfix rather than investigating the issue with ajax.
- This was noticed and fixed for files in php folders in  PR#7807, however that same fix does not work for ajax. Thankfully publication is the only module with ajax still that uses getBaseUrl().

Resolves aces#9132
Fix display of long help text or help text when scrolled past the start of the page.

Resolves aces#9180
This updates the candidate_list module to use format=binary
format instead of format=json. For large projects with many
candidates the encoding of the data to JSON can use up all
the server's memory and then crash with an out-of-memory error.

Since the format=binary format is a line-based streamable format,
it does not require loading the entire result set into memory before
transmitting it to the client and larger data sets can be loaded into
LORIS.
Document required configurations for spm

Fixes aces#9153
Use a batch insert instead of a prepared statement loop to
populate temporary table in new DQT for SQLQueryEngine.

This makes the SQLQueryEngine use the same logic as
modules/dataquery/php/query.class.inc, which is much more
efficient for large data sets.
Fix insert statement when too many roles are added by converting the fields from varchar(255) to text.

Fixes aces#9173
…ils (aces#9214)

Remove unnecessary newline in dicom archive display.
Only re-build instrument data dictionaries, not all data dictionaries, to ensure all names are unique.
…ces#9183)

This adds the query parameter showFeedback=true to trigger auto-opening the feedback panel on-load.

Fixes aces#8056.
This modifies the test plan for the genomic browser module. The changes are mostly cosmetics but also include corrections of the permission names and table headers mentioned in the plan.

Resolves aces#9151
…9188)

Permissions are check now before allowing to add examiner to site.
Before this, a user with only the permission Examiner: Add and Certify Examiners - Own Sites was able to add examiners to sites it don't belongs to. Now this feature is only granted to users with the corresponding level of permission.

Fixes aces#9149
There are a number of settings that we use frequently in LORIS such as "base" to get the base path. When accessed multiple times in a request at different places in LORIS, each one currently requires a query against the database.

This caches any settings that are used in NDB_Config so that future calls to getSetting() can return the cached value and not make another round trip to the DB.
The Query class in the dataquery module includes an IsAccessibleBy function to check accessibility of a query by checking if the user has access to all fields used in the query (for both fields and filters). It currently caches the data dictionary of a module the first time it's used to avoid having to re-retrieve the dictionary for every field. However, each Query object instance has its own cache.

This changes the dictionary cache to be a static variable so that it can be shared across different instantiations of the object. This significantly speeds up the /dataquery/queries/ endpoint which applies an AccessibleResource filter to every query returned by a provisioner.
Fix errors unused-vars warnings that are easily fixed errors. I'm not
sure of the impact of changing the remaining two since they're used in
a destructuring context. Someone familiar with the EEG browser should fix
(and test) them.

Upgrade rule from "warning" to "error" for javascript, while leaving it for
typescript since there are two that are still unresolved.
Fixes bug where when emailing a survey, if you enter mismatch emails the Email button is disabled but the form is not sent out, but no error message displayed.

Resolves aces#9086
Improve the webpack configuration to make building LORIS more memory and time efficient. The changes of this PR are described in aces#9218 (comment)

Resolves aces#9218
The "Sex" data type is incorrectly returning an object instead of
an array for the field options of the dictionary because \Utility::getSexList
returns an associative array, not an array.
getCandID in the instrument class was incorrectly returning a string
instead of a CandID object. (Since the function was recently added,
we still have time to fix it before the release with little chance of
it having been used elsewhere.)
This seems to fix the issue found during the testing meeting, where there was a problem in the compilation of JS modules (found in the dataquery but probably in other places too).
… field in dataquery module (aces#9224)

The dataquery module was showing the backend enum value, rather than the frontend label, which isn't very useful to most users.

This adds an option for the user to select how they want to display enums.

It also updates the menu label from "alpha" to "beta" since the module has now been tested with large data sets.

Fixes aces#9221
This updates the test plan of next_stage module because there is no longer a "scan done" option (aces#8955). This step is removed from the testing instructions.
jeffersoncasimir and others added 23 commits May 9, 2024 10:09
…s#9241)

The sampling frequency for the EEG data on RB is 256Hz instead of 512Hz.

It is the incorrect value for the dataset, and it also prevents filters from working on the signal, because coefficients are not defined for 256.
Upgrade GitAction checkout version from v2 to v3.
)

Create release patch and archive patches included in it.
Require users to have access to a project they are creating a candidate for in the API.
This adds a project filter for TaskQueryWidget so that a user will only see the relevant tasks to their own project assignments.

Fixes aces#9130
The Study Progression - site scans graph on the dashboard has a few instances of this issue c3js/c3#1885, where the timeseries goes back in time in order to make a smooth spline.

Take fix from that issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.