Moodle Proctoring

Quiz access rules ::: quizaccess_proctoring
Maintained by Brain Station 23 LogoBrain Station 23
Moodle proctoring is a quizaccess plugin to capture the user's picture via webcam to identify who is attempting the Moodle Quiz. It will capture the picture automatically every 30 seconds and store it as a PNG image.
Latest release:
699 sites
873 downloads
24 fans
Current versions available: 1

Moodle Proctoring

Moodle proctoring is a quizaccess plugin to capture the user's picture via webcam to identify who is attempting the Moodle Quiz. It will capture the picture automatically every 30 seconds and store it as a PNG image.

This plugin will help you to capture random pictures via webcam when the student/user is attempting the Quiz. Before starting the quiz, it will ask for camera permission. By accepting the permission you will be able to see your picture and you can continue to answer the questions. It will act as a video recording service like everything is capturing so the user will don't try to do anything suspicious during the exam.


Features

  • Capture user/student images via web camera
  • Can't access quiz if the user does not allow the camera
  • Admin report and check any suspicious activity
  • Will work with existing Question Bank and Quiz
  • Webservice API for external call
  • Images are stored in Moodledata as a small png image

Configuration

You can install this plugin from Moodle plugins directory or can download from Github.

After installing the plugin, you can use the plugin by following:

  • Go to your quiz setting (Edit Quiz):
  • Change the Extra restrictions on attempts to must be acknowledged before starting an attempt
  • Done!
  Dashboard->My courses->Your Course Name->Lesson->Quiz Name->Edit settings

Webservice/API

  • To get the API to allow the permission: quizaccess/proctoring:getcamshots

  • Service URL like

        {YourServer}/webservice/rest/server.php?
        wstoken={XYZ}&
        wsfunction=quizaccess_proctoring_get_camshots&
        moodlewsrestformat=json&
        quizid={1}&
        userid={1}&
        courseid={1}


Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3

Contributors

