Architecture for arbitrary field overrides, field overrides for
individual students, and a reimplementation of the individual due date feature. This work introduces an architecture, used with the 'authored_data' portion of LmsFieldData, which allows arbitrary field overrides to be made for fields that are part of the course content or settings (Mongo data). The basic architecture is extensible by means of writing and configuring arbitrary field override providers. One concrete implementation of a field override provider is provided which allows for overrides to be for individual students. This provider is then used as a basis for reimplementing the individual due date extensions feature as a proof of concept for the design. One can imagine writing override providers that provide overrides based on a student's membership in a cohort or other similar idea. This work is being done, in fact, to pave the way for the Personal Online Courses feature being developed by MIT, which will use an override provider very much long those lines.
Showing
- common/lib/xmodule/xmodule/capa_base.py 1 addition, 10 deletionscommon/lib/xmodule/xmodule/capa_base.py
- common/lib/xmodule/xmodule/combined_open_ended_module.py 0 additions, 11 deletionscommon/lib/xmodule/xmodule/combined_open_ended_module.py
- common/lib/xmodule/xmodule/foldit_module.py 1 addition, 10 deletionscommon/lib/xmodule/xmodule/foldit_module.py
- common/lib/xmodule/xmodule/modulestore/inheritance.py 0 additions, 8 deletionscommon/lib/xmodule/xmodule/modulestore/inheritance.py
- common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py 1 addition, 2 deletions...pen_ended_grading_classes/combined_open_ended_modulev1.py
- common/lib/xmodule/xmodule/peer_grading_module.py 2 additions, 12 deletionscommon/lib/xmodule/xmodule/peer_grading_module.py
- common/lib/xmodule/xmodule/seq_module.py 0 additions, 8 deletionscommon/lib/xmodule/xmodule/seq_module.py
- common/lib/xmodule/xmodule/tests/test_capa_module.py 6 additions, 9 deletionscommon/lib/xmodule/xmodule/tests/test_capa_module.py
- conf/locale/eo/LC_MESSAGES/django.po 13 additions, 13 deletionsconf/locale/eo/LC_MESSAGES/django.po
- lms/djangoapps/courseware/field_overrides.py 205 additions, 0 deletionslms/djangoapps/courseware/field_overrides.py
- lms/djangoapps/courseware/grades.py 1 addition, 2 deletionslms/djangoapps/courseware/grades.py
- lms/djangoapps/courseware/migrations/0011_add_model_StudentFieldOverride.py 145 additions, 0 deletions...rseware/migrations/0011_add_model_StudentFieldOverride.py
- lms/djangoapps/courseware/models.py 17 additions, 0 deletionslms/djangoapps/courseware/models.py
- lms/djangoapps/courseware/module_render.py 13 additions, 4 deletionslms/djangoapps/courseware/module_render.py
- lms/djangoapps/courseware/student_field_overrides.py 71 additions, 0 deletionslms/djangoapps/courseware/student_field_overrides.py
- lms/djangoapps/courseware/tests/animport.py 5 additions, 0 deletionslms/djangoapps/courseware/tests/animport.py
- lms/djangoapps/courseware/tests/test_field_overrides.py 121 additions, 0 deletionslms/djangoapps/courseware/tests/test_field_overrides.py
- lms/djangoapps/instructor/tests/test_api.py 22 additions, 1 deletionlms/djangoapps/instructor/tests/test_api.py
- lms/djangoapps/instructor/tests/test_tools.py 35 additions, 75 deletionslms/djangoapps/instructor/tests/test_tools.py
- lms/djangoapps/instructor/views/tools.py 33 additions, 84 deletionslms/djangoapps/instructor/views/tools.py
Please register or sign in to comment