Course Activity Data Export Improvement GH3028
Investigate alternatives for the Course Activities Export. It takes several minutes to get the datatables view, because there are often several thousand records associated with the request. There may be more, but few options are:
- Check how much overhead there is in Diazo processing of the markup? Avoiding that may be one reason that converting the main course roster view to be React-based helped so much. If that's correct you could possibly load this part of the page in an iframe that bypasses Diazo.
- A bit off the wall... After clicking the "download" button, display a message (in a popup?) that says, "We are processing your request and will email you a link to download your data when it is ready." Then we do the processing "in the background" and create a file that can later be downloaded. We'll need a cron job that deletes these files when they are ~48 hours old.
- Add an intermediate filtering step. If our volunteers can give me some scenarios where they would pre-filter the data and we can determine that the data set is reduced enough in these cases to sped up the download, this might be worth implementing.
- A bit like pre-filtering, we might consider a scenario like our Course Template Roster with a twist. After selecting (or not selecting) a subset of people from the team roster, go to a page of filters but with no results yet. After the user chooses some filters, they have to click a button to get the results. If they still want all the results, they can get them, but we can have a caution on the page about potential data set size and "download" time.