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

Exam mode for courses #1029

Open
martin-henz opened this issue Nov 4, 2023 · 5 comments
Open

Exam mode for courses #1029

martin-henz opened this issue Nov 4, 2023 · 5 comments
Labels
Enhancement New feature or request

Comments

@martin-henz
Copy link
Member

An admin should be allowed to switch a course to "exam mode" where some features are disabled: share links, sessions, playground local storage, github and google drive.

@martin-henz martin-henz added the Enhancement New feature or request label Nov 4, 2023
@martin-henz
Copy link
Member Author

martin-henz commented Nov 4, 2023

Can we let admin log out all students? That way they would be forced to log in which might make this feature easier to implement.

@martin-henz
Copy link
Member Author

Instead of exam mode, we could just give a list of features that admin can enable/disable.

@RichDom2185
Copy link
Member

I think it should not be manual, but also configurable on a per-assessment basis (at least, in the long-term – designs for the short-term should keep this in mind). Perhaps we parse additional keys in the XML and update the API between the FE and BE, such that when the student attempts the assessment (of course, subject to the exam configuration):

  • Frontend:
    • Remove features as necessary (e.g. prevent window switching, etc. – similar to Examplify)
    • Detect when there is possibility of exam integrity being compromised and report this to the backend
  • Backend:
    • (Temporarily) updates the access control matrix of the user to revoke access to certain resources/operations (in case the frontend is compromised by way of browser extensions/hacking), until the assessment is submitted

This would require the following revamps/enhancements to our existing system:

  • Migrate user roles to an access-control matrix (more granular permissions framework as opposed to a simple role system)
  • Separate the public, unguarded services (e.g. URL shortener, collaborative editing) from our restricted, SA@NUS deployments
  • ...? (will update as things come to mind)

@RichDom2185
Copy link
Member

Can we let admin log out all students? That way they would be forced to log in which might make this feature easier to implement.

I think it's best if the exam mode is done on a per assessment basis instead of a per-deployment basis. E.g. a student might be taking another course/doing last minute revision just before a (synchronous) exam. Or we might want to have a take-home, asynchronous but still secure exam.

Will have to design this feature around multitenancy.

@RichDom2185
Copy link
Member

@chownces suggested we bring back the PWA functionality in the frontend as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request
Projects
Development

No branches or pull requests

2 participants