https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34508

            Bug ID: 34508
           Summary: MARC modification templates have poor results when
                    working with multiple of a field
 Change sponsored?: ---
           Product: Koha
           Version: 22.11
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P5 - low
         Component: Cataloging
          Assignee: koha-bugs@lists.koha-community.org
          Reporter: ephettepl...@cca.edu
        QA Contact: testo...@bugs.koha-community.org
                CC: m.de.r...@rijksmuseum.nl

Created attachment 154334
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=154334&action=edit
minimal example record

MARC modification templates "copy and replace" actions struggle to modify
records in an expected manner when there are multiple of the field being
modified. There are at least two unexpected results:

- a "copy and replace" on the "1st" of two fields results in the first field's
modified subfield being copied to the second
- using an "if" condition with either the "1st" or "all" fields also causes the
first field's modified subfield to overwrite the second's subfield, even if the
second does not meet the if condition

I've attached a minimal MARC record with two 856 fields. The goal of a
modification template should be to modify only the first "example.com" ‡u
subfield while leaving the second untouched. However, both of these
modification templates result in the second 856‡u being a copy of the first.

1) Copy and replace 1st field 856$u to 856$u using RegEx
s/^http?s://example\.com/https://proxy.cca.edu/?url=https://example.com/

2) Copy and replace field 856$u to 856$u using RegEx
s/^http?s://example\.com/https://proxy.cca.edu/?url=https://example.com/ if
856$u matches RegEx m/https?://example\.com.*/

Original record:
245 _ _ ‡aTest record for MARC modification
856 4 0 ‡uhttps://example.com‡yProxy link
856 4 0 ‡uhttps://cca.edu‡yRetain link

Expected outcome:
245 _ _ ‡aTest record for MARC modification
856 4 0 ‡uhttps://proxy.cca.edu/?url=https://example.com‡yProxy link
856 4 0 ‡uhttps://cca.edu‡yRetain link

Actual outcome:
245 _ _ ‡aTest record for MARC modification
856 4 0 ‡uhttps://proxy.cca.edu/?url=https://example.com‡yProxy link
856 4 0 ‡uhttps://proxy.cca.edu/?url=https://example.com‡yRetain link

Note that the second field's ‡y subfield is untouched. For template #1, I
expect the second field not to be modified because it specifies only the "1st"
MARC field. For template #2, I expect the second field not to be modified
because it does not match the if condition. In BOTH templates, the regex
substitution should not affect the second field, because it does not match the
pattern.

There was a thread on the Koha listserv between myself and Caroline Cyr La Rose
from August 4th to August 9th, 2023 that may provide helpful details.

-- 
You are receiving this mail because:
You are watching all bug changes.
You are the assignee for the bug.
_______________________________________________
Koha-bugs mailing list
Koha-bugs@lists.koha-community.org
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to