Make computation of due date for edx-proctoring powered exams consistent. #36257
+94
−29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This commit fixes an inconsistency in the way an exam due date is computed for courses that do not use an LTI based proctoring provider.
The
edx-exams
microservice was released last year to provide support for LTI based proctoring providers. After the release of this microservice, all proctoring requests initiated by the platform began to be funneled through the microservice, which acted as a broker for these requests, routing them directly to the service for exams in courses using an LTI based proctoring provider or to the platformedx-proctoring
plugin for all other cases.There is an asynchronous task in the platform that syncs exams from the platform to either the
edx-exams
microservice or theedx-proctoring
plugin. Prior to the release of the microservice, this task computed the due date on exams as the exam subsection due date if the course was instructor-paced or None. After the release of the microservice, the task computed due dates differently than before. The due date on exams was computed as the due date on the exam, if there was one, or the end date of the course, if there was one, orNone
. This differed from the prior definition.This resulted in inconsistent due date behavior. The exams in courses that were published or republished after the
edx-exams microservice
was released had the new computation of due date, while exams in courses that were published or republished before theedx-exams
microservice was released had the old computation of due date.This causes an issue for all exams in courses using non-LTI based providers. This is because the due date on exams across all courses that either do not use proctoring or that use a non-LTI based provider are inconsistent, depending on when they were last published.
This commit reintroduces the old computation to the task for exams in courses using a non-LTI based proctoring provider (i.e. those courses whose exams are not powered by the
edx-exams
microservice). In order to maintain the functionality ofedx-exams
, we continue to compute the due date as before for exams in courses using an LTI based proctoring provider (i.e. those courses whose exams are powered by theedx-exams
microservice).Supporting information
Testing instructions
edx-proctoring
tables or theedx-exams
tables conforms to the rule in the code.Deadline
None.