Skip to content
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

[DEPR]: edx-proctoring frontend #1226

Open
MichaelRoytman opened this issue Aug 21, 2024 · 4 comments
Open

[DEPR]: edx-proctoring frontend #1226

MichaelRoytman opened this issue Aug 21, 2024 · 4 comments
Labels
depr Proposal for deprecation & removal per OEP-21

Comments

@MichaelRoytman
Copy link
Contributor

MichaelRoytman commented Aug 21, 2024

Proposal Date

2024-08-21

Target Ticket Acceptance Date

2024-11-21

Earliest Open edX Named Release Without This Functionality

Teak - 2025-04

Rationale

As part of Open edX community's re-platforming effort, Django-server-side rendered frontend implementations are being deprecated in favor of React-based micro-frontend implementations. This ticket covers the code related to the frontend for taking exams (i.e. timed exams, practice exams, proctored exams, and onboarding exams).

For the "happy path" of proctoring, the frontend implementation in edx-proctoring has been replaced by the frontend-lib-special-exams library, which is installed and integrated into the frontend-app-learning MFE.

Removal

The code and assets associated with the frontend implementation for taking exams will be removed.

Below is a non-exhaustive list of code and assets that can be either removed or refactored to remove the frontend.

Replacement

For the "happy path" of proctoring, the frontend implementation in edx-proctoring has been replaced by the frontend-lib-special-exams library, which is installed and integrated into the frontend-app-learning MFE.

There are some exceptions to this coverage. Details will be added shortly.

Deprecation

TBD

Migration

TBD

Additional Info

TBD

Task List

No response

@github-actions github-actions bot added the depr Proposal for deprecation & removal per OEP-21 label Aug 21, 2024
@zacharis278
Copy link
Contributor

There's an additional backend requirement here for authorization (this is the non-happy path). While the learning MFE shouldn't request an exam unit unless that exam is running we still need to prevent users from accessing this content outside of their allotted time by requesting content from LMS directly. This is currently handled by the rendering logic for these templates within edx-proctoring. If this function returns no template the user is assumed to be authorized.

def get_student_view(user_id, course_id, content_id,

I don't think this should be too difficult to separate out, we don't really need the templates themselves to prevent rendering. I just want to call out if we don't replace this logic with something else we'd lose an important but not very obvious auth mechanism.

@kdmccormick
Copy link
Member

@MichaelRoytman Are there any flags that one needs activate in order to switch from the legacy edx-proctoring frontend to frontend-lib-special-exams? Or is it the case that if a site operator sets up proctoring today, it will automatically use frontend-lib-special-exams?

@MichaelRoytman
Copy link
Contributor Author

@kdmccormick Sorry for the delay! The frontend-lib-special-exams library is integrated directly into the frontend-app-learning MFE, so if a site operator is using the frontend-app-learning MFE, then timed and proctored exams will use the UI defined in that library. The legacy learning experience will use edx-proctoring. There is no other configuration necessary.

@kdmccormick
Copy link
Member

Great, thanks @MichaelRoytman !

When we go to remove the legacy edx-proctoring frontend, we should check that Studio Course Preview (the only remaining feature which uses legacy courseware) doesn't blow up when it gets to a special exam. Ideally, it should just say something along the lines of "special exams cannot be previewed" or "this feature is not available in preview mode".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
depr Proposal for deprecation & removal per OEP-21
Projects
Status: Proposed
Development

No branches or pull requests

3 participants