Support large-scale bulk renewals
Description
CSP Request Details
CSP Rejection Details
Potential Workaround
blocks
is cloned by
is duplicated by
relates to
Checklist
hideTestRail: Results
Activity

Emma BoettcherJuly 9, 2020 at 4:53 PM
addressed the issue via a front end fix

Cate BoeremaJanuary 30, 2020 at 2:32 PM
Per meeting yesterday with , and , we have a plan for this problem. First step will be to make sure the UI is sending the update requests sequentially as we think that may prevent the process from keeling over (or at least extend the number of requests that can be made before it keels over). Then we'll test whether that seems to be working and, if so, we'll provide some user feedback so users aren't confused by the delay (it is expected that processing large number of renewals may take a little while). Loading ellipses can be used for this purpose.
I think we should probably write up a UIU bug for the work we now plan to do and link it to this one. You can mark this one Draft so it doesn't display in our backlog anymore. We can close it as Wont do if our front end change works.
Hopefully I captured our decision properly. Jump in if I got it wrong, guys.

Marc JohnsonJanuary 17, 2020 at 3:57 PM
Do you think there might be a potential ui solution to this problem?
See this comment and below on for a partial conversation on what Concorde tried and folks thoughts on resolving this in the UI.
Maybe the popup says "you have selected more than 99 records" and there is a button that says "update first batch of records (1 of 3)" and then when it is completed, another button says "update second batch of records (2 or 3)" or something.
I don't know what the significance of 99 is, I'm guessing it coincidentally failed at that point during manual testing?
Do we know how many loans would typically have their due date changed at the same time?
It's a bit kludgy, but might get the job done with a lot less effort than fixing the back end. I get the impression from Marc Johnson's comments that fixing the backend would be expensive. How big of a project are we talking about?
I don't know how big this would be without further investigation. As far as I'm aware, we don't have many business logic bulk operations in the system at the moment, the closest being the data import process (which is modelled very differently).
It likely depends upon a few factors, for example:
how many loans we want to change at the same time
how long we expect that process to take (relative to the number of loans being changed)
what feedback the UI wants to provide whilst the loans are being changed

Cate BoeremaJanuary 17, 2020 at 10:22 AM
Do you think there might be a potential ui solution to this problem? Maybe the popup says "you have selected more than 99 records" and there is a button that says "update first batch of records (1 of 3)" and then when it is completed, another button says "update second batch of records (2 or 3)" or something. It's a bit kludgy, but might get the job done with a lot less effort than fixing the back end. I get the impression from 's comments that fixing the backend would be expensive. How big of a project are we talking about?

Dmytro PopovNovember 14, 2019 at 1:42 PM
I believe, bulk renewal and change due date are two different pieces of funcaitonlity. It is best to create separate tickets to handle those.
Details
Assignee
UnassignedUnassignedReporter
Emma BoettcherEmma BoettcherLabels
Priority
P3Development Team
ProkopovychTestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee
Reporter

Purpose: Renewals for hundreds of items, or changing the due date for hundreds of items, are failing after 99 items. Back end work is needed to support bulk actions for hundreds of loans at a time.
from :
There are 2 individual requests (1 OPTIONS, 1 PUT) to renew every loan, so there are too many requests to renew the list of loans. In the case of snapshot or test env, it's really challenging to do it without errors and not to drop down the service (because it takes a lot of resources to handle them). So it seems, the special endpoint on the backend should be created to renew (and change due date) the bunch of loans.