bcgov / bcgov/foi-flow

Download Harms - Timeout and Re-Trigger

Open
#3,756 4 comments 0 reactions 0 assignees View on GitHub
Story
Dominant language
Python
Stars
8
Forks
2
Avg merge
14h 34m
Merged PRs (30d)
46

Description

* As a Ministry or IAO user
* I want to be able to re-trigger the download harms function if the process times out
* so that I am not unreasonably delayed

**Assumptions & Scope**
This story reflects the need for Ministry/IAO users to be able to re-trigger the download for harms process in the event of a system timeout event due to a network or other error beyond the user's control.

We will need to determine a reasonable amount of time to assume that the process has timed out. The time will also likely differ depending on if the records packaging is going through the standard pod/lane, vs the large file size pod/lane.

When the time threshold is reached, the user that actioned the download feature should be notified that the process has 'timed out' and they will be able to re-trigger the download for harms.

What is IN scope?
Re-activating the download for harms feature when the process has timed out
Notifications for users that the process has timed out

**Acceptance Criteria**

**Scenario 1: Download for Harms - Standard Package Timeout**
* GIVEN a user has trigged the download for harms
* AND the package is in the standard package pod for processing
* WHEN the processing time reaches XX hours
* THEN the download for harms function will re-activate
* AND the user can re-trigger the download for harms process again

**Scenario 2: Download for Harms - Standard Package Timeout Notification**
* GIVEN a user has triggered the download for harms
* AND the package is in the standard package pod for processing
* WHEN the processing time reaches XX hours
* THEN the user will receive a notification indicating: "The download for harms package has timed out, please try again."

**Scenario 3: Download for Harms - Large Package Timeout**
* GIVEN a user has trigged the download for harms
* AND the package is in the large package pod for processing
* WHEN the processing time reaches XX hours
* THEN the download for harms function will re-activate
* AND the user can re-trigger the download for harms process again

**Scenario 4: Download for Harms - Large Package Timeout Notification**
* GIVEN a user has triggered the download for harms
* AND the package is in the Large package pod for processing
* WHEN the processing time reaches XX hours
* THEN the user will receive a notification indicating: "The download for harms package has timed out, please try again."
...

**Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)**

**Validation Rules? (If yes, list here)**

**Design**
@xxx - please link the Design here

**Definition of Ready**

1. [ ] Is there a well articulated User Story?
2. [ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
3. [ ] If there is a user interface, is there a design?
4. [ ] Does the user story need user research/validation?
5. [ ] Does this User Story needs stakeholder approval?
6. [ ] Design / Solution accepted by Product Owner
7. [ ] Is this user story small enough to be completed in a Sprint? Should it be split?
8. [ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
9. [ ] Has the story been estimated?

**Definition of Done**

1. [ ] Passes developer unit tests
2. [ ] Passes peer code review
3. [ ] If there's a user interface, passes UX assurance
4. [ ] Passes QA of Acceptance Criteria with verification in Dev and Test
5. [ ] Confirm Test cases built and succeeding
6. [ ] No regression test failures
7. [ ] Test coverage acceptable by Product Owner
8. [ ] Ticket ready to be merged to master or story branch
9. [ ] Developer to list Config changes/ Update documents and designs
10. [ ] Can be demoed in Sprint Review
11. [ ] Tagged as part of a Release
12. [ ] Feature flagged if required
13. [ ] Change Management activities done?

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are identified. First clarify and document the timeout thresholds for standard and large packages, the processing states involved, and the notification path; done means both package types can be re-triggered after timeout and the specified user notification is covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.