ProctorEdu

Integration with Sakai LMS

  • Sakai is a robust and versitile Learning Management System designed to enhance the educational experience. It offers a comprehensive suite of tools for course management, collaboration, and assessment, making it a go-to platform for educators and institutions worldwide. With its user-friendly interface and powerful features, Sakai supports innovative teaching methods and fosters student engagement. Whether you're creating interactive courses, facilitating online discussions, or tracking student progress, Sakai provides the tools you need to deliver high-quality education.

ProctorEdu Can Cover all Your Needs

Exclusive exam integrity features of proctoring software have been proven to be helpful at any type of the Corporate Online Assessment or Higher Education Exams.

  • Exams Anywhere, Anytime
    Obtainable at any time with no scheduling. Thus, both educators and students can manage their time schedules more efficiently.
  • Zero Stress Proctoring
    Support is dedicated to help you through integration process, paying extra attention to data security and smooth scenarios.
  • Available Worldwide
    ProctorEdu supports Spanish, French, Arabic, Dutch, Greek, Turkish, Chinese, Portuguese, Latvian and Hebrew with more languages being added regularly.
  • Scalability
    99.95% of sessions with no downtime. Automated Proctoring allows us to accommodate your institution's requirements, irrespective of its size or where it is based.

Proctored Exams a Few Clicks Away!

What makes ProctorEdu unique

Online proctoring service with user-experience in mind.
Customized Experience
With both AI and live proctoring options we align to specific needs of Higher Education and Corporate domains.
Zero Stress
One of our KPIs is the passing rate, which reflects our ongoing efforts to increase the percentage of individuals who take a proctored test without encountering any critical issues. The last time we checked, we achieved an impressive passing rate of 99%.
AI tools detection
To prevent the use of AI extensions such as ChatGPT during online exams, ProctorEdu provides an assortment of proctoring tools.
Scalability
99.95% of sessions with no downtime. Automated Proctoring allows us to accommodate your institution's requirements, irrespective of its size or where it is based.
Security Matters
Proctor Edu handles data so that neither we nor anyone else can use it to harm the interests and rights of the end-users, such as the right to privacy.
Single Sign On
Allows a user to enter a login credentials one time on a single page to access system. Keeping even more data fully secure.

Instruction for configuring proctoring in Sakai

  1. How it works

The integration of the proctoring system with the Sakai LMS is done using the External Learning Tool (LTI) and the Supervisor SDK (JavaScript proctoring library). First, you need to place the custom SDK code on one of the HTML pages in the LMS, and then configure the LTI in the course module to access proctoring through the LMS.

2. Setting up a quiz element

In the course module, you must have created a Quiz element to which you want to connect proctoring. Open the “Tests and Quizzes” page and the “Assessment List” tab. Go to the settings of your quiz and open the “Security and Proctoring” section:
Enter a quiz password in the “Add a password to access the assessment” field and click the “Save” button.
Then return to the “Assessment List” tab and copy the URL from your browser’s address bar:
Save the URL for future reference.

3. Upload the proctoring script

Next, you need to place a special proctoring launch script on the course page. You will be redirected to this page after successful user authorization via LTI.
Save the code below in the “proctoring.html” file on your computer:
<!DOCTYPE html>
<html>
<head></head>
<body>
<p>There is nothing here. This is a service page for proctoring.</p>
<script>
  (function () {
    var PROCTORING_SERVER = 'https://your-proctoring-server';
    var w = window.parent;
    var script = w.document.createElement('script');
    script.setAttribute('src', `${PROCTORING_SERVER}/sdk/supervisor.js`);
    script.setAttribute('data-supervisor', 'start');
    w.document.body.appendChild(script);
    w.document.body.style.overflow = 'hidden';
    script.onload = function() {
      if (w.supervisor) {
        w.supervisor.on('load', function(iframe) {
          var hash = new URL(iframe.src).hash.slice(1);
          var d = iframe.contentDocument;
          var input = d.querySelector('input[type="password"]');
          if (input) input.value = hash;
          var c = iframe.contentWindow;
          var pathname = c.location.pathname;
          if (pathname.endsWith('/jsf/delivery/confirmSubmit')) {
            w.supervisor.stop().then(function () {
              return w.supervisor.logout({ redirect: true });
            });
          }
        });
      }
    };
  })();
</script>
</body>
</html>
Note that you must replace "your-proctoring-server" with the address of your proctoring server in the script code!
Go to the “Resources” section and click on the “Upload Files” item in the action menu:
Select the “proctoring.html” file from your computer and click on the “Continue” button:
After returning to the previous page, right-click on the “proctoring.html” file name and select “Copy link address”:
Save the URL for future reference.

4. Set up an external tool

Go to the "Site Info" → “External Tools” section and click on the "Install LTI 1.x Tool" link. Fill in the following fields:
  • Tool Title: any name of the external tool;
  • Button Text: any name of the external tool run button;
  • Launch URL: a link to the proctoring tool, e.g.
https://your-proctoring-server/api/auth/sakai?redirect=<proctoring.html>
where <proctoring.html>
should be changed to the full URL of the page from section 3, and “your-proctoring-server” with the domain of your proctoring server;
  • Launch Key: sakai
  • use the consumer key for your proctoring server;
  • Launch Secret: secret
  • use the secret key for your proctoring server;
  • Privacy Settings: check all items;
  • Services: check all items;
  • Indicate where in the Sakai User interface that these tools should appear: check all items;
  • The launch URL for this tool must support at least one launch message type: “The tool URL supports a single LTI tool (Resource Link launch)”;
  • Launch in Popup: Always launch in Popup;
  • Debug Launch: Never launch in debug mode;
  • Custom Parameters (key=value on separate lines): leave blank.
After you complete this step, you will see the tool as shown below:

5. Add a link to the external tool

In order to create a link to the external tool in your course you need to go to the "Site Info" → “External Tools” section and the "Tool Links" tab. Click on the "Create Tool Link" button. In the new window fill in the following fields:
  • Select Tool: your proctoring tool
  • Custom Parameters (key=value on separate lines):
  1. template=default
  2. members=@
  3. url=<quiz_url>#12345
where <quiz_url> should be changed to the full URL of the quiz and “12345” to the quiz password from section 2;
  • Add Site Link: checked

6. Use of proctoring

Now, when a student navigates through the proctoring link, they will begin to take an associated quiz according to the proctoring workflow. Clicking on the proctoring link takes an administrator or teacher to the proctoring interface, where they can access all sessions and their reports created by that link.

7. Setting up a proctoring host

To connect the integration API with Sakai, you need to load the following configuration with integration parameters under the proctoring system manager:
JSON
{
  "id": "<Host_ID>",
  "key": "<License_Key>",
  "params": {
    "webhooks": {
      "sakai": {
        "authorizer": "lti",
        "integrator": "lti",
        "consumerKey": "demo",
        "consumerSecret": "secret",
        "callbackURL": "query.redirect",
        "profile": {
          "username": "payload.user_id",
          "role": "payload.roles.find(v=>/Instructor/.test(v))?'proctor':'student'",
          "nickname": "payload.lis_person_name_full",
          "lang": "(payload.launch_presentation_locale||'').slice(0,2)",
          "group": "['G',payload.context_id,payload.resource_link_id].join('-')",
          "referrer": "payload.launch_presentation_return_url",
          "labels": "payload.lis_person_contact_email_primary"
        },
        "register": {
  "identifier": "[payload.user_id,payload.context_id,payload.resource_link_id].join('-').replace(/[^A-Za-z0-9_-]+/g,'_')",
          "template": "payload.custom_template||'default'",
          "subject": "payload.resource_link_title",
          "members": "payload.custom_members==='@'?user.group:payload.custom_members",
          "url": "payload.custom_url||payload.launch_presentation_return_url",
          "tags": "payload.lis_person_contact_email_primary"
        },
        "start": true,
        "stop": true,
        "pause": true,
        "submit": true
      }
    },
    "sdk": {
      "iframe": {
        "sandbox": "allow-scripts allow-forms allow-modals allow-same-origin allow-popups allow-downloads"
      }
    }
  }
}
where the fields "consumerKey" and "consumerSecret" need to be replaced with a randomly generated sequence of characters (Latin letters of different case and numbers, the recommended length is 24 characters); "id" is the ID of the host (if you do not specify it, a new host will be created); "key" is the license key of this host.
Done! Now you're ready to organize proctored tests.

CONTACT US

Want to get a free demo of our product?
Fill out the form below, and we'll contact you shortly.

Follow us