Get MARC records directly from linked storage (SRS)
Description
Environment
Potential Workaround
Attachments
blocks
defines
has to be done after
Checklist
hideTestRail: Results
Activity

Charlotte Whitt August 27, 2020 at 12:39 PM
Nice, - thanks. I'll go ahead and close the ticket as done.

Mike Taylor August 26, 2020 at 11:40 PM
This is is now working:

Charlotte Whitt July 28, 2020 at 3:10 PM
Sounds good

Mike Taylor July 27, 2020 at 5:59 PM
I had a really helpful conversation with this morning. In summary:
mod-source-record-storage does not support searching with CQL, so we can't just use the same CQL query to both mod-inventory and the SRS store (or indeed bypass mod-inventory).
But it does have an endpoint (https://github.com/folio-org/mod-source-record-storage/blob/master/ramls/source-record-storage-source-records.raml#L109) where you can POST a list of instance IDs to get back a batch of the corresponding MARC records.
The documentation for this is a bit sparse, but the key points William filled in are:
The thing you post should be a JSON array of the IDs you want (e.g.
['123', '456']
).You need to specify `idType=INSTANCE` to force the interpretation of the IDs as instance IDs rather than the IDs of the SRS records themselves.
What this means is that we can write the Z39.50 server's retrieval software to fetch batches of (say) 20 instance records at a time from mod-inventory, then POST the IDs extracted from those records all at once to get the MARC records that we're going to return. This means we only need to make twice as many round-trips to obtain all the records as we would just to get instances, rather than 21 times as many.

Charlotte Whitt July 27, 2020 at 1:40 PMEdited
Hi - here link to the notes: https://docs.google.com/document/d/1DPIbsmKjOlPL4L5UQF4Hv49lLLXv3O5PSbRzAZAqq9c/edit
You can do any search in Inventory - use the search options, the filters or Query Search and the get the list of Instance UUID:
Details
Assignee
Mike TaylorMike TaylorReporter
Charlotte WhittCharlotte WhittLabels
Priority
P2TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee

Reporter

For MVP the plan is to focus on query handling, pulling the underlying MARC records from SRS, and collating holdings information from the holdings/items structures.
MARC records ins SRS are taking precedence over Instance records in Inventory, while they may contain richer metadata that clients might want.