Archived in v1.1. Analytics-focused content (engagement reporting, Aspects dashboards) merged into Analytics & Insights. Grading-focused content (grade reports, CSV exports, async Celery report tasks) merged into Grading & Exam Tools.
Course Reporting
Overview
Course Reporting covers the downloadable data reports available to instructors — grade reports, problem grade reports, completion data, survey results, enrollment data, and certificate status. These reports are generated as CSV files and downloaded from the instructor dashboard.
Course Reporting is distinct from analytics dashboards (which are visualization-focused). Reporting is about raw data export for instructors who need to work with spreadsheets or upload data to institutional systems.
Current State (2026)
- Grade reports: Full learner × assignment grade matrix; generated as CSV; triggered as background Celery tasks
- Problem grade reports: Per-problem attempt data for all learners
- Completion report: Block-level completion data
- Enrollment report: Enrollment counts and mode breakdown
- Survey results: If survey XBlocks used, results exportable
- Aspects dashboards: Supplement reports with interactive visualization (Aspects)
- Report generation: Triggered from instructor dashboard; async; ready for download when complete
Architecture
- Celery tasks: Reports are generated asynchronously by background workers; triggered via instructor dashboard form submissions
- Storage: Generated CSV files stored temporarily in S3 (or equivalent); download links emailed or shown in dashboard
super-csv: Library for CSV processing with validation and background task integration, used for bulk grade operationsedx-platform: Core report generation logic lives inlms/djangoapps/instructor_task/
Relevant Repositories
| Repository | Role in This Feature | Activity Level | Notes |
|---|---|---|---|
| openedx/openedx-platform | Report generation, instructor task system | High | instructor_task/ module |
| openedx/openedx-aspects | Complementary analytics dashboards | High | Visual reporting |
| openedx/super-csv | CSV processing library | Low | Report infrastructure |
Recent Changes
- Aspects reduces need for raw CSV exports by providing richer dashboards
History
Origin
- Year introduced: ~2013–2014 (grade report downloads available in early edX)
- Initial implementation: Background Celery tasks generating CSV files; instructor dashboard form submission pattern
- Context: Instructors and institutions needed data for their own analysis and record-keeping; exporting data was essential for institutions
Key Milestones
| Year | Milestone | Teams / People Involved |
|---|---|---|
| ~2013–2014 | Grade reports via Celery background tasks | Unknown |
| ~2015 | Additional report types added (problem grades, completion) | Unknown |
| ~2023–2024 | Aspects reduces reliance on manual CSV downloads | Unknown |
People Who Shaped This Area
- Engineering: Unknown — open question for interview
- Product: Unknown — open question for interview
- Design: Unknown — open question for interview
Open Questions
- [ ] What drove the use of Celery + S3 for report generation rather than synchronous downloads?
- [ ] Which report types were added first, and in what order?
- [ ] How do institutions typically use the downloaded reports?
- [ ] What are the known limitations (file size, completion time) of the current report system?