Grading Submissions on Moodle VPL

Re: Grading Submissions on Moodle VPL

by Juan Carlos Rodríguez-del-Pino -
Number of replies: 3
Picture of Particularly helpful Moodlers Picture of Plugin developers

Dear Ricardo,
To customize what program VPL runs when Run, Debug, or Evaluate is clicked you can write your own vpl_run.sh, vpl_debug.sh or vpl_evaluate.sh at "execution files". Notice that these files are the "compilation stage" and generate the program that finally is run that must be named vpl_execution.
You can see examples of these files at https://github.com/jcrodriguez-dis/moodle-mod_vpl/tree/v3.3.7/jail/default_scripts

Best regards,
Juan Carlos.

In reply to Juan Carlos Rodríguez-del-Pino

Re: Grading Submissions on Moodle VPL

by Ricardo Mizos -
Thank you.

We decided to move on to using an AI-experience center (AIEC) called Jupyter for students to be able to store their files on that server, with each student/instructor having their own directory there.

We want to integrate that server to our VPL LMS-client, and we want students to be able to download the files they work on in Jupyter and then upload them to a VPL for evaluation. One issue we have is the security. When trying to download a file, someone should be presented with an authentication request (username/password).

Is it possible to use a client like Putty or WinSCP to SSH into a Jupyter server? If so, what would be the proper credentials? I tried this with WinSCP and failed, possibly because the server may not have FTP/SFTP installed.

The thing is, from the VPL I am able to use the wget command with the link to the file to download it onto the temporary drive in the VPL server during the execution. This should fail and/or ask for authentication credentials. We do not want students to be able to see or get files they're not supposed to.

How can I implement this kind of security to any of the servers? I believe our main goal is to unify all 3 servers (Jupyter, VPL, LMS)
In reply to Ricardo Mizos

Re: Grading Submissions on Moodle VPL

by Juan Carlos Rodríguez-del-Pino -
Picture of Particularly helpful Moodlers Picture of Plugin developers
Dear Ricardo,
Your question does not have an immediate or easy answer. The authentication of VPL is under Moodle control. There is no easy way to access VPL without Moodle authentication. VPL provides (under Moodle control) a web services API you can try to use.

Best regards,
Juan Carlos.
In reply to Juan Carlos Rodríguez-del-Pino

Re: Grading Submissions on Moodle VPL

by Ricardo Mizos -

Dear Juan,

Thank you for your response, but what we are trying to do now is find a way for VPL to be able to access a student's files on their directory on a Jupyter server and grade them.

For the time being we log in and download them manually, then submit them to Moodle, but we want the execution of the VPL to get the files automatically so that when a student decides to have their files evaluate, the VPL will get them from Jupyter and grade them. I understand what you explained to me about how there's no easy answer, but I came up with another idea based on what I know works, and I explain it below.

Since I am capable of using wget to do this, I thought if there was a way, with the use of strings and variables, to run a wget that gets the correct files based on the name of the student on Moodle and the name of the student on Jupyter. I would assume these have to match, but is there a line of code that gets the name of the student running the execution which would be stored as a string during the execution itself? This would help in the creation of the file path for wget, which uses variables and strings to construct it in the program.

One last question, I would like to know if and how it's possible for a student to run the VPL's execution without providing their own file manually in Moodle since this would be done automatically by the VPL's execution itself. 

Thank you!