feat: adds support for LTI 1.3 Proctoring Service specification in-browser proctoring launch.
* Adds an Lti1p3ProctoringLaunchData data class. It should be included as an attribute of the Lti1p3LaunchData data class to provide necessary proctoring data for a proctoring launch. * Adds an LtiProctoringConsumer class. This class is used to generate LTI proctoring launch requests and to decode and validate the JWT send back by the Tool with the LtiStartAssessment message. * Adds an lti_1p3_proctoring_enabled BooleanField to the LtiConfiguration model. This field controls whether proctoring is enabled for a particular LTI integration. * Modifies the launch_gate_endpoint to support LtiStartProctoring and LtiEndAssessment LTI launch messages. * Adds an start_proctoring_assessment_endpoint to support LtiStartAssessment messages from the Tool. * Adds an LTI_1P3_PROCTORING_ASSESSMENT_STARTED signal. This signal is emitted when the LtiStartAssessment message is sent from the Tool to inform users of the library that the LtiStartAssessment message has been received.
Showing
- CHANGELOG.rst 16 additions, 2 deletionsCHANGELOG.rst
- docs/proctoring.rst 95 additions, 0 deletionsdocs/proctoring.rst
- lti_consumer/api.py 38 additions, 1 deletionlti_consumer/api.py
- lti_consumer/apps.py 1 addition, 1 deletionlti_consumer/apps.py
- lti_consumer/data.py 63 additions, 21 deletionslti_consumer/data.py
- lti_consumer/lti_1p3/constants.py 3 additions, 0 deletionslti_consumer/lti_1p3/constants.py
- lti_consumer/lti_1p3/consumer.py 206 additions, 12 deletionslti_consumer/lti_1p3/consumer.py
- lti_consumer/lti_1p3/exceptions.py 4 additions, 0 deletionslti_consumer/lti_1p3/exceptions.py
- lti_consumer/lti_1p3/key_handlers.py 3 additions, 1 deletionlti_consumer/lti_1p3/key_handlers.py
- lti_consumer/lti_1p3/tests/test_consumer.py 271 additions, 5 deletionslti_consumer/lti_1p3/tests/test_consumer.py
- lti_consumer/lti_1p3/tests/test_key_handlers.py 18 additions, 0 deletionslti_consumer/lti_1p3/tests/test_key_handlers.py
- lti_consumer/lti_xblock.py 17 additions, 4 deletionslti_consumer/lti_xblock.py
- lti_consumer/migrations/0016_lticonfiguration_lti_1p3_proctoring_enabled.py 18 additions, 0 deletions...tions/0016_lticonfiguration_lti_1p3_proctoring_enabled.py
- lti_consumer/models.py 30 additions, 6 deletionslti_consumer/models.py
- lti_consumer/plugin/urls.py 7 additions, 1 deletionlti_consumer/plugin/urls.py
- lti_consumer/plugin/views.py 181 additions, 57 deletionslti_consumer/plugin/views.py
- lti_consumer/signals/__init__.py 0 additions, 0 deletionslti_consumer/signals/__init__.py
- lti_consumer/signals/signals.py 4 additions, 1 deletionlti_consumer/signals/signals.py
- lti_consumer/templates/html/lti_proctoring_start_error.html 16 additions, 0 deletionslti_consumer/templates/html/lti_proctoring_start_error.html
- lti_consumer/tests/unit/plugin/test_proctoring.py 282 additions, 0 deletionslti_consumer/tests/unit/plugin/test_proctoring.py
Loading
Please register or sign in to comment