Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reporting: Move all CSV exports to endpoint (server) exports #9969

Open
1 of 6 tasks
nagpai opened this issue Dec 16, 2024 · 5 comments
Open
1 of 6 tasks

Reporting: Move all CSV exports to endpoint (server) exports #9969

nagpai opened this issue Dec 16, 2024 · 5 comments
Assignees
Labels
category: projects For any issues which are part of any project, including bugs, enhancements, etc. focus: reporting

Comments

@nagpai
Copy link
Contributor

nagpai commented Dec 16, 2024

We currently have browser export for list report rows less than 25 ( pagination limit ) and server based export for rows more than that. Changing all exports to server via endpoint will help simplify our CSV exports and manage this functionality at one place.

Acceptance criteria
  • All exports for Transactions, Payouts and Disputes - whether less than 25 rows or more - should be handled via server
  • Tests should be updated to reflect this change
Details / subtasks

We've decided to implement a polling mechanism so merchants can download CSVs directly in the browser UI, and don't have to use email to access (unless they prefer that).

We initially attempted to generate and access the server-side export synchronously, if the rows were less than 25, but were unable to do so in the live environment, due to write permissions to the uploads folder on server made available to the async queue processor. We then decided to queue the download, and then use the Job Id to poll and check for the download file for 1 + 5 retries, each 1 sec apart. Email continues to remain a fall back option. ( ref - pMz3w-llm-p2#comment-124146 )

Overall, this will preserve the existing "immediate download" experience, similar to the UI for exporting small CSVs (< 25 rows).

Notes

*Project idea - paJDYF-g1S-p2

@nagpai nagpai added category: projects For any issues which are part of any project, including bugs, enhancements, etc. focus: reporting labels Dec 16, 2024
@nagpai nagpai self-assigned this Dec 18, 2024
@nagpai nagpai assigned jessy-p and unassigned nagpai Dec 18, 2024
@nagpai nagpai added the status: blocked The issue is blocked from progressing, waiting for another piece of work to be done. label Dec 19, 2024
@nagpai
Copy link
Contributor Author

nagpai commented Dec 19, 2024

Adding blocked status for now since we are not merging changes related to this issue until we have had adequate feedback on the project thread.

@haszari
Copy link
Contributor

haszari commented Jan 23, 2025

Removing blocked since @jessy-p has a sweet PR up with a fix:

@haszari
Copy link
Contributor

haszari commented Jan 24, 2025

FYI @nagpai @jessy-p Updated this to an epic, as it covers the main feature we need to ship, and can be broken up (server + client side x each CSV / list screen).

@brucealdridge
Copy link
Contributor

@haszari it looks like you forgot to removed blocked.
I've also moved to In-Progress rather than in-review.

@brucealdridge brucealdridge removed the status: blocked The issue is blocked from progressing, waiting for another piece of work to be done. label Jan 30, 2025
@haszari
Copy link
Contributor

haszari commented Jan 30, 2025

Thanks @brucealdridge 🙌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: projects For any issues which are part of any project, including bugs, enhancements, etc. focus: reporting
Projects
None yet
4 participants