appsembler / figures

Reporting and data retrieval app for Open edX
MIT License
44 stars 37 forks source link

Improve "Backfill Enrollment Data" managmeent command #435

Open johnbaldwin opened 2 years ago

johnbaldwin commented 2 years ago

Improve "Backfill Enrollment Data" management command

I'm working on a PR to update the management comment backfill_figures_enrollment_data to use the new workflow as described here: https://github.com/appsembler/figures/issues/428

To get this implemented quickly but still allow some flexibility, I'm implementing two command line keyword options, --sites and --courses. Sites takes one or more site domains. Course takes one or more string course ids. If --courses is used, it ignores the --sites argument.

We currently require specifying sites or course instead of defaulting to process all sites / all courses. While this has usability issues, we do it because this is potentially a quite expensive command, particularly on large multi-site Open edX deployments. This is where it could use UX improvement.

One potential small improvement might be to allow use of both params. This could take the form of processing both all sites listed in the --sites argument and all the courses in the --courses argument, skipping over any courses in the --courses for courses that exist in any of the sites in the --sites parameter. Another form would be to only process course ids if they exist in sites provided in the --sites argument. We should think over this. Maybe we don't do either.

Another potential improvement is to provide a JSON or YAML file parameter that would list the site domains and/or course ids to process. What would be helpful here would be to report on sites and/or courses that need updating.

Another potential improvement is to do arbitrary limiting the number of enrollments to be processed. For example: "process 100,000 out of date enrollments"

Since A. I don't have time to implement these options with appropriate test coverage and B. we might not want these or may come up with some other option, I'm just describing the options here for discussion and linking this issue into the docstring for the backfill management command.