Bug 38213 - Fix problems with MARC21 003 being mandatory
Summary: Fix problems with MARC21 003 being mandatory
Status: NEW
Alias: None
Product: Koha
Classification: Unclassified
Component: Cataloging (show other bugs)
Version: Main
Hardware: All All
: P5 - low normal
Assignee: Bugs List
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-18 22:51 UTC by Phil Ringnalda
Modified: 2024-10-18 22:51 UTC (History)
2 users (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Ringnalda 2024-10-18 22:51:41 UTC
In the MARC21 frameworks we ship, 003 is mandatory in Default and thus in the optional frameworks like BKS since they copy mandatory from Default. However, the optional frameworks set 003 to hidden = -6, which is visible in the OPAC and staff interface but not in the (basic) editor.

That means that if you create two records in BKS in the basic editor, you cannot set a value for 003, and then if you try to merge them you will not be able to merge, because 003 is mandatory but not present in either record and merging records enforces mandatories.

We could fix that for future installations by not setting hidden to -6 in the optional frameworks, so that they would require setting 003 just like Default does.

Or, we could fix it by not setting 003 mandatory. 003 is the marcorg code for the organization whose control number is in 001, but we don't set 001 as mandatory so we require a code for the organization which set the control number '' so that '(code)' will be a globally-unique control number, which is nonsense. It also creates nonsense when you import a naughty record which has a 001 but no 003, since then you will click in the 003 and have marc21_orgcode.pl fill in your marcorg code, saying that the control number is yours when in fact it's from someone unknown.

What we really mean by having 003 mandatory is '[ ] Mandatory for newly created records if 001 has a value', a checkbox which doesn't currently exist in frameworks and wouldn't be useful to add, since 003 is the only MARC21 field which is meaningless on its own and only exists as a prefix for another field.