[Koha-bugs] [Bug 32916] New: [Bug 30280 follow-up] Problems in linking authorities to biblio fields (MARC 21)

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Wed Feb 8 20:05:21 CET 2023


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

            Bug ID: 32916
           Summary: [Bug 30280 follow-up] Problems in linking authorities
                    to biblio fields (MARC 21)
 Change sponsored?: ---
           Product: Koha
           Version: 22.11
          Hardware: All
                OS: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: MARC Authority data support
          Assignee: koha-bugs at lists.koha-community.org
          Reporter: januszop at gmail.com
        QA Contact: testopia at bugs.koha-community.org
                CC: frank.hansen at ub.lu.se, katrin.fischer at bsz-bw.de

I encounter two problems connected to recent changes in the Linker module:

1.      Problem with thesaurus in biblio fields different than 6XX (Zebra and
ES)

a)      The search for a needed authority record (in C4::Heading::_search) is
made now not only with the search form derived from controlled field content,
but also with the second operand – the thesaurus.  The second operand is added
when $self->{thesaurus} is defined.  And at the current for MARC 21 it is
always defined (C4::Heading::MARC21::parse_heading returns the right thesaurus
symbol for 6XX fields and ‘lcsh’ for the rest, e.g. 1XX, 7XX, 8XX).

b)      So, if $self->{thesaurus} ide defined (= always), the thesaurus operand
in authority search is determined by examining the second indicator of the
field in the bibliographic record. (I leave apart the discussion of why it is
taken from the internal structure of the MARC::Field object while
$self->{field}->indicator(‘2’) would be the correct way). But the second
indicator makes sense – in terms of thesaurus – only for fields 6XX.  For other
controlled fields it is either undefined or has completely different meaning
(e.g. in 700, 710, 711, 730, 830 etc.).  The 

c)      So, in C4::Heading::_search we should consider the thesaurus operand
only for 6XX fields. This could be done either by checking $self->{field}->tag
in C4::Heading::_search or by not defining $self->{thesaurus} in
C4::Heading::MARC21::parse_heading for fields != 6XX.

2.      Problem with thesauri in Zebra searches

a)      While preparing Zebra indexes for authorities
(authority-zebra-indexdefs.xsl), the 008/11 byte or authority record is
transformed from one character code to the symbol (a => lcsh, b => lcac, etc.).

b)      But in C4::Heading::_search the thesaurus operand is formulated as one
character code conforming to the auth 008/11 convention. As a consequence, no
results are returned (unless by accident). 

c)      A possible solution could be removing the transformation
(authority-zebra-indexdefs.xsl, koha-indexdefs-to-zebra.xsl) while generating
Zebra index or refactoring the thesaurus fragment in C4::Heading::_search to
reflect this duality in recording information in indexes (Zebra vs. ES).

Could anybody confirm that the problems occur in other installations?

Cheers! - Janusz

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.


More information about the Koha-bugs mailing list