Click handlers were not getting attached to DOM elements in some cases on slow running machines.
Added logic to attach handlers when elements are ready.
Added 2 buttons on metrics tab:
Download Subsection Data for downloading to csv.
Download Problem Data for downloading to csv.
Clicking on any of the bars displays a list of students for that
particular action (either opened the subsection or attempted the
problem).
Students are listed for the sub-sections.
Students, grade and percent are listed for the problems.
The on-screen list displays only the first 250 students with
an overflow message if there are more students than that.
The csv download lists all students.
We would like to be able to generate arbitrary reports and expose them to the instructor by simply uploading them to S3. The existing grade download infrastructure pretty much supported that already, however, all of the internal and external structures were referring to the reports as exclusively grading related.
Fixes: AN-590
Metrics tab shows student data:
-Count of students opened a subsection
-Grade distribution per problem
for each section/subsection of the course.
Implemented for both the old and beta dashboard
Controlled by a feature flag 'CLASS_DASHBOARD'
Data is aggregated across all students
Aggregate data computed from courseware_studentmodule
Restrict grade report generation to 'is_superuser' users (can be overridden with
feature flag ALLOW_COURSE_STAFF_GRADE_DOWNLOADS); all staff users can download
generated files.
LMS-58
- Doubled up :hover and :focus styling to improve a11y
- Increase contrast of certain UI elements for improved a11y
- Added some image alt text for a11y
- Changed video caption styling to blue and made them underline on hover and added a skip link before video for screenreaders.
Fixes Bugs:
- LMS-1336
Adds a new Email link to the instructor dashboard for frontend interface to send
email to course members. Adds a feature flag ENABLE_INSTRUCTOR_EMAIL to toggle this.
Creates a new djangoapp bulk_email that handles this action by getting the recipient
list and batching the emails to different celery tasks to do the actual sending.
Requires lynx package to convert HTML email to plaintext. Handles SMTP errors by
retrying or falling through to the next email. Adds the option to opt out of course
specific emails in the user dashboard with an Email Settings link for each course.
Uses severable configurable settings with defaults. DEFAULT_BULK_FROM_EMAIL
specifies the from address for email. EMAILS_PER_TASK specifies the number of emails
each celery task takes on. EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER,
EMAIL_HOST_PASSWORD, and EMAIL_USE_TLS for the SMTP email backend settings.
Co-authored-by: Akshay Jagadeesh <akjags@gmail.com>
- rename list copy
- add beta list
- fix forum and admin API's to be more similar
- add auto-enroll checkbox
- fix list reload
- remove extra js logging
- add course errors visibility toggle
- add underscore.js check