All work
- Title-Level Requests (Basic)UXPROD-1061Resolved issue: UXPROD-1061Magda Zacharska
- SIP2: Protocol for self-checkout - initial implementationUXPROD-1002Resolved issue: UXPROD-1002Magda Zacharska
- Should some currencies be excluded from drop-down list?STCOM-547Resolved issue: STCOM-547Zak Burke
- SIP2: Normal Item CheckoutSIP2-31Resolved issue: SIP2-31Magda Zacharska
- SIP2: SC StatusSIP2-8Resolved issue: SIP2-8
- SIP2: Github Project Basics for EdgeSIP2-5Resolved issue: SIP2-5
- SIP2: Define Edge APISIP2-4Resolved issue: SIP2-4
- SIP2: Github Project BasicsSIP2-3Resolved issue: SIP2-3
- SIP2: Define Edge APISIP2-2Resolved issue: SIP2-2Matt Reno
- SIP2: Spike TaskSIP2-1Resolved issue: SIP2-1Matt Reno
Title-Level Requests (Basic)
Description
Priority
Fix versions
Development Team
Assignee
Solution Architect
Parent
Parent Field Value
Parent Status
Attachments
is defined by
relates to
Checklist
hideTestRail: Results
Details
Reporter
Cate BoeremaCate Boerema(Deactivated)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 daysRank: FLO (MVP Sum 2020)
R1Rank: 5Colleges (Full Jul 2021)
R1Rank: Cornell (Full Sum 2021)
R2Rank: Chalmers (Impl Aut 2019)
R1Rank: GBV (MVP Sum 2020)
R2Rank: hbz (TBD)
R2Rank: TAMU (MVP Jan 2021)
R2Rank: Chicago (MVP Sum 2020)
R5Rank: MO State (MVP June 2020)
R1Rank: U of AL (MVP Oct 2020)
R1Rank: Leipzig (Full TBD)
R1Rank: Lehigh (MVP Summer 2020)
R5TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Reporter
Estimation Notes and Assumptions
Back End Estimate
Rank: FLO (MVP Sum 2020)
Rank: 5Colleges (Full Jul 2021)
Rank: Cornell (Full Sum 2021)
Rank: Chalmers (Impl Aut 2019)
Rank: GBV (MVP Sum 2020)
Rank: hbz (TBD)
Rank: TAMU (MVP Jan 2021)
Rank: Chicago (MVP Sum 2020)
Rank: MO State (MVP June 2020)
Rank: U of AL (MVP Oct 2020)
Rank: Leipzig (Full TBD)
Rank: Lehigh (MVP Summer 2020)
TestRail: Cases
TestRail: Runs
Activity
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 PMEdited
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 PMEdited
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.
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.