cds-snc / cds-snc/platform-forms-client
Streamline response download process
- Dominant language
- TypeScript
- Stars
- 46
- Forks
- 16
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 91
Description
## Objective
The form data retrieval process is streamlined to provide an **easier way for clients to retrieve high-volumes (thousands) of responses at once**, as evidenced by this issue no longer being a top-mentioned pain point in support tickets and CX surveys, or, by the way people talking about this issue having changed (focusing less on the tedious step of sign-off for removal of responses from the system).
## Scope
The response retrieval UI supports accessing form responses, confirming they are processed, and scheduling to be removed from our system. However the process is tedious and cumbersome leading to overdue responses.
## Context
After migrating to Zitadel, the idea is to enable the use of "individual response keys instead of "form API keys"
Not only are we changing the sign in/register experience (via Zitadel IdP), with the "account migration"
This is ultimately to unlock other value for clients:
- enabling individual accountability when downloading responses in bulk
- using the API mechanism via the browser with an individual key to retrieve more responses (and with files attached)
## Links
- https://www.figma.com/design/35QKjPAQqjlOBI7TmPsUgP/File-Upload-Download?node-id=4773-2005&p=f&t=NwmBuy2co6JM9hSt-0
- https://www.figma.com/design/3xNEOaeybkUkwFjJL5RATR/Zitadel-migration?node-id=11003-134&p=f&t=NwmBuy2co6JM9hSt-0
## What's involved
- [ ] Generating/creating (encryption) response key (at account level) -- under account or forms?
- [ ] Removing tabs and changing language (new, downloaded, signed off for removal)
- [ ] Changing API key (associated to form) to Response (PKI) key (associated to account)
- [ ] Reorganize "Responses" page / layout
- [ ] Creating and re-generating an account key (encryption PKI)
- [ ] Consider impact on other features (opening/closing form, notifications for new responses, API integration)
- [ ] Updating the "Report a problem with responses" flow
- [ ] Tracking who downloaded what when (logging)
- [ ] Selecting how to retrieve responses (format, number, other customizations)
- [ ] HTML
- [ ] CSV
- [ ] exists? --> detect
- [x] append? --> Y or N?
- [ ] JSON
- [ ] API
- [ ] Revisit the "Add a collaborator" flow -- how does it work now
- [ ] Show the volume of responses available before downloading in the UI
- [ ] Address overdue responses
Contributor guide
Assessment
This issue has not been assessed yet.