Skip to content

feat: Remove all proctortrack references and add support for requires_escalation_email and show_review_rules configs - #37576

Merged
kdmccormick merged 4 commits into
openedx:masterfrom
edly-io:proctortrack-depr
Nov 25, 2025
Merged

feat: Remove all proctortrack references and add support for requires_escalation_email and show_review_rules configs#37576
kdmccormick merged 4 commits into
openedx:masterfrom
edly-io:proctortrack-depr

Conversation

@mlabeeb03

@mlabeeb03 mlabeeb03 commented Oct 30, 2025

Copy link
Copy Markdown
Member

Description

All references to the hardcoded 'proctortrack' string have been removed from the codebase in addition to the SHOW_REVIEW_RULES waffle flag. It was used to determine whether an escalation email is required and whether review rules should be shown. These decisions are now made based on the value of 'requires_escalation_email' and 'show_review_rules' config in the course's proctoring backend.

Removed translation commands, mock variables and user facing strings that contained 'proctortrack'.

Updated all test cases that were using proctortrack to use the new config variables.

Add a test case that verifies the functionality of the new show_review_rules config.

Testing information

Test cms/djangoapps/contentstore/api/views/course_validation.py by making a get request and verifying the correct value of requires_escalation_email:
Screenshot 2025-10-31 at 3 14 05 PM

Test cms/djangoapps/models/settings/course_metadata.py by making sure the the Proctoring exam escalation contact is not visible when requires_escalation_email is not set in the proctoring backend:
Screenshot 2025-10-31 at 3 37 40 PM

Also test that if you do not provide the escalation email when requires_escalation_email is set, you should see an error message in API call:
Screenshot 2025-10-31 at 3 53 15 PM
You can see this error on the main course page as well as while updating the Proctoring provider in the advanced course settings.

Supporting information

More details available here: #36329

@openedx-webhooks

openedx-webhooks commented Oct 30, 2025

Copy link
Copy Markdown

Thanks for the pull request, @mlabeeb03!

This repository is currently maintained by @openedx/wg-maintenance-edx-platform.

Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review.

🔘 Get product approval

If you haven't already, check this list to see if your contribution needs to go through the product review process.

  • If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.
    • This process (including the steps you'll need to take) is documented here.
  • If it doesn't, simply proceed with the next step.
🔘 Provide context

To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

  • Dependencies

    This PR must be merged before / after / at the same time as ...

  • Blockers

    This PR is waiting for OEP-1234 to be accepted.

  • Timeline information

    This PR must be merged by XX date because ...

  • Partner information

    This is for a course on edx.org.

  • Supporting documentation
  • Relevant Open edX discussion forum threads
🔘 Get a green build

If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.

Details
Where can I find more information?

If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

When can I expect my changes to be merged?

Our goal is to get community contributions seen and reviewed as efficiently as possible.

However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

  • The size and impact of the changes that it introduces
  • The need for product review
  • Maintenance status of the parent repository

💡 As a result it may take up to several weeks or months to complete a review and merge your PR.

@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label Oct 30, 2025
@github-project-automation github-project-automation Bot moved this to Needs Triage in Contributions Oct 30, 2025
@mlabeeb03
mlabeeb03 marked this pull request as draft October 30, 2025 11:18
@mphilbrick211 mphilbrick211 added the FC Relates to an Axim Funded Contribution project label Oct 30, 2025
@mphilbrick211 mphilbrick211 moved this from Needs Triage to Waiting on Author in Contributions Oct 30, 2025
@mlabeeb03
mlabeeb03 force-pushed the proctortrack-depr branch 2 times, most recently from 9b7db37 to 651c45d Compare October 31, 2025 11:40
@mlabeeb03

Copy link
Copy Markdown
Member Author

@kdmccormick the initial draft PR is ready, just FYI.

@mlabeeb03 mlabeeb03 changed the title feat: Remove proctortrack and add support for requires_escalation_email and show_review_rules configs feat: Remove proctortrack and add support for requires_escalation_email and show_review_rules configs (WIP) Oct 31, 2025
@mlabeeb03
mlabeeb03 force-pushed the proctortrack-depr branch 3 times, most recently from deb96fc to 8416aa4 Compare November 3, 2025 10:40
@mlabeeb03 mlabeeb03 changed the title feat: Remove proctortrack and add support for requires_escalation_email and show_review_rules configs (WIP) feat: Add support for requires_escalation_email and show_review_rules configs in proctoring backend Nov 3, 2025
@mlabeeb03
mlabeeb03 force-pushed the proctortrack-depr branch 2 times, most recently from fb35fd6 to d500f5d Compare November 3, 2025 11:17
@mlabeeb03 mlabeeb03 changed the title feat: Add support for requires_escalation_email and show_review_rules configs in proctoring backend feat: Remove proctortrack references and add support for requires_escalation_email and show_review_rules configs in proctoring backend Nov 3, 2025
@mlabeeb03 mlabeeb03 changed the title feat: Remove proctortrack references and add support for requires_escalation_email and show_review_rules configs in proctoring backend feat: Remove all proctortrack references and add support for requires_escalation_email and show_review_rules configs Nov 3, 2025
@mlabeeb03
mlabeeb03 marked this pull request as ready for review November 3, 2025 13:38
@mlabeeb03
mlabeeb03 requested a review from kdmccormick November 3, 2025 13:38
@mlabeeb03
mlabeeb03 force-pushed the proctortrack-depr branch 2 times, most recently from 35ebb41 to 787a10e Compare November 3, 2025 16:12
…email and show_review_rules configs

All references to the hardcoded 'proctortrack' string have been removed from the codebase in addition to the SHOW_REVIEW_RULES waffle flag. It was used to determince whether an escalation email is required and whether review rules should be shown. These decisions are now made based on the value of 'requires_escalation_email' and 'show_review_rules' config in the default proctoring backend.

Removed translation commands, mock variables and user facing strings that contained 'proctortrack'.

Updated all test cases that were using proctortrack to use the new config variables.

See this ticket for further information:
  openedx#36329
@mlabeeb03
mlabeeb03 force-pushed the proctortrack-depr branch 2 times, most recently from 529b623 to 7930891 Compare November 13, 2025 08:57
…n escalation email

This change is a requirement for frontend-app-learning. It will no longer use hardcoded strings to check if an escalation email is required or not. Instead the api will return the list of proctoring backends that require and escalation email.
@mlabeeb03

Copy link
Copy Markdown
Member Author

Hey @kdmccormick I added a new commit. Updated the API because frontend-app-authoring now requires a list of proctoring backends that have requires_escalation_email set.

@kdmccormick kdmccormick left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the work so far @mlabeeb03

Comment thread xmodule/course_block.py Outdated
Comment thread cms/djangoapps/contentstore/xblock_storage_handlers/view_handlers.py Outdated
Comment thread xmodule/course_block.py Outdated
Comment thread lms/djangoapps/instructor/views/instructor_dashboard.py Outdated
Comment thread cms/djangoapps/contentstore/config/waffle.py
Comment thread lms/envs/common.py
@mphilbrick211 mphilbrick211 moved this from Waiting on Author to In Eng Review in Contributions Nov 13, 2025
@mlabeeb03
mlabeeb03 force-pushed the proctortrack-depr branch 4 times, most recently from dfd6594 to 9de0380 Compare November 17, 2025 10:45
Co-authored-by: Kyle McCormick <kyle@kylemccormick.me>
@mlabeeb03

Copy link
Copy Markdown
Member Author

@kdmccormick I've fixed the unit tests. You may review the PR.

Comment thread openedx/envs/common.py
Comment thread openedx/envs/common.py Outdated
Comment thread common/djangoapps/util/proctoring.py Outdated

@kdmccormick kdmccormick left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great, thanks!

Comment thread xmodule/course_block.py Outdated
Comment thread xmodule/course_block.py Outdated
@mlabeeb03

Copy link
Copy Markdown
Member Author

@kdmccormick you can merge it now.

@kdmccormick
kdmccormick merged commit 8ad4d42 into openedx:master Nov 25, 2025
49 checks passed
@github-project-automation github-project-automation Bot moved this from In Eng Review to Done in Contributions Nov 25, 2025
blarghmatey pushed a commit to mitodl/edx-platform that referenced this pull request Dec 18, 2025
…and show_review_rules options (openedx#37576)

BREAKING CHANGE: All references to the hardcoded 'proctortrack' string have
been removed from the codebase,  as well as the `studio.show_review_rules`
waffle flag. These were used to determine whether an escalation email is
required and whether review rules should be shown. These decisions are now made
based on the value of 'requires_escalation_email' (default False) and 'show_review_rules'
(default True) config items in the PROCTORING_BACKENDS entry.

Additionally:
* The proctoring info api will now return the list of providers which require an escalation
   email so that frontend-app-learning does not need to use a hardcoded check agaist
   the provider name 'proctortrack'.
* Removed translation commands, mock variables and user facing strings that contained
  'proctortrack'.
* Updated all test cases that were using proctortrack to use fake providers names.

Part of: openedx#36329
anfbermudezme pushed a commit to Pearson-Advance/edx-platform that referenced this pull request Feb 16, 2026
…and show_review_rules options (openedx#37576)

BREAKING CHANGE: All references to the hardcoded 'proctortrack' string have
been removed from the codebase,  as well as the `studio.show_review_rules`
waffle flag. These were used to determine whether an escalation email is
required and whether review rules should be shown. These decisions are now made
based on the value of 'requires_escalation_email' (default False) and 'show_review_rules'
(default True) config items in the PROCTORING_BACKENDS entry.

Additionally:
* The proctoring info api will now return the list of providers which require an escalation
   email so that frontend-app-learning does not need to use a hardcoded check agaist
   the provider name 'proctortrack'.
* Removed translation commands, mock variables and user facing strings that contained
  'proctortrack'.
* Updated all test cases that were using proctortrack to use fake providers names.

Part of: openedx#36329
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FC Relates to an Axim Funded Contribution project open-source-contribution PR author is not from Axim or 2U

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants