Uploaded image for project: 'mod-oai-pmh'
  1. mod-oai-pmh
  2. MODOAIPMH-455

Retrieve records from inventory and SRS for Dublin Core

    XMLWordPrintable

Details

    • Story
    • Status: Closed (View Workflow)
    • P3
    • Resolution: Done
    • None
    • None
    • Firebird - Sprint 157
    • 3
    • Firebird

    Description

      Overview:
      This is the continuation of the work done in MODOAIPMH-224 and will transform records retrieved from inventory or SRS to be returned in Dublin Core format.

      Acceptance criteria:

      • Response honors the OAI-PMH settings and it returns relevant data:
        • OAI-PMH setting records_source is set to Inventory - then only records from inventory (source <> MARC) are returned
        • OAI-PMH setting records_source is set to Source record storage - then only records from SRS are returned
        • OAI-PMH setting records_source is set to Source record storage and Inventory - then all records are returned
      • The rules for retrieving records as implemented in MODOAIPMH-224 are preserved:
        • Records can be retrieved from SRS
        • Records can be retrieved from Inventory
        • Records can be retrieved from SRS and Inventory
        • Suppression and deletion rules are honored
      • Result MARC record converts to Dublin Core if request parameter metadataPrefix="oai_dc" and verbs are:
        • GetRecord
        • ListRecords
        • ListIdenitifiers
      • Unit and Karate tests have been updated

      Scenarios:

      – request GetRecord FOLIO instance records in Dublin Core format

      1. Scenario * Given instance record source<> MARC

      • And instance record UUID matches the one requested
      • When OAI-PMH request verb=GetRecord
      • And metadataPrefix=oai_dc
      • Then Dublin Core record is generated from the instance record
      • And this record is present in response and the suppression flag is honored
        • suppressed record contains <dc:rights>discovery not suppressed</dc:rights> field
        • suppressed record contains <dc:rights>discovery suppressed</dc:rights> field

      Example:

      <record>
       <header>
        <identifier>oai:edge-bugfest-mg.folio.org:fs09000000/f4be2c1c-ca68-4030-bc9c-259c1ac89249</identifier>
        <datestamp>2022-11-07T10:50:11Z</datestamp>
        <setSpec>all</setSpec>
      </header>		
      <metadata>
       <oai_dc:dc>
        <dc:title>!Cuál justicia!</dc:title>
        <dc:creator>Searl, Duncan,author.</dc:creator>
        <dc:type>text</dc:type>
        <dc:type>Literature.fast(OCoLC)fst01921716</dc:type>
        <dc:type>Juvenile works.fast(OCoLC)fst01411637</dc:type>
        <dc:type>Literature.lcgft</dc:type>
        <dc:publisher>New York :Bearport Pub.,</dc:publisher>
        <dc:date>©2007.</dc:date>
        <dc:language>eng</dc:language>
        <dc:description>Examines how these clever creatures hunt, communicate, and stay safe in some the coldest places on Earth.</dc:description>
        <dc:description>Includes bibliographical references (page 31) and index.</dc:description>
        <dc:description>A wolf in the house -- Pups and puzzle boxes -- The fight for survival -- Leaders of the pack -- On the hunt -- Going in for the kill -- Staying close to home -- Good communication -- Growls and howls -- The call of the wild -- The big bad wolf -- A new home.</dc:description>
       <dc:description>Examines how these clever creatures hunt, communicate, and stay safe in some the coldest places on Earth.</dc:description>
        <dc:subject>Wolves</dc:subject>
        <dc:subject>Wolves.</dc:subject>
        <dc:subject>Loups</dc:subject>
        <dc:subject>Wolves.</dc:subject>
        <dc:subject>Wolves.</dc:subject>
        <dc:identifier>http://catdir.loc.gov/catdir/toc/ecip0620/2006028814.html</dc:identifier>
        <dc:identifier>URN:ISBN:9781597163705</dc:identifier>
        <dc:identifier>URN:ISBN:1597163708</dc:identifier>
        <dc:rights>discovery not suppressed</dc:rights>
       </oai_dc:dc>
      </metadata>
      </record>
      
      2. Scenario – request FOLIO instance records in Dublin Core format - ListRecords
      • Given instance record source<>MARC
      • * And instance record fits OAI-PMH request parameters
      • And instance record can be exposed according to suppressed records support rules
      • And record isn’t deleted
      • When OAI-PMH request verb=ListRecords
      • And metadataPrefix=oai_dc
      • Then Dublin Core record is generated from the instance record
      • And this record is present in response
        Example:
        <record>
         <header>
          <identifier>oai:edge-bugfest-mg.folio.org:fs09000000/f4be2c1c-ca68-4030-bc9c-259c1ac89249</identifier>
          <datestamp>2022-11-07T10:50:11Z</datestamp>
          <setSpec>all</setSpec>
        </header>		
        <metadata>
         <oai_dc:dc>
          <dc:title>!Cuál justicia!</dc:title>
          <dc:creator>Searl, Duncan,author.</dc:creator>
          <dc:type>text</dc:type>
          <dc:type>Literature.fast(OCoLC)fst01921716</dc:type>
          <dc:type>Juvenile works.fast(OCoLC)fst01411637</dc:type>
          <dc:type>Literature.lcgft</dc:type>
          <dc:publisher>New York :Bearport Pub.,</dc:publisher>
          <dc:date>©2007.</dc:date>
          <dc:language>eng</dc:language>
          <dc:description>Examines how these clever creatures hunt, communicate, and stay safe in some the coldest places on Earth.</dc:description>
          <dc:description>Includes bibliographical references (page 31) and index.</dc:description>
          <dc:description>A wolf in the house -- Pups and puzzle boxes -- The fight for survival -- Leaders of the pack -- On the hunt -- Going in for the kill -- Staying close to home -- Good communication -- Growls and howls -- The call of the wild -- The big bad wolf -- A new home.</dc:description>
         <dc:description>Examines how these clever creatures hunt, communicate, and stay safe in some the coldest places on Earth.</dc:description>
          <dc:subject>Wolves</dc:subject>
          <dc:subject>Wolves.</dc:subject>
          <dc:subject>Loups</dc:subject>
          <dc:subject>Wolves.</dc:subject>
          <dc:subject>Wolves.</dc:subject>
          <dc:identifier>http://catdir.loc.gov/catdir/toc/ecip0620/2006028814.html</dc:identifier>
          <dc:identifier>URN:ISBN:9781597163705</dc:identifier>
          <dc:identifier>URN:ISBN:1597163708</dc:identifier>
          <dc:rights>discovery not suppressed</dc:rights>
         </oai_dc:dc>
        </metadata>
        </record>
        
      3. Scenario – request instance records identifiers
      • Given instance record source=FOLIO or MARC
      • And instance create/update/delete date fits OAI-PMH request parameters (from/until)
      • And instance record can be exposed according to suppressed and deleted records support rules
      • When OAI-PMH request verb=ListIdentifiers
      • And metadataPrefix = oai_dc
      • Then the record’s identifier is present in ListIdentifiers response
      • Example:
        <header>
         <identifier>oai:edge-bugfest-mg.folio.org:fs09000000/f4be2c1c-ca68-4030-bc9c-259c1ac89249</identifier>
         <datestamp>2022-11-07T10:50:11Z</datestamp>
         <setSpec>all</setSpec>
        </header>
        

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                Oleksandr_Bozhko Oleksandr Bozhko
                Anastasiia Zakharova Anastasiia Zakharova (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases