Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Diagram of regular DI flow for creating SRS MARC Bib and Instance

Source

Option 1

Expand

Remove step when initial records are saved in SRS (in batches).

Save incoming parsed content in SRM (it will be required for DI log) - it should be cleaned up when JobExecution is deleted

Provide endpoint in mod-inventory-storage(?) to generate ids for the Instance (Holdings/Authority?) prior to creating those records in inventory (in batches?)

Revisit 001 + 003 → 035 logic

Save MARC (Edifact records are also not needed in SRS) in SRS only as implicit part of Create instance (Holdings/Authority?) action. Save one by one?

Move on to inventory - basically finish the action there. Post-processing won't be required as ids are generated already, and underlying MARC contains them.

Image Modified


Image Modified

Pros

  • Simplified flow, removed Post-Processing step for Create Instance action (see updated diagram below)
  • Declutter SRS (incoming records for the jobs that do not require SRS MARC to be created and linked with other entities, will not be saved)

Source

Image Modified

Cons

  • Need to generate inventory identifiers (reserve the hrid sequence) before creating inventory entities (step 16 on the diagram)
  • Allow saving Inventory entities with already assigned identifiers (uuid and hrid), step 25
  • For other flows (that do not require saving SRS MARC records) we'll need to add storage for initial records to be referenced in DI logs

Option 2 - SELECTED

Remove step when initial records are saved in SRS (in batches).

...

  • Straightforward decision about action in SRM - following the profile (see diagram below)
  • Simplified flow for scenarios that do need the SRS entity to be created
  • No clutter in SRS (incoming records for the jobs that do not require SRS MARC to be created and linked with other entities, will not be saved)
  • Removed post-processing step
  • Performance benefits

...

  • Error handling - in case MARC Bib was not created, we end up with Instance record (source=MARC), but no underlying SRS MARC. Need to make sure such Instance is editable 
  • Store all incoming records in SRM to be referenced from DI logs

Option 3

Expand

Make Create SRS MARC action explicit - either additional action in the profile, or a checkbox - Save (or not) SRS MARC Bib

Pros

Shifting decision making on the user side

Straightforward flow

Cons

Error prone - we'll have to validate profiles thoroughly, shifting responsibility to the step of profile creation basically hardcoding the same principles, but earlier 

Risks & Assumptions

  1. Risk 1
  2. Risk 2 ...
  3. Assumption 1
  4. Assumption 2 ...

...