It's common for companies to need to export data for their users to use via various formats. CSV/Excel/etc.
There are multiple ways of doing this. In foreground request process or background process.
One is providing the export file during a request and returning the file. This works at lower scales but often results in hacks as they grow. Generally either being increasing memory or timeouts. Both of which result in errors before being fixed and the same fix being done multiple times. The reality is, once it goes to a certain scale, it needs to be done in the background.
Once it's being done in the background, there are two options:
One is to send them to a page that checks to see if the file is ready and once it is provide it as a download. This provides a nice UX, however, is more complex and requires the user to stay on the page depending on how long the export is this may not be plausible.
Another one is to process it in the background and send the export as a file to the user. This is not so nice of a UX experience if the delay is short such as seconds or a minute or two.
Solution
Provide an export system that supports multiple file types.
File Type support:
CSV
Excel
Export types:
In the foreground in the process
In background with a download page when ready
In background with an email and an attachment when ready
Description
Problem
It's common for companies to need to export data for their users to use via various formats. CSV/Excel/etc.
There are multiple ways of doing this. In foreground request process or background process.
One is providing the export file during a request and returning the file. This works at lower scales but often results in hacks as they grow. Generally either being increasing memory or timeouts. Both of which result in errors before being fixed and the same fix being done multiple times. The reality is, once it goes to a certain scale, it needs to be done in the background.
Once it's being done in the background, there are two options:
Solution
Provide an export system that supports multiple file types.
File Type support:
Export types:
Download page support:
Example
No response