If we pass non-ASCII strings to create_csv_response, it will call
unicode() on it, and fail with UnicodeDecodeError. So pass Unicode
strings, or ASCII-only bytestrings for the headers.
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.
This commit adds the non-courseware lms/djangoapps and lms/lib.
These keys are now objects with a limited interface, and the particular
internal representation is managed by the data storage layer (the
modulestore).
For the LMS, there should be no outward-facing changes to the system.
The keys are, for now, a change to internal representation only. For
Studio, the new serialized form of the keys is used in urls, to allow
for further migration in the future.
Co-Author: Andy Armstrong <andya@edx.org>
Co-Author: Christina Roberts <christina@edx.org>
Co-Author: David Baumgold <db@edx.org>
Co-Author: Diana Huang <dkh@edx.org>
Co-Author: Don Mitchell <dmitchell@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
Co-Author: Sarina Canelake <sarina@edx.org>
[LMS-2370]
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.
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