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

[ARPA] Add feature to export reporting data into a ZIP for gov partners auditing purposes #887

Closed
mindyatwork opened this issue Jan 31, 2023 · 11 comments

Comments

@mindyatwork
Copy link
Contributor

Due to auditing requirements, gov partners need the ability to easily download all the Input templates that went into what they ultimately submit to Treasury.

💭 Proposal

  • A button that downloads a Zip file of:
    • All the xlsm files that show up when you filter by Only exported to treasury for only the quarter the user is currently in.
    • An uploaded_by.csv that includes, per row:
      • filename
      • Email of the person who uploaded it
      • Agency
      • EC code
      • time stamp of upload
  • Open design questions:
    • Where does this button sit? In the Uploads or Dashboard tab?
    • What is the text/color on the button?

See full 1-pager here: https://www.notion.so/usdr/Export-reporting-data-into-a-CSV-828402124113453d8109e145e191eb85

@mindyatwork mindyatwork moved this from 🆕 New to 🎨 Designing in Grants Team Agile Planning Jan 31, 2023
@mindyatwork mindyatwork moved this from 🎨 Designing to 💬 Ready for Design discussion in Grants Team Agile Planning Feb 23, 2023
@mindyatwork
Copy link
Contributor Author

Andrew is working on this one

@mindyatwork mindyatwork moved this from 💬 Ready for Design discussion to 🎨 Designing in Grants Team Agile Planning Mar 8, 2023
@agn-dsgn
Copy link

agn-dsgn commented Mar 9, 2023

Hi! I'm the designer picking this up. Could the owner of the one-pager (linked above) please add me to it?

Not sure who to ask @mhuang-usdr - thanks!

@mindyatwork
Copy link
Contributor Author

mindyatwork commented Mar 13, 2023 via email

@agn-dsgn
Copy link

agn-dsgn commented Mar 14, 2023

Discussed design options with @caitlinwinner and landed on this one (shown below). Looking for feedback from @mhuang-usdr and the relevant engineer (who be you??)

Design Spec r1 - outdated

Overview: The suggestion is to add a button within the table in Uploads that will allow users to download all the workbooks/uploads and an index .csv file

Button styling:

  • add blue button to the right of "reset filters"
  • use same styling as "download file" within each table row (+ same hover state)
  • button text: "Download all as .zip"

Functionality:

  • on click, execute download of a .zip containing the following materials: a .xlsm of every filtered workbook and an index .csv file
  • if there is no filter applied to the table, I suggest to still show the button to make for a more consistent UI and allow users to download all uploads (and all their versions) if desired
  • index file includes this info for each row/workbook: filename, email of the person who uploaded it, agency, EC code, time stamp of upload
  • when there are not yet any uploads, disable this button. (Let me know if we don't have a disabled button state)

Additional changes:

  • remove the question marks ? after each of the existing filters

Questions:

  • Any issues with allowing the button to persist with or without the filter? Could the larger data sets be too large / slow / problematic? Could this affect .zip file preparation time and necessitate a progress indicator?
  • What should we name the .index file? Ticket suggestion was uploaded_by.csv, and an alternate idea is index_MM-DD-YYYY.csv >> FINAL = index_[reporting period name]_YYYY-MM-DD.csv
  • What should we name the .zip? Maybe something like workbooks_MM-DD-YYYY? >> FINAL = workbooks_[reporting period name]_YYYY-MM-DD.zip

ARPA-Reporter-887-01

@mindyatwork
Copy link
Contributor Author

Any issues with allowing the button to persist with or without the filter? Could the larger data sets be too large / slow / problematic? Could this affect .zip file preparation time and necessitate a progress indicator?

Persisting without the filter seems the most straightforward UX, and downloading all files is a use case I'm sure will be requested once we give the ability to download all "Treasury files", so I'm a fan of keeping that. This does mean we'll likely need a progress indicator - even with the filter on folks will already have upwards of 50+ files in their zip!

We also currently have a 10mb download limit based on our tech stack - @TylerHendrickson this sounds like a use case that will make us move to S3 regardless.

What should we name the .index file? Ticket suggestion was uploaded_by.csv, and an alternate idea is index_MM-DD-YYYY.csv

Partners suggested index_[reporting period name]_YYYY-MM-DD.csv

What should we name the .zip? Maybe something like workbooks_MM-DD-YYYY?

Partners suggested workbooks_[reporting period name]_YYYY-MM-DD.zip

@agn-dsgn
Copy link

agn-dsgn commented Mar 16, 2023

Great! The naming suggestions are perfect. Here are edited specs, with a couple final questions:

Design Spec - final

Overview: We will add a button within the table in Uploads that will allow users to download all the workbooks/uploads and an index .csv file

Link to Figma spec

Button:

  • add button to the right of "reset filters"
  • button text: "Download all as .zip"
  • use same styling as "reset filters" button but with blue background, hex #1565c0
  • hover and active states: same as for "Download file" button
  • progress indicator: spinner + "Preparing..." similar to when downloading template
  • SEE BELOW FOR RELATED QUESTIONS

Functionality:

  • on click, execute download of a .zip containing the following materials: a .xlsm of every filtered workbook and an index .csv file
  • if no filter applied, include every workbook
  • index file includes this info for each row/workbook: filename, email of the person who uploaded it, agency, EC code, time stamp of upload

File naming:

  • .zip file: workbooks_[reporting period name]_YYYY-MM-DD.zip
  • .csv index file: index_[reporting period name]_YYYY-MM-DD.csv

Additional changes:

  • remove the question marks ? after each of the existing filters

Questions:

  • button disabled state TBD: disable button if there are no uploads yet. Do we have a disabled state?
  • error handling: Do we have a generic message or pattern if this action fails?

@TylerHendrickson
Copy link
Member

@TylerHendrickson Note to self: This should probably be blocked by the S3 transition.

@TylerHendrickson TylerHendrickson self-assigned this Mar 21, 2023
@TylerHendrickson TylerHendrickson moved this from 🎨 Designing to 🔩 Eng planning in Grants Team Agile Planning Mar 21, 2023
@ClaireValdivia
Copy link
Contributor

@as1729 curious about where this fits in with the s3 work, and wondering if there needs to be two issues - one to export ALL historic files as a zip, and another to be able to download files from a single closed period.

@as1729
Copy link
Contributor

as1729 commented Feb 7, 2024

As @TylerHendrickson has commented earlier here. We should probably follow this order:

The 2477 and this issue can be worked in parallel once we have officially moved over to S3.

@ClaireValdivia
Copy link
Contributor

2/7 convo - confirmed that we want two separate issues - one to export ALL historic files as a zip, and another to be able to download files from a single closed period.

@ClaireValdivia ClaireValdivia moved this from 🆕 New to 📋 Scoping in Grants Team Agile Planning Mar 14, 2024
@ClaireValdivia ClaireValdivia added maintenance and removed enhancement New feature or request labels Mar 14, 2024
@ClaireValdivia
Copy link
Contributor

Closing as this is now a duplicate of #3803

@github-project-automation github-project-automation bot moved this from 📋 Scoping to ✅ Staging in Grants Team Agile Planning Jan 14, 2025
@ClaireValdivia ClaireValdivia moved this from ✅ Staging to 🚢 Completed in Grants Team Agile Planning Jan 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🚢 Completed
Development

No branches or pull requests

5 participants