-
Notifications
You must be signed in to change notification settings - Fork 175
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
[dataquery] New Data Query Module #8907
Conversation
This adds a Module->getQueryEngine() function to the Module class to get the QueryEngine to the module. The default is a NullQueryEngine which does nothing and matches nothing. Update the dictionary module to use the new interface instead of Module->getDataDictionary().
@zaliqarosli sorry, I forgot to send this PR after the demo! |
@zaliqarosli I requested your review because I had to choose someone to test how it affects the GitHub Roadmap project. Please disregard for now (unless you want to review.) |
27dfef6
to
9cafb7e
Compare
This defines the schema I've been using to design a QueryEngine (rather than CouchDB) based data query tool.
This describes what is POSTed and also goes directly into a subfield of a Query object, not directly into the query.
This was causing bugs when tested on RB
@CamilleBeau @zaliqarosli I believe I've addressed both of your reviews |
There is a bug in DataTable which needs to be fixed, but this should work once it is
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code cleanliness comments
This has been through a few review/testing/fixing cycles. Merging so that we can move on to the next phase (imaging) |
This implements a completely new, couchdb free data query module based on the LORIS data query framework and the API introduced in PR#8268.
This (Draft) PR merges all the dependent PRs but will be continually re-based and taken out of draft mode once it is narrowed down to only the new module's javascript. You can review this PR, but if it's not part of the module's typescript please put the comment on the appropriate blocking PR instead.
In the new module, all queries that are run by the user are saved into a history. The user can star or name a query in order to make it easier to find, rather than having to decide ahead of time that they want to save or share a query. Admins can pin queries (either to the top of the module or to the LORIS dashboard).
The UI is also (generally) simplified and more context-sensitive. The "define filters" tab should be easier to understand. The view data tab has a new view where candidates are rows, fields are columns, and session-scoped variables are displayed inline in the cell in a table.
Permissions are enforced for modules, candidates, and sessions.
Blocked by #8880Blocked by #8878Blocked by #8876Blocked by #8873Blocked by #8855Blocked by #8288Blocked by #8940Blocked by #8942Blocked by #8943Blocked by #8944Blocked by #8945Blocked by #8950Blocked by #8958Blocked by #8959Blocked by #8960Testing instructions: No configuration should be required other than running the module's SQL patch.