-
Notifications
You must be signed in to change notification settings - Fork 4k
[DEPR]: edx-proctoring-proctortrack #36329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
MIT is a customer of Verificient Proctortrack. Is this repo necessary to use Proctortrack proctoring in open edX? |
Noticing the author's lack of response on this package for past one and a half year, I've decided to maintain a fork of this package in preparation for the upcoming Django 5.0 upgrade instead of requesting the author for maintenance again. I was going to create a separate issue to switch the dependency in edx-platform to my forked package but seems like it can be discussed here. |
Great question @pdpinch . I think the answer is yes. @michaelroytman , would you be able to confirm or deny that? Thanks @UsamaSadiq . If this package must remain in edx-platform for some reason, then we'll want to move your fork into the openedx org and publish it to pypi. On the other hand, if this package could be converted to an optional requirement, that would be ideal. In this case, we could either (1) find a maintainer for it and move it into the openedx org anyway, or (2) allow operators like MIT ODL and 2U to maintain their own forks of the package. |
Thanks for the ping! A few thoughts...
A few questions for you, @kdmccormick.
|
@pdpinch Does MIT ODL rely on Proctortrack only for edX.org courses, or do any of your own instances use it as well? @michaelroytman , thanks for your quick response.
Sorry, I don't follow this question, can you be more specific about which initiatives you'd like to keep separate, and can you be specific as to whether you're referring to edX.org or edx-platform?
On the removal date:
Yes, great call out. I'll update the ticket.
I'd like this removed on April 7th so that we can capitalize on the build improvements for Teak (which is cut on April 9th), so I'd rather not revert after that point. But, if we did the initial removal a week or two earlier, then that would save us time for reverts and iteration from 2U. Looking at Mondays, we could first attempt the removal on 3/24 or 3/31. Let me know if you'd like to do that (or any other particular date before the 7th), and I'm happy to update the ticket. |
Ah, sorry for the confusion. I was referring to @UsamaSadiq's comment about using a fork of that repository instead of the current repository. I don't think that impacts you or this ticket.
Got it. Let me chat with the team and get back to you sometime tomorrow! |
@kdmccormick Also, is there support for installing npm modules into the |
@michaelroytman In terms of the edx-platform repo itself, there is no explicit support for private Python packages or private NPM modules. That's all operator-side stuff. I believe edx.org installs private Python packges by some overriding some ^ Heads up to @blarghmatey , if you've never installed private NPM packages into edx-platform, your mitodl deployment scripts might need the same minor enhancement. Tutor sites will be able to handle this by writing a plugin which patches the Dockerfile to add an |
Thanks for the mention for visibility. We can easily add custom build steps into our deployments, we already do that for our Python packages. |
@kdmccormick, could you clarify what the following statement encompasses?
Are we talking about things like imports from these packages or also references to Proctortrack as a proctoring provider? There are references to Proctortrack as a provider in a few places in the platform, and I'd like to make sure those are not a part of this deprecation. Thanks! |
The intent is indeed to remove those references from edx-platform. The core platform will not support Proctortrack, so my sense is that it should not have references to Proctortrack. If you feel that they should stay, can you help me understand why? |
@kdmccormick At what point do you think a pull request be ready to review? It would be a lot easier for me to determine what changes we need to make on our end with a full understanding of what will be removed. I can't justify keeping Proctortrack-specific code in the platform, but I'm concerned about the conditional logic that's sprinkled throughout the platform that depends on the proctoring provider being Have a good weekend! |
@michaelroytman I have a stretch goal of having a PR ready in the next two weeks in order to make the Teak cutoff. I'll try to do that, but no guarantee. An alternative would be that if Cosmonauts could take this on, I'd be happy to delay this DEPR, as long as the full removal landed before the Ulmo cutoff (October 9, 2025). |
@kdmccormick My proposal is: let's stick with the title of this work to only turning the edx-proctoring-proctortrack library from a public dependency to a 2U private dependency. This is complicated enough because the dependencies to change are on both python library installation, and NPM installation for frontend javascript. We would need another deprecation effort/issue to completely get rid of specific installed vendor like Proctortrack. The work involved will be:
This second step would need to be done on both openedx/edx-platform and openedx/edx-proctoring repos. |
@schenedx I understand that there will be some work involved in extracting proctortrack logic from edx-platform. Leaving proctortrack in edx-platform is not work-free either: the code incurs maintenance burden on the community and complicates ongoing efforts such as the removal of legacy LMS edx-frontends. We can do this deprecation in two steps as you propose, but keep in mind that the intermediate state (edx-proctoring-proctortrack is private, but there is proctortrack code in edx-platform) leaves the edx-platform proctortrack code un-testable by the community, so regression becomes more likely. In order to make edx-proctoring-proctortrack, we may need to remove some of the edx-platform unit tests anyway. Assuming we archive edx-proctoring-proctortrack in Teak, what timeline would you propose for removal of the code from edx-platform? |
Hi, @kdmccormick. Apologies for the delayed response. If you are still planning to cut the Teak release in several days, the team cannot accommodate the full removal of Proctortrack in time, especially without a plan or pull request to review. We have much less capacity right now than we did several weeks ago, unfortunately. I believe we can accommodate the removal of the Regarding the removal of all Proctortrack related code from the platform, I understand we have two options.
In either case, it would be really helpful for you to specify a set of requirements for the removal so I can understand the scale and approximate the work involved. What is it that you want removed? Is this just for Thank you. |
Removes this git-based requirement from both NPM requirements and from pip requirements. Part of: openedx#36329
No worries @michaelroytman The Teak cut is now planned for 23 April. Here is a PR to remove proctortrack as a privately-installed requirement. I haven't tested it with mockprock yet, but I believe the code is complete: #36503 To echo your understanding, I'd like to either:
We need it to be the case that no code in the openedx GitHub organization has any knowledge of or dependency upon Proctortrack or Proctortrack-specific concepts, with the exception of perhaps test code in the edx-proctoring package. That's about as specific I can get without starting to do the work myself. |
@kdmccormick Thanks! That's very helpful. I'll check in with my team tomorrow morning with this information and get back to you by the end of the week at the latest. If we go with option 1, when do you think you'd be ready to merge in that second pull request? I assume it would be after the Teak cut? If possible, it would be helpful to know approximately how much time we'd have between April 21st and the removal of those lingering Proctortrack references so we can decide if option 1 is a better option. |
@michaelroytman Np. Yes, I'd aim for full removal between the Teak and Ulmo cuts, probably June at the earliest. |
Hi, @kdmccormick. The team would like to do discovery on all the ways Proctortrack is integrated into the platform so that we can better estimate the work involved and reach a decision on who does what. We estimate we'll need around two weeks for that. Afterwards, we'd share our findings with you. We'd like to collaborate on determining who does what and when. Please let me know what you think of that plan. Thanks! |
That sounds good to me @michaelroytman . Thanks! I'll hold off on any removal for the time being. If you do manage to discover by the 23rd that it is safe to remove the editable package install, kindly approve #36503 so that we can get the build time improvement shipped out with Teak. |
@kdmccormick Where would you like me to put my findings and recommendation so that we can review and discuss? I assume in this DEPR? It's a bit of a long document, which is why I ask. Thanks! |
How about you make a public wiki page or google doc and link it here? |
All set. I've included a link to the Google doc below. Please let me know what you think. Thanks! https://docs.google.com/document/d/17-J1Nc15MkLLvv5sG6QIoQgj_Z1Lml2YHOiQIZI8XPQ/edit?usp=sharing |
Proposal Date
2025-03-05
Target Ticket Acceptance Date
2025-03-19
Target Removal Date // Named Release
2025-04-07 // in time for Teak
Rationale
uv
.Removal
BREAKING CHANGE: edx-proctoring-proctortrack will be removed from github.in and thus removed from edx-platform's base requirements.
BREAKING CHANGE: edx-proctoring-proctortrack will be removed from package.json
BREAKING CHANGE: Any edx-platform references that are dependent on these packages will also be removed.
Replacement
Site operators can install this package into their private requirements.
Deprecation
None
Migration
None
Additional Info
None
Task List
TBD
The text was updated successfully, but these errors were encountered: