cds-snc / cds-snc/platform-forms-client

Streamline response download process

Open
#6,631 3 comments 0 reactions 2 assignees Claimed by @samsadasivan View on GitHub
design Epic responses
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.