https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32722 --- Comment #23 from Phil Ringnalda <phil@chetcolibrary.org> --- I happened to be reading bug 30373 again for something else, and noticed that Bernardo asked a couple of times for any input on mandatories. Shame he didn't get any then, so we wouldn't have this "OMG, they are marked as mandatory in the framework, we must support that, we can't ever revert anything that has landed!" problem. And in fact UNIMARC has a third flavor of mandatory, which he didn't include, "mandatory if another particular subfield is used." If we believe that Koha is required to enforce every use of "MA" (mandatory if applicable) in the Occurrence column of the UNIMARC spec, then along with making 036$a, 036$b, and 036$c mandatory if any 036 subfield is used, we also need to make 036$d, 036$m, and 036$2 mandatory if 036$p is used. But wait, there's more! There are also subfields which are MA because they are mandatory *unless* another subfield is used: 016$a, International Standard Recording Code, is mandatory if 016 is used unless 016$z, Erroneous ISRC, is used. And there's also mandatory content within mandatory fixed-length fields: if we are enforcing every use of the word "mandatory" in the UNIMARC spec, then we need to disallow blanks or fill characters in 100$a for positions 0-7, 22-24, and 26-29. And there's MA related to both the type of material, and whether or not you are doing FRBR cataloging: 101 is mandatory if the material has language and you aren't doing FRBR. So make my comment 13 step 2 into "Add a checkbox for 'Mandatory if any subfield is used,' a checkbox and text input for 'Mandatory if subfield [ ] is used,' a checkbox and text input for 'Mandatory unless subfield [ ] is used,' and for fixed-length fields a... Retract my comment 13 plan. The only reasonable plan is to say that "M" means mandatory and Koha should enforce it as mandatory (that's only 001, 100 and 100$a, 200 and 200$a plus local-to-Koha fields, what Thibault said we should keep in comment 0 except that 001 which is unambiguously mandatory is not mandatory in Koha's framework), and all instances of "MA" mean that catalogers should know when it is applicable, and if they create their own framework for things where it is applicable, they are free to make it mandatory in that framework. Of course, UNIMARC has so many flavors of mandatory that it has confused even them, so in the current spec (which is, amusingly, still not actually approved) they sometimes call a subfield which is mandatory if the optional field is used 'M' and most times call it 'MA', and in section 3.5.1 listing all the mandatory fields they include 801 despite the entire description of it saying that it is MA, only mandatory when it applies because you are sending your records to someone else and you need to at that point include the originating source field, because "In many cases this field will be generated automatically at the time of exchange." Of course, that's the UNIMARC equivalent of MARC21 040, where our default framework makes 040$c mandatory, though since my production install from 2014 has 040$d mandatory we apparently have had a hard time deciding just what we really should require (hint: nothing, since we don't actually use it for anything). -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.