Brain Station 23 Logo
Brain Station 23 (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Andy Hill
    Sat, Jan 9, 2021, 2:50 PM
    Hi Guys, Great plugin and works perfectly. However just wondered for those that don't have root access to the moodledata folder, is there a function to be able to delete the pictures/report from moodle itself?
  • Picture of Andrew Snowden
    Sun, Jan 10, 2021, 2:06 AM
    Superb plugin! Works a treat. Icing on the cake would be making it work with safeexambrowser. Something is stopping me from clicking the start button. I guess it's something to do with the start button only being enabled after the check box is ticked. Any ideas on what I would need to chnage in the safeexambrowser config file (using the seb configuration tool)?
  • Brain Station 23 Logo
    Thu, Jan 14, 2021, 7:52 PM
    Hi #NW and #Eka, To store the image files, we are using moodle File API (https://docs.moodle.org/dev/File_API) which stores all the files in "*moodledata/filedir*" in a hash format.
    To get the Proctoring report go to your Quiz page as a course administrator, you can click "View Proctoring Report" and see all the images.
  • Picture of Juan Antonio Moreno Carmona
    Sat, Jan 16, 2021, 8:04 PM
    Hi. I installed this plugin and it seems to work fine. Webcam is activated and I see no errors when I test the quizz. However when I try to get the report as an administrator or course teacher I get an error with dmlreadexception.
    Información de depuración: ERROR: error de sintaxis en o cerca de «WHERE»
    LINE 3: ...uizaccess_proctoring_logs e INNER JOIN mdl_user u WHERE u.id...
    ^
    DECLARE crs3 NO SCROLL CURSOR WITH HOLD FOR SELECT e.id as reportid, e.userid as studentid, e.webcampicture as webcampicture, e.status as status,
    e.timemodified as timemodified, u.firstname as firstname, u.lastname as lastname, u.email as email
    from mdl_quizaccess_proctoring_logs e INNER JOIN mdl_user u WHERE u.id = e.userid
    AND e.courseid = '3' AND e.quizid = '62' group by e.userid
    [array (
    )]
    Error code: dmlreadexception

    I use postgresql 13.1-3
  • Picture of Antoun Yaacoub
    Fri, Jan 29, 2021, 3:42 AM
    Hey guys, this is great tool for online quizzes. However it's urgent to add a functionality to delete the pictures ! We have a more than 6000 students and with a 60 minutes, we have retrieved with 20 GB of pictures !
  • Picture of lourdes cid
    Mon, Feb 1, 2021, 5:46 PM
    Hi. Great plugin, but I need to use with safexambrowser. Any ideas on what I would need to change in the safeexambrowser config file (using the seb configuration tool)? Thank you!!
  • Brain Station 23 Logo
    Mon, Feb 1, 2021, 6:19 PM
    #AntounYaacoub we are working with it. Hopefully, we will release it soon.
  • Picture of Sanchez Oshin
    Fri, Feb 5, 2021, 3:48 AM
    @Brain Station, is there a way to download all images at once? Instead of just viewing them.
  • Picture of Jan Bydžovský
    Fri, Feb 5, 2021, 5:24 AM
    Hello!
    Thanks for your great work. I am looking forward to future version where I would appreciate:
    - user interface in each course to manage the stored images (view, delete etc.)
    - possibility to set the size & quality of the images and frequency of capturing (ie. not every 30 secs but eg. randomly in interval FROM-TO)
    - store other information like about the content of other windows, IP address and its location etc.
    - the possibility to watch the camera(s) in real time when the quiz is being written.
    Last request: would you be so kind and wrote a step-by-step instruction how to access and manage the images at present where there is not a user interface for it so far? I mean for those who are not familiar with using API. Thank you!
    Best regards,
    Jan
  • Brain Station 23 Logo
    Thu, Feb 11, 2021, 4:45 PM
    @SanchezOshin Not have any option to download all images at once. We will check it.
  • Picture of Szilárd Enyedi
    Wed, Feb 17, 2021, 6:32 PM
    @Ram Prakash
    Late reply, hopefully you've found the solution, but here goes. Maybe it will help others.

    The Moodle web server must be HTTPS (secure HTTP, with SSL), so the students can connect to https://your.moodle.server, not to http://your.moodle.server.
    If it is only HTTP, the students' browsers will not allow the camera to be activated, for security reasons.

    Many web browsers enforce this (no camera allowed on regular http sites):
    - Firefox version 68 and later (but even some pre-68 versions cannot "remember camera permission permanently" and the Proctoring plugin won't work properly);
    - Chrome version 47 and later;
    - Edge version ? (the current version definitely doesn't allow camera access on non-https sites);
    - probably the other browsers, too.

    You can enable camera support for non-https sites in Chrome, to to test this Proctoring plugin, but you should disable it again, after testing. I followed the steps here: https://medium.com/@Carmichaelize/enabling-the-microphone-camera-in-chrome-for-local-unsecure-origins-9c90c3149339 . Remember that you have to write the allowed server's address in the settings box.
    I couldn't find a way to enable this in Firefox, even temporarily.

    If you are the Linux Moodle server administrator, you can enable HTTPS on your server (which you should do for security, even if you don't use Moodle at all):

    1. If your Moodle server doesn't have a name (your students connect only to an IP address like http://123.123.123.123), then you should get a name for your server.
    You can do that for free:
    - your Internet provider can probably give you a free dynamic DNS record, something like ramoodle.starlink.com; you don't even have to be the Linux sever administrator and you can do this usually on their web page, in your account;
    - if not, then you can open a free account at a dynamic DNS provider like NoIP.com, create a DNS record like ramoodle.ddns.net on their web page, and install a small program on your server, so that your server periodically reports its IP to noip.com and students can connect to http://ramoodle.ddns.net - your Moodle server; to do this, you have to be the Linux server administrator.

    2. Get a free SSL (HTTPS) server certificate from "Let's Encrypt!". It's easy, but you need to be the Linux server administrator. You will have to install a small program (certbot) and run it. It will connect to the service, get a free SSL certificate for your server and convert your server to HTTPS, in a few minutes. The certificate expires in 90 days, but the certbot program will automatically renew it, you don't have to do anything.
  • Picture of Szilárd Enyedi
    Wed, Feb 17, 2021, 6:40 PM
    @Brain Station 23

    Very useful plugin, at least for me. I think that it should be part of the core package, especially in these pandemic-ridden, online-exams times. After the Moodle privacy lawyers approve it, of course.
    Thank you.

    Important: please, add to the plugin info that the Moodle server must be HTTPS. It does not work on an HTTP site (non-SSL). I could not understand why everything was fine, no errors, but the camera would not activate and I could not see myself in the quiz window. For security reasons, modern browsers will not allow camera access on non-https sites.

    Possible bug: If, as administrator, I go into quizzes, exit quizzes, go to other quizzes etc., sometimes the camera does not activate when entering a proctored quiz, sometimes it does not deactivate when leaving a proctored quiz, but restarting the browser always fixes the problem. I'm not sure that it is a Proctoring bug, more probably a browser bug.
  • Picture of neama ageb
    Tue, Mar 9, 2021, 6:31 PM
    i works well as a web based plugin, but it can't open camera to do quiz, when trying to access quiz through mobile app

  • Picture of Lily Haddad
    Tue, Mar 30, 2021, 7:31 PM
    Hello, thanks for a great Plugin.

    I am using it on my moodle to run online exams and just want to check if anyone has experience with how much space the images take up? And will this impact the running of my site. It would be terrible to have something crash in the middle of an exam. How often do you delete?
  • Picture of Mawan A. Nugroho
    Fri, Apr 9, 2021, 8:21 PM
    How to delete all photos at once?
1 2 3
Please login to post comments