Versions Compared

Key

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

...

  1. MARC field protections are only invoked if a MARC Update action is included in the job profile.
    1. Based on feedback from the community, consider changing the behavior so that the field protections are invoked automatically.
  2. When evaluating data in a subfield, MARC field protections are not case-sensitive. For example $aNcD, $aNCD, $a Ncd, $a ncd, $a ncD would all be considered equivalent and duplicates of each other.
    1. After testing and early usage, if the community decides that the field protections must take upper and lower case into account for data in subfields, consider changing the behavior so that the field protections are case-sensitive rather than case-insensitive
  3. One master list of MARC field protections is maintained in Settings/Data import. Unless/until a use case is identified that necessitates differentiation, this same list of field protections will be used for MARC Bibliographic, Authority, and Holdings record imports.
  4. MARC field protections are controlled at the tenant level, though field protections can be overridden for a particular action profile/job profile.
    1. Based on feedback from the community, consider adding the ability to include additional field protections in individual job profiles, for MARC fields that are used infrequently or do not normally need to be protected.
  5. For data in a subfield, the field protection is based on the entire data string.
    1. Consider supporting wildcards, begins, ends, contains in the future.
  6. Question for librarians: can we assume that LDR, 002-009 fields would never need field protection?

Repeatable and Non-repeatable fields:

...

  • Example 1
    • Existing: 950 1 2 $a 325167 $5 NcD
    • Incoming: 950 1 2 $a 325168 $5 NcD
    • Retain existing 950; add incoming 950 (since the $a data is different)
  • Example 2
    • Existing: 950 1 2 $a 325167 $5 NcD
    • Incoming: 950 3 4 $a 325168
    • Retain existing 950; add incoming 950(since the indicators and the $a value are different)
  • Example 3
    • Existing: 950 3 4 $a 325168 
    • Incoming: 950 1 2 $a 325167 $5 NcD
    • Replace the existing 950 with the incoming 950 (which would be protected in future updates of the record)
  • Example 4
    • Existing: 950 12 $a325167 $5NcD
    • Incoming:
      • 950 1 2 $a 325167 $5 NcD
      • 950 1 2 $a 325167 $5 NcA
      • 950 1 2 $a 325168
      • 950 1 2 $a 325169 $5 NcD
    • Retain existing 950; add all incoming 950s except the first one (since the first one duplicates an existing field, and the rest do not)
    • NOTE TO DEVELOPERS: if incoming duplicate is hard to identify and exclude, then add all incoming for now; and we'll refine to remove duplicates in the future
  • Example 5
      • Existing: 950 1 2 $a 325167 $5 NcD
    Example 4
      • Incoming: no 950
      • Retain existing 950
  • Example 6
    • Existing field: 010    $a 12345678 $5 NcD
    • Incoming: 010     $a 657453647 $5 NcD
    • Retain existing 950 010 ; discard incoming 950 010 (since 010 is a non-repeatable field)
  • Example 57
    • Existing field: 010    $a 12345678 $5 NcD
    • Incoming: 010     $a 12345678
    • Retain existing 950010; discard incoming 950 010 (since 010 is a non-repeatable field)
  • Example
  • 6
  • 8
    • Existing field:
  • 950 1 2 $a 325167 $5 NcD
    • 010    $a 12345678 
    • Incoming:
  • no 950Retain existing 950
    • 010     $a 12345678 $5 NcD
    • Replace existing 010 with the incoming 010 (since 010 is a non-repeatable field, but the existing one is not protected)


FieldInd 1Ind 2SubfieldData
035**bMiAaHDL

...

035 is a repeatable field.

  • Example 1
    • Existing: 035    035 12 $a 12345 $b MiAaHDL
    • Incoming: 035    035 34 $a 4327842 $b MiAaHDL
    • Retain existing 035; add incoming 035 (since the $a value is different)
  • Example 2
    • Existing: 035    $a 12345 
    • Incoming: 035    $a 4327842 $b MiAaHDL
    • Discard existing 035 (since it is not protected); add incoming 035
  • Example 3
    • Existing: 035    $a 12345 $b MiAaHDL
    • Incoming: 035    $a 12345 $b MiBaHDL
    • Retain existing 035; add incoming 035 (since the $b value is different)
  • Example 34
    • Existing: 035    $a 12345 $b MiAaHDL
    • Incoming:
      • 035    $a 12345 $b MiAaHDL
      • 035    $a 12345
      • 035    035 92 $a 6582634 $b MiAaHDL
      • 035    035 33 $a (OCoLC)743256132
    • Retain existing 035; discard first incoming 035 (since it is a duplicate); add all other incoming 035s
  • Example 45
    • Existing: 
      • 035    $a 12345 $b MiAaHDL
      • 035    $a 12345
      • 035    $a 6582634 $b MiAaHDL
      • 035    $a (OCoLC)743256132
    • Incoming:
      • 035    $a 6582636 $b MiAaHDL
      • 035    $a (OCoLC)467815642
    • Retain the existing 035s with $b MiAaHDL; discard existing 035s without $b MiAaHDL (since they are not protected); add all incoming 035s.
  • Example 56
    • Existing: 
      • 035    $a 12345 $b MiAaHDL
      • 035    $a 12345
      • 035    $a 6582634 $b MiAaHDL
      • 035    $a (OCoLC)743256132
    • Incoming: no 035s
    • Retain the existing 035s with $b MiAaHDL; discard existing 035s without $b MiAaHDL (since they are not protected)

...