SQL-Train is a learning platform created by students for students, where you can execute and solve SQL tasks directly in your browser. The Tool can be integrated in to LMSs via LTI.
The editor library we are using for SQL-Train has a built-in mode for vim/emacs.
It would be cool if user could use it if they want.
Perhaps there are also other features which might be useful. (Except auto complete) Documentation
Unfortunately the authentication for making request from our tool to Moodle is not working.
I do not know if this is my fault or the a library/LMS issue.
To reproduce just use the ags = launch.get_ags() aborts because it get the following Moodle error.
Moodle 4.2: Exception - Argument 1 passed to mod_lti\local\ltiopenid\jwks_helper::fix_jwks_alg() must be of the type array, null given, called in [dirroot]/mod/lti/locallib.php on line 1335.
The error points to the jwks serving. Either the we do not set the jwks url correctly or the PyLTI1p3 library messed something up (or Moodle). (Perhaps this URL has to be allow or something)
It would be nice for grading and statistics to make the services work which was not part of our project.
Resetting the database takes linear time O(n) dependent on the current exercise because all solutions before this have to be executed to enable student to work on any exercises even if they did not do the previous.
This could be solved with concating the setup script and the solutions. However this requires extensive testing and unit tests.
An alternative or an additional point would be to do these pg_stud request asynchronously.
For better statistics it would be nice to know the total number of student in a course. This requires #7
With nrps we could get the total number of students. The data for course should be updated if they change.
NRPS has to be allowed be LMS.
It would be nice to have the optional feature of sending grades back to the LMS. This requires #7
It makes sense that there should be a difference between ungraded and graded exercises which do not show the solution.
Implementation should be done with the LTI Assessment and Grading System.
Notes:
DataModel images are being served by nginx so there is no access control in place.