Requests (UXPROD-790)

[UXPROD-2690] Prevent Local Page Requests Created: 28/Sep/20  Updated: 16/Nov/23

Status: Draft
Project: UX Product
Components: None
Affects versions: None
Fix versions: None
Parent: Requests

Type: New Feature Priority: TBD
Reporter: Cate Boerema (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: v+v_candidate
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: PNG File screenshot-1.png    
Issue links:
Blocks
blocks UXPROD-2694 Request: Allow Override of Prevented ... Blocked
Cloners
clones UXPROD-2689 Enable Request Policy to Determine Al... Closed
Relates
relates to UXPROD-1561 Allow Request Policy to Control Reque... Draft
relates to UXPROD-2649 Request: Allow Override of Request Po... Analysis Complete
Potential Workaround: The solution described in UXPROD-2689 could be used to prevent local page requests, but it would require the creation of more request policies and circ rules.
Epic Link: Requests
Front End Estimate: Small < 3 days
Front End Estimator: Matt Connolly
Back End Estimate: XL < 15 days
Back End Estimator: Bohdan Suprun (Inactive)
Development Team: Vega
Kiwi Planning Points (DO NOT CHANGE): 5
PO Rank: 39
PO Ranking Note: 2021-03-28 - BT: Adjusting PO rank to match calculated total rank for now.
2020-10-23: Rankings aren't coming in that high so I am just setting my PO rank to the calculated total rank for now.
2020-10-05: Need more rankings on this, but tentatively setting high PO rank, as this is an R1 for a production library.
Rank: Chalmers (Impl Aut 2019): R2
Rank: Chicago (MVP Sum 2020): R5
Rank: Cornell (Full Sum 2021): R2
Rank: Duke (Full Sum 2021): R2
Rank: 5Colleges (Full Jul 2021): R4
Rank: FLO (MVP Sum 2020): R4
Rank: GBV (MVP Sum 2020): R4
Rank: Grand Valley (Full Sum 2021): R4
Rank: Mainz (Full TBD): R3
Rank: MI State-Lib of MI (Sum 2021): R3
Rank: MO State (MVP June 2020): R1
Rank: St. Michael's College (Sum 2021): R3
Rank: TAMU (MVP Jan 2021): R2
Rank: U of AL (MVP Oct 2020): R4

 Description   

Purpose: To disallow patrons from requesting ”local” page (because library staff should not need to fetch the item for patron in such cases). "We have libraries that, for example, would be willing to route page requests to other schools for grad students but don't want to do local pages for them (since the perception is that if they are local they should just go get the book.)"

Definition: A “local page” is a page requests for an item where the request pickup location/SP is associated with the items’ effective location at the library where the item resides

Use cases:

  • Managing staff workload: For example, a system may have libraries that support specific graduate programs, like Music or Divinity. Those libraries may be willing to deliver books for their students to other locations, but not want to do local pages for items, since the demand from those grad students for local pages could be very high and make it difficult for staff to meet service expectations.

Wireframe:

In scope:

  • Request policy: Allow prevention of "local" page requests in request policy
  • Request: Prevent selection of "local" pickup service point when requesting
    • Ideally, it wouldn’t be possible to select a local pickup SP in request creation form
    • That is probably an expensive feature - we might have to hit the server with the request before a “not allowed” error can be returned (see UXPROD-1630 Closed )

Out of scope:

  • Override UXPROD-2694 Blocked
    • Request: Allow override of prevented service point.
    • Override permission (need to decide whether we need a specific permission for this kind of policy override or if there can be a general "request policy override permission")
  • Out of scope: Permission escalation for policy override UXPROD-2645 Draft

Additional information:



 Comments   
Comment by Cate Boerema (Inactive) [ 01/Oct/20 ]

Bohdan Suprun and Matt Connolly could you please provide FE and BE estimates for this feature? Let me know if you don't understand the feature write-up. Thanks!

Comment by Matt Connolly [ 01/Oct/20 ]

Cate Boerema Is this an all-or-nothing option? I'm just wondering. At Cornell, most of our libraries deny local pages – but there are a few exceptions (which I have to rather clumsily manage in the code of our current requests system!). How would that be handled in this implementation?

I've estimated this feature based on the assumption that this is just a variable that will be stored in the request policy record, so the FE story is simply to put a control for that variable on the screen.

Comment by Bohdan Suprun (Inactive) [ 02/Oct/20 ]

Cate Boerema,

Request policy: Allow prevention of "local" page requests in request policy

This will require changes in storage + changes in circulation to forward this property from storage - 8 days. Most likely there will be API breaking changes.

Then we will have to add validation to create request logic, to prevent "local" requests. - 4-5 days.

Ideally, it wouldn’t be possible to select a local pickup SP in request creation form.

There is no direct association between <item>-<request policy>, so UI will have to trigger circ rules in order to get request policy ID, they can use this API - /circulation/rules/request-policy and then fetch the request by id.

Comment by Cate Boerema (Inactive) [ 02/Oct/20 ]

Is this an all-or-nothing option? I'm just wondering. At Cornell, most of our libraries deny local pages – but there are a few exceptions (which I have to rather clumsily manage in the code of our current requests system!). How would that be handled in this implementation?

Matt Connolly this is set in the request policy which is then associated with requests via circ rules. So, Cornell could create a "No local pages" request policy and a "Local pages allowed" request policy. Then in the circ rules they could associate "No local pages" with the libraries that disallow and "Local pages allowed" for the libraries that allow. Does that make sense?

I've estimated this feature based on the assumption that this is just a variable that will be stored in the request policy record, so the FE story is simply to put a control for that variable on the screen.

Matt Connolly Yep, there's that tiny bit of work to do in Settings > Circulation > Request policies. But I also think there is a bit of work to do in Requests. We need to make sure that, when a user tries to create a request, if the selected pickup service point is disallowed because it is local, there needs to be some popup or something letting the user know why. Does that make sense?

There is no direct association between <item>-<request policy>, so UI will have to trigger circ rules in order to get request policy ID, they can use this API - /circulation/rules/request-policy and then fetch the request by id.

Thanks Bohdan Suprun. I'll assume this will work the way the other policy blocks do, then. Namely, you will have to attempt to save the request before getting notified that the pickup service point is not allowed because local pages are not allowed.

Comment by Cate Boerema (Inactive) [ 02/Oct/20 ]

Matt Connolly, we'll also need to write some tests around this new functionality so we should probably beef up the estimate for that, as well. Thanks!

Comment by Matt Connolly [ 02/Oct/20 ]

Cornell could create a "No local pages" request policy and a "Local pages allowed" request policy. Then in the circ rules they could associate "No local pages" with the libraries that disallow and "Local pages allowed" for the libraries that allow. Does that make sense?

Cate Boerema Yes, thanks for the explanation!

I also think there is a bit of work to do in Requests. We need to make sure that, when a user tries to create a request, if the selected pickup service point is disallowed because it is local, there needs to be some popup or something letting the user know why. Does that make sense?

Sorry, I didn't account for the requests work here (I was thrown off by the issue name "...in Request Policy"). I've bumped the estimate up to cover that.

Comment by Cate Boerema (Inactive) [ 05/Oct/20 ]

Sorry, I didn't account for the requests work here (I was thrown off by the issue name "...in Request Policy"

Ah, I see how that could be confusing. I removed that from the issue name.

Comment by Holly Mistlebauer [ 07/Mar/22 ]

This feature is marked DRAFT until Brooks Travis has a chance to review it for validity.

Comment by Brooks Travis [ 26/Oct/22 ]

Dennis Bridges This and/or UXPROD-2689 Closed may be of interest.

Comment by Dennis Bridges [ 27/Oct/22 ]

Thanks Brooks Travis 

Generated at Fri Feb 09 00:26:03 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.