To start using the Inspera plugin (called Proview) with Moodle, download and set up two essential plugins: quizaccess_proctor and local_proview. These plugins serve distinct purposes. Quiz Access Proctor integrates Proview quiz settings into Moodle, managing proctoring types, candidate instructions, and the Secure Browser (SB) activation for quizzes. Local Proview injects Proview JavaScript for quiz launches and fetches session playback URLs after exams. Together, they ensure seamless Proview functionality within Moodle quizzes.
Prerequisites
Before installation, please ensure you have:
- Active Moodle Environment: Access to your Moodle platform with administrator rights.
- Compatible Browser: Ensure candidates use a compatible web browser for the proctored quizzes.
- Domain Allowlisting: It is necessary to have your Moodle domain authorized and allowlisted to use Inspera’s Proctoring Services. This is a security measure to ensure that only approved domains can interact with the service.
Ensure your server and Moodle environment meet the necessary technical requirements for the plugins.
Quiz Access Proctor Plugin
Overview
The Quiz Access Proctor plugin integrates directly with Moodle's quiz module, enabling educators to apply specific proctoring settings to their quizzes. This plugin is a key component in managing how proctoring is conducted during quizzes, offering settings for different types of proctoring and enabling the use of Inspera's Secure Browser to ensure a controlled testing environment.
This plugin is required for the installation of the moodle-local_proview plugin
Installation and Setup
- Navigate to Site Administration in the admin view.
- Proceed to Plugins, and then select Install Plugin.
- Download the plugin from https://github.com/talview/moodle-quizaccess_proctor/releases.
- Click on "Install the plugin" and follow the on-screen instructions through the subsequent pages.
- On the plugin settings page:
- Enable configurations for the plugin by selecting the Checkbox (Default Enabled).
- Enter the callback URL
- Europe: https://moodle-proview-api.talview.com
- Australia: https://moodle-proview-api.talview.nz
- Input the username provided by Inspera for authenticating the callbacks.
- Provide the password provided by Inspera for authenticating the callbacks.
The installation process is now completed.
Local Proview Plugin
Overview
The Local Proview plugin works alongside the Quiz Access Proctor plugin to inject the necessary Proview JavaScript into Moodle quizzes. This plugin ensures that the proctoring session is initiated correctly when a quiz starts and manages the integration aspects such as fetching session playback URLs post-exam for review purposes.
Installation and Setup
- Access the admin view and navigate to Site Administration -> Plugins -> Install Plugin.
- Download the plugin from https://github.com/talview/moodle-local_proview/releases.
- Click on "Install the plugin" and follow the subsequent pages to complete the installation process.
- On the plugin settings page, perform the following steps:
- Enable Proview by checking the checkbox (Default Disabled).
- Enter the Proctor Token provided by Inspera (subscription based).
- Enter the CDN URL provided by Inspera (subscription based).
- Enter the Proview Admin URL provided by Inspera e.g., https://appv7.proview.io/embedded.
- Enter the Account Name provided by Inspera.
- Update the root_dir to match the root directory of your Moodle installation.
- Note: The root directory refers to the directory where Moodle is installed. If you access Moodle using a URL like 'https://example.domain.com/,’ the root directory is '/,’ and no additional configuration is required. However, if you access Moodle using a URL like 'https://example.domain.com/moodle/,’ the root directory is '/moodle/' and must be configured accordingly in the root_dir field during the Proview installation process.
The installation process is now complete.
Note: While the plugin is installed, please share the domain name in which Moodle is hosted for the candidates with Inspera to do domain allowlisting.
Quiz Level Configuration
After installing the plugin, it will set all existing quizzes to have Proctoring and Secure Browser disabled by default. To enable Proctoring for a specific quiz, follow these steps:
- Go to the quiz for which Proctoring needs to be enabled.
- On the Right Hand Side, you will find a settings icon; click on this icon.
- Select "Edit Settings."
- Scroll down to find "Proview Proctoring Settings.
- In this section, choose the type of proctoring from the dropdown. Inspera supports three types of proctoring:
- AI Proctoring: The session is evaluated by an AI engine, which generates an automated Proview Score.
- Record and Review Proctoring: The session is evaluated by a proctor after it is complete, and the proctor assigns a Proview Rating.
- Live Proctoring: The session is evaluated by a proctor while it is ongoing, and the proctor can communicate with the candidate if necessary. The proctor provides the Proview rating.
- To enable Secure Browser, select the "Enable Secure Browser" checkbox, but please note that TSB will only be launched if the quiz is Proview Proctoring enabled.
- When configuring quizzes for Open Book exams, it's now possible to include a "Reference Links" section. This feature allows examiners to provide candidates with direct access to essential resources during the exam. In the Proview Proctoring Settings, reference links can be seamlessly integrated. Simply insert the link using the sample format [Linux](<https://www.linuxfromscratch.org/lfs/>). This action will ensure that the link is conveniently displayed on the candidate's screen, adjacent to the proview preview element, symbolized by a link icon. By clicking on the icon, candidates can view the link's caption. A subsequent click on the caption will open the link in a new tab, facilitating immediate access to the reference material without leaving the exam environment.
Configure Proctoring Type For A Quiz
Select one of the following values from “Proview Proctoring Session” -> “Select Proctoring Type” within the quiz settings window to set up a specific proctoring type. The supported proctoring types are outlined below; their availability is subscription-based:
- No Proctoring: Neither Proctoring nor Secure Browser will be enabled for the quiz.
- Recorded: Sessions are assessed by an AI engine, generating an automated Proview Score. Choose Recorded from the dropdown values.
- Record and Review: Completed sessions are reviewed by a proctor, who assigns a Proview Rating. Opt for Record and Review Proctoring in the dropdown values.
-
Live Proctoring: Proctors assess ongoing sessions and can interact with candidates if needed. The proctor provides the Proview rating. Select Live Proctoring from the dropdown values.
- Note: For Live Proctoring, ensure slots are booked, or the schedule is shared with Inspera.
Configure Secure Browser
SB is a secure browser compatible with Windows and Mac devices. Enabling SB compels candidates to use SB for exams.
Configuration: Enforce SB by selecting the checkbox “Proview Proctoring Session” -> “Enable Secure Browser” within the quiz settings window.
Activation: Once enabled, candidates are directed to an external page to download the latest SB version and launch the exam.
Activating Live Proctoring with Proview in Moodle
It starts with establishing an external web service within Moodle, essential for facilitating secure data exchange between Moodle and Proview. Subsequently, generating a web service token authenticates this connection, enabling a trusted communication channel. The final step, synchronising enrolment details, ensures that each candidate's information is accurately matched with their corresponding proctored exam session.
- Creating External Web-service
- Step 1: Navigate to the Server tab under Site Administration
- Step 2: Click on the External Services under Web services Tab
- Step 3: Click on the Add button to create a new web service
- Step 4: Give Name, Short-name for the web-service and enable it and click on add service
- Creating Web-service Token
- Step 1: Navigate back to the server tab and click on Manage Tokens under Web-services
- Step 2: Click on Create Token
- Step 3: Select any user with administrative role and the service created earlier and click on Save Changes
- Step 4: Share the Token and the Moodle url to the Inspera Team
- Sample URL : https://your.moodle.instance/webservice/rest/server.php
- Sample Token: 004cf89383fc7390b8b7c92e0d27ehj2
Viewing the Proctored Session
The post-exam review process aims to facilitate exam administration and student evaluation through the LMS. This document outlines the step-by-step procedure for administrators to access and review exam results, including utilizing playback view recordings of students.
Process
- Login to Moodle LMS:
- Access the Moodle LMS platform using your credentials as the Exam Administrator.
- Select Course and Quiz:
- Navigate to the specific course for which the exam was conducted.
- Locate and select the appropriate quiz related to the exam.
- Access Exam Results:
- Within the course, navigate to the 'Results' tab associated with the selected quiz
- Display Report:
Click on the 'Show Report' option to generate the exam report. - Review Student Results:
- Review the exam results displayed in the report.
- Analyze individual student performances, scores, and any relevant statistics provided.
- Utilize Proview URL:
- Identify the student whose exam playback needs to be reviewed.
- Click on the corresponding student's details or name in the exam report.
- Access Playback View:
- Locate the 'Proview URL' associated with the selected student.
- Click on the provided Proview URL link to access the playback view recordings of the student's exam session.
- Review Recording:
- Upon accessing the Proview URL, the playback view recordings of the student's exam session will be displayed.
- Review the recording to observe the student's actions and behavior during the exam.
Other Features and Configurations
Few features of plugins require custom configurations. Here is a list of these features with configuration details:
-
Disable Proview For A Group
A user group must ensure Proview does not load for specific candidates in each course.
- Go to the specific course and navigate to Participants.
- Click the Settings Icon on the Right Hand Side and choose "Groups.”
- Select "Create Group.”
- Set the group name as "proview_disabled.”
- Return to the course, click the Settings Icon on the Right Hand Side, then select "Edit Settings.”
- <aside> 💡 Note: Any candidate added to this group will not have Proview enabled for them in this course.
</aside>
-
Enrolment Sync
While scheduling a live proctored session, it is important to do the Moodle’s Course Enrolment details with Inspera’s proview service for the Proctored Exam Scheduling and Proctor allocation. Hence the Examination Team has to share the Quiz ID Slot details with Inspera.
-
Callback Data Reception
Upon the creation, update, or deletion of a quiz in Moodle, our integration layer receives callback data containing essential information about the quiz. The callback data comprises the following fields:
- "quiz_title": Title of the quiz
- "action": Action type (0 for New quiz Creation, 1 for update, and 2 for deletion)
- "quiz_id": ID of the Moodle Quiz
- "course_id": ID of the course in which the quiz is created
- "course_module_id": Course Module ID of the quiz
- "proctoring_enabled": Proctoring status (true or false)
- "proctoring_type": Type of proctoring
- "tsb_enabled": TSB (Time Slot Booking) status
- "timeopen": Opening time of the quiz
- "timeclose": Closing time of the quiz
- "timelimit": Time limit for the quiz
- "timemodified": Last modification time of the quiz
- "timecreated": Creation time of the quiz
-
Data Storage
The received information from Step 1 is stored in our database for further scheduling and management purposes.
-
Attendee Details Retrieval
For live proctored examinations, we invoke an external web service configured on the Moodle platform to retrieve attendee details. Attendee details typically include:
- First name
- Last name
- Email address
- Moodle user ID
- Moodle Quiz ID
- These details are stored in our attendee table and associated with the respective quiz.
-
Event Scheduling
The examination event is set up on the Proview platform by entering the candidate information obtained in Step 3. By linking their Moodle user ID with the corresponding quiz ID, we ensure the exam event is scheduled accurately.
Processes for Live Proctoring Event Scheduling
- Synchronizing data from Moodle with Inspera's integration layer as mentioned in previous steps.
- Verification of data (is an optional process) in line with the tailored requirements of the customer.
- Establishment of the event, slots, and proctor assignment to publish.
-
Approaches to Event Scheduling
- Manual scheduling: Once the initial two steps are completed, Inspera's Managed Service Team can proceed to manually organize the live proctoring sessions.
- Automated scheduling through cron jobs: Depending on the specific needs of the customer, scheduling can be automated by setting up cron jobs on a schedule. For institutional customers, like colleges and universities, it's advisable to configure the cron job to run once every 24 hours. However, this interval can be adjusted to a shorter timeframe upon customer request.
-
Examination Launch
When a candidate initiates a quiz in Moodle, their user ID and quiz ID are transmitted to Proview for validation against the scheduled candidate details. Upon successful validation, the candidate proceeds with the preflight steps in Proview and begins their examination.
-
Callback Data Reception
-
Enrolment Sync
LMS scheduling validations
LMS DATA SYNC
Quiz data sync:
In the integrated workflow data is synchronized upon the creation, update, or deletion of a quiz in LMS. Following are the attributes that are processed as part of integration:
- "quiz_title": Title of the quiz
- "action": Action type (0 for New quiz Creation, 1 for update, and 2 for deletion)
- "quiz_id": ID of the Quiz
- "course_id": ID of the course in which the quiz is created
- "course_module_id": Course Module ID of the quiz
- "proctoring_enabled": Proctoring status (true or false)
- "proctoring_type": Type of proctoring
- "tsb_enabled": TSB (Time Slot Booking) status
- "timeopen": Opening time of the quiz
- "timeclose": Closing time of the quiz
- "timelimit": Time limit for the quiz
- "timemodified": Last modification time of the quiz
- "timecreated": Creation time of the quiz
Enrollement data sync:
Quiz enrollement data is processed only if the quiz is marked for live proctoring. The Proview
LMS integration layer pulls the data based on schedule identified for the customer. This logic can changed based on the LMS platform and its capability.
Following are the attributes that can be processed
- First name
- Last name
- Email address
- LMS user ID
- Status
- Extra time
- Candidate instruction
Note: If automated data sync is not part of the implementation then the schedule and enrollement data should be sent to Inspera in CSV file format with the below mentioned fields
VALIDATION STEPS FOR SCHEDULING INFORMATION
The validation process can be carried out by either the client or Inspera, with two distinct methods: client validation and Inspera validation.
Client validation involves the following steps:
- Quizzes Creation: The client creates quizzes tailored to their specific requirements.
- Data Sync: Once the quizzes are created, Inspera synchronizes the data.
- Bulk Data Download: Inspera then downloads the synchronized data in bulk.
Offline Validation: The synchronized data is shared with the client offline, allowing them to validate the data at their convenience
Inspera validation involves the following steps:
- Quizzes Creation: Client creates quizzes based on the specifications provided.
- Information Sharing: The client shares the exam schedule and enrollment list with Inspera as per the template provided.
- Schedule Validation: Inspera conducts validation checks on the provided exam schedule to ensure if all the quizzes are accurately created and visible in Inspera database
- Enrollment Validation: Inspera verifies the enrollment list to confirm that all intended participants are correctly registered for the quizzes.
SCHEDULE VALIDATION
Once quizzes are created in LMS by the client, and exam schedule is shared with Inspera, the following validation steps are performed:
- Quiz ID Check:
- Verify if the quiz ID is visible in the Inspera database.
- Proctoring Enabled:
- Verify if "proctoring enabled" is set to true.
- Proctoring Type:
- Verify if the correct "proctoring type" has been selected: live_proctor/ai_proctor.
- TSB Enabled (Secure Browser):
- Verify if "TSB enabled" is false if the exam is configured without the secure browser.
- Verify if "TSB enabled" is true if the exam is configured with the secure browser.
- Quiz Open Time:
- Verify if "Quiz open time" is set correctly as per the schedule, with a minimum of 30 minutes prior to the scheduled time in Proview
- Quiz Close Time:
- Verify if "Quiz close time" is set correctly as per the exam duration.
- Onboarding buffer time:
- The buffer time for onboarding can be adjusted to ensure that students join well in advance of the actual test start time, allowing them to complete pre-flight validations with the live proctor.
ENROLMENT VALIDATION (SOURCE VS INTEGRATION)
If enrolment information is shared, we can validate it against the data processed via integration.
- Validate Student Count:
- Using the quiz ID, verify that the student count enrolled matches the attendee sync count for each quiz.
- Student Identification:
- With the help of student email IDs or unique IDs, manually check if all the students in the enrolment list match the attendee sync data.
- Validation Result:
- The schedule and enrolment discrepancies are communicated to the client to enable them to make necessary corrections in the LMS platform and re synchronize the data accordingly.
Recommended validation cycle -
- The data from LMS will be synced by Inspera at an interval of 4 weeks, 2 weeks, and 48 hours from the start of each exam date.
- All Cancellations/rescheduling will be closed 48 hours prior to the test date. Any cancellation or changes to the bookings will still result in a chargeable session to the client.
- Between 2 weeks to 48 hours from the exam date, the deviation on the extra candidate volume cannot be more than 5%
Approaches to Event Scheduling
- Automated scheduling through cron jobs: Depending on the specific needs of the customer, scheduling can be automated by setting up cron jobs on a schedule. For institutional customers, like colleges and universities, it's advisable to configure the cron job to run once every 24 hours. However, this interval can be adjusted to a shorter timeframe upon customer request.
- Manual scheduling: Once the initial two steps are completed, Inspera's Managed Service Team can proceed to manually organize the live proctoring sessions.
Important Notes:
- Automatic scheduling occurs without manual intervention and is initiated 48 hours prior to the event.
- Manual scheduling requires admin portal access and involves entering event details manually.
- Once an event is scheduled and published, changes such as altering the date, time, or attendee list are restricted.
Limitations
- Enrollment sync will consider all the candidates enrolled for the course even if they are in inactive status.
-
Compatibility with Moodle theme Adaptable. When the Adaptable theme is installed in Moodle the Proview plugin is unable to stream video and this blocks the user from continuing with the test. We have identified a solution for this case. Solution: The Pace Js on the Adaptable theme is currently blocking the WebSocket connection, hindering the video stream connection from streaming.
-
Step 1: Navigate to the Appearance Section on Moodle Site Administration.
-
Step 2: Click on the Additional HTML option
-
Step 3: Add the following code under the HEAD section of additional HTML.
<script> var paceOptions = { ajax: { trackWebSockets: false } }; </script>
-
Step 4: Click on Save Changes.
-
Step 1: Navigate to the Appearance Section on Moodle Site Administration.
- Exceptions need to be handled offline.