Uploaded image for project: 'mod-source-record-manager'
  1. mod-source-record-manager
  2. MODSOURMAN-100

MARC 999 field: Put Inventory instance UUID

    XMLWordPrintable

Details

    • EPAM BatchLoader Sprint 15, EPAM BatchLoader Sprint 16
    • 5
    • Folijet

    Description

      Right after creating Inventory instances we can extract instance's UUID from 'location' response header and put it into '999' field.

      NOTE: This is needed ASAP after MODSOURMAN-99, per A-M

      Development notes:
      Expected algorithm of how mod-source-record-manager should process raw records (ChunkProcessingService):
      1 saves raw records into source-record-storage;
      2 updates job fields (status, runBy, progress, started date);
      3 transforms raw records into parsed records using marc4j, generates and puts UUID for each parsed record, does not save parsed records!
      4 creates new Inventory instance for each parsed record, extracts instance UUID from 'location' header (in response) ;
      5 puts UUIDs from step 3 and 4 into '999' field to each parsed record, saves parsed records then into source-record-storage(should be new method in ChangeEngineService);
      6 sets out 'State' field to received chunk;
      7 checks if processing completed;

      Finally '999' should look like this:
      Tag: 999
      Indicator 1: f (lower-case letter f)
      Indicator 2: f
      Subfield i: associated Instance UUID
      Subfield s: SRS UUID
      So a fully created 999 field would look something like this (using $ as the subfield indicator):

      999 ff$i<Associated Instance UUID>$s<SRS UUID>

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                Igor_Gorchakov Igor Gorchakov
                Igor_Gorchakov Igor Gorchakov
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases