This will ensure that errors raised by these tasks will alert the right team. `send_course_enrollment_email` is the one I set out to fix, but I discovered a few others. I located tasks that were missing decorators by running the following search and visually inspecting the results, although semgrep might be able to do better: ``` ack '^@.*task|^@set_code_owner_attribute' cms lms common openedx xmodule --ignore-dir=tests --python ``` Also, add more detailed explanation of why a couple of tasks can't use the decorator. This should only be an issue on tasks inheriting from UserTaskMixin, which in practice is just CourseExportTask and CourseImportTask (and the apparently unused EnrollmentReadTask and EnrollmentWriteTask), via UserTask.
Survey Report -------------------- This Django app was created for the purpose of gathering aggregated, anonymized data about Open edX courses at scale, so that we can begin to track the growth and trends in Open edX usage over time, namely in the annual Open edX Impact Report. You could find in this directory some methods to manage survey reports, one command to generate the report, some queries to get the information from database and one method to send the report to openedx api.