All work

Select view

Select search mode

 

Title-Level Requests (Basic)

Done

Description

Current implementation of requests applies requests to items, but users (especially patrons) don't usually care which copy (item) they get - they just care about getting the title (instance).

The scope of this feature is to implement what is needed to support title-level requesting.

Baseline requirements:
0) Title-level requests assume that all circulation logic (business logic) will reside within FOLIO and the discovery/presentation layer will only have the conditionalities to request and display the response from FOLIO's API's.
1) Title level requests focus on a single bibliographic/instance record (or equivalent, as CODEX and methods of title/instance/manifestation-level grouping may be built out in the future).
2) Title level requests focus on multiple copies of the same work, not separate volumes in a continuing work.
3) Title level requests assume the library user does not care which copy of the intellectual work (to use the FRBR vocabulary) or the instance (to use the FOLIO terminology) attached to a single or multiple holdings record. The library patron cares about obtaining a physical copy of the intellectual work.
4) For journal/serial records of a continuing work, item-specific requests can allow for specific volumes/years/parts to be requested.
4a) For journal/serial/continuing works with any/sizeable volume/years/parts with no individual item record or barcode), the Hold/Request form can compensate with a free text or NOTE field to allow the library user to specify which volume(s) is/are being requested.
4b) For journal/serial/continuing works with any/sizeable volume/years/parts with no individual item record or barcode) due to a Summary Holdings statement (or equivalent), the Hold/Request form can compensate with a free text or NOTE field to allow the library user to specify which volume is being requested.
5) Library can configure hold default at the tenant level. Some libraries will want an actual hold issued and other will choose to always issue a recall instead of an actual hold. In all cases below, when the discovery service issues a hold, this setting will determine of FOLIO actually issues a hold or a recall.
6) Follows all circulation policy as configured in circulation.

Discovery to FOLIO workflow:
I. The Discovery user is able to login to the campus SSO authentication system to personalize, as in the Identity provider returns a Y/N authentication flag, PLUS the FOLIO user's ID number (as in, a potentially anonymous, non-PII identifier that correlates the institutional user with their record in FOLIO)
II. The successful authentication allows the Discovery user to select/submit a hold/request button/operator on a physical item record.
III. THE Discovery RTAC+ API's send the authentication session cookie to FOLIO and uses the FOLIO user ID to request patron if patron has the rights to issue a request.
IV. If the user has the rights to issue a request, the discovery RTAC+ API's send the create hold/request action to FOLIO
V. FOLIO checks if any copies exist where loanable is true and if requests can be placed (do they have circ rights, or only reference copies or no copies). If no copies exist return reason why via API to Discovery service.
VI. If a copy is found that can circulate and it's not checked out, a page is issued on behalf of the patron on the 1st available copy.
VI. If all copies are out on loan, a hold/recall will be placed on the item with the fewest existing holds/recalls and the available date closest to today
VII. FOLIO returns status via API to Discovery service about success or failure of the request.

Acceptance criteria:
1. EDS or any other discovery service can issue holds successfully by patron while not adding functionality to issue pages or holds by item
2. EDS or any other discovery service can request and display holds (that represent FOLIO holds and/pages by item) successfully by patron while not adding functionality to issue pages or holds by item
3. EDS or any other discovery service can cancel/delete holds (that represent FOLIO holds and/pages by item) successfully by patron while not adding functionality to issue pages or holds by item
4. Get, Post & Delete in mod-circulation will modified with a new request type that operates on a title basis but internally to FOLIO as by item basis.
5. Greater than 80% test coverage
6. Deployed and merged into GIT with the FOLIO quarterly release.
7. For testing to be complete, and external discovery service will need to be configured. May require core platform team tasks.

Next Steps:
1. Further define/refine stories for breakdown
2. Define dependencies on core platform team
3. Make sure existing pattern set by renewals can accommodate this feature.

Priority

Fix versions

Development Team

Prokopovych

Assignee

Solution Architect

Parent Field Value

None

Parent Status

None

Attachments

2

Checklist

hide

TestRail: Results

Details

Reporter

Estimation Notes and Assumptions

I am assuming a solution where the title (instance)-level request is immediately (at creation time) converted to a regular item-level request, based on some simple logic, like take the first available item and if nothing is available the first one where the due date is soonest. This could be build as a new endpoint in mod-circulation or directly in mod-patron, if the usage is limited to discovery services.

Back End Estimate

Large < 10 days

Rank: FLO (MVP Sum 2020)

R1

Rank: 5Colleges (Full Jul 2021)

R1

Rank: Cornell (Full Sum 2021)

R2

Rank: Chalmers (Impl Aut 2019)

R1

Rank: GBV (MVP Sum 2020)

R2

Rank: hbz (TBD)

R2

Rank: TAMU (MVP Jan 2021)

R2

Rank: Chicago (MVP Sum 2020)

R5

Rank: MO State (MVP June 2020)

R1

Rank: U of AL (MVP Oct 2020)

R1

Rank: Leipzig (Full TBD)

R1

Rank: Lehigh (MVP Summer 2020)

R5

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created August 29, 2018 at 2:45 PM
Updated January 3, 2024 at 4:57 PM
Resolved June 26, 2019 at 2:09 PM

Activity

Show:

Lloyd ChittendenAugust 26, 2019 at 2:52 PM

Is there a sandbox version of this functionality that I could try out?

Magda ZacharskaAugust 24, 2019 at 7:04 AM

You might want to take a look at https://github.com/folio-org/edge-rtac, https://github.com/folio-org/edge-patron, https://github.com/folio-org/mod-patron and https://github.com/folio-org/mod-rtac. If you have technical questions or would be the best to contact. If you have questions regarding the functional side - please let me know.

Lloyd ChittendenAugust 23, 2019 at 3:50 PM

Thank you. That is very interesting. Where do I find that part of the project on Jira? I'm new to this and it is not so easy to navigate.

Magda ZacharskaAugust 23, 2019 at 1:13 PM
Edited

The functionality you are concerned about is outside the scope of this feature (basic title level request) but we have solution that could handle the situation that on one occasion a patron doesn't care which copy their will get (identical copies for the same bib rec) and on the other (like different seasons of the TV series). This is being handled by the discovery service that is integrated with FOLIO through edge modules. We have it working with EDS integration. Here is an example of the modal that is displayed to the patron when creating a request for multi-volume publication:

Lloyd ChittendenAugust 22, 2019 at 6:52 PM
Edited

It sounds like you are talking about a multi-tenant consortium. This would indeed be very messy in that scenario, however our consortium is set up with a single server where everyone is sharing the same bib records. If we had holdings records we would share those as well, primarily because it would facilitate exactly this sort of resource sharing.

So we would be talking about a single MARC record for the TV series, with a single holdings record for each season. Then every library would have it's copies of each season attached to that single holdings record. Then it is not complicated. I'm suggesting that the requests should exist on the holdings record rather than the title level or the item level. If you had holdings level requests, then you would not need title level requests at all because if there is only one holdings record, then they are the same thing. And item level requests could be added, but it would be a lower priority because the need to request a particular copy of a volume is rare.

I will continue to pursue this in the Consortia SIG, but the people developing this function here should know that this is wanted. I don't know that it would be so much harder to start out with a system of requests at the holdings level rather than title level. If that's where we want to be in the end, it might be easier to set it up that way now rather than build title level requesting and have to add holdings level requesting later.

TestRail: Cases
TestRail: Runs