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@lists.koha-community.org Reporter: januszop@gmail.com QA Contact: testopia@bugs.koha-community.org CC: frank.hansen@ub.lu.se, katrin.fischer@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.