Uploaded image for project: 'mod-source-record-storage'
  1. mod-source-record-storage
  2. MODSOURCE-133

Extend the support of querying SRS via API



    • Folijet Sprint 91, Folijet Sprint 92
    • 0
    • Folijet
    • Q2 2020


      A lot of FOLIO modules are requesting MARC records from SRS. However current API https://s3.amazonaws.com/foliodocs/api/mod-source-record-storage/source-record-storage.html# doesn’t cover some query cases, which causes additional filtering on the program code level or extra requests that might have been avoided.

      There are a couple of cases for OAI-PMH, that are nice to be able filtering on the SRS level:

      • Retrieve SRS records by the input list of UUIDs. When the set of instances was received from Inventory and their MARC records are required, it'd be more convenient to pass the whole list of their UUIDs instead of getting SRS records one by one. Use POST method with a list of UUIDS in the body. What kind of records it should be(source records\ plain records)?


      • Get deleted records along with created/updated records for the defined period, so that EDS could have updates and be aware of deletes: at the moment there is no possibility to retrieve both active and deleted records by one request, thus two requests are being made as a workaround. Use state field.


      • Consider MARC Leader 05 - Record status in “d”, "s", "x" as a sign of deleted record as per https://www.loc.gov/marc/authority/adleader.html. See details in MODOAIPMH-108 ticket. It will be either convenient to
        • synchronize “deleted” parameter of SRS record with its MARC Leader or
        • take out MARC Leader 05 - Record status in additional parameter, so that Leader itself shouldn’t be parsed.


      • Add leaderRecordStatus column char(1)
      • Add trigger to fill this value from parsedRecord->content->leader(5)
      • Add this field to query params
      • change parsedRecord content column type to jsonb


      • Make different combinations of the deleted parameter (mind Leader 05 - Record status) with other SRS record parameters, e.g. suppressDiscovery, so that the next request example was available:
        (so that the records with suppressDiscovery = true AND deleted = “false” parameters were eliminated) - see details in MODOAIPMH-126 ticket

      TestRail: Results


          Issue Links



                wwelling William Welling
                Anastasiia Zakharova Anastasiia Zakharova (Inactive)
                0 Vote for this issue
                3 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases