Go to file
Martin Renvoize b0c502407d
Bug 31925: Only code auto-created authorities with the source thesaurus when LinkerConsiderThesaurus is on
Comments 43-51 identified a further problem with unconditionally coding
a newly auto-created authority's 008/11 (and 040$f) from the source bib
heading's thesaurus: when LinkerConsiderThesaurus is off (the default),
the linker matches new headings to existing authorities by text alone,
regardless of thesaurus. So a bib heading from one thesaurus (e.g. FAST)
can auto-create an authority coded for that thesaurus, and a later bib
heading with the *same* text but no thesaurus of its own (or a different
one) can then link to that same authority purely on the text match.
Saving that authority afterwards propagates its 008/11 and 040$f coding
back onto every bib heading linked to it - silently adding indicators and
subfields the cataloguer never set, on installs that never opted into
thesaurus-aware behaviour.

Before this bug, AutoCreateAuthorities always created LCSH-coded records,
so that propagation was always onto the coding most sites already expect.
This bug's earlier patches changed that default for every site regardless
of whether they use LinkerConsiderThesaurus, which is what comments 43/45
(reproduced by Pedro Amorim) demonstrated as disruptive.

Sites that haven't turned on LinkerConsiderThesaurus don't benefit from
thesaurus-aware authority creation anyway, since their linker never
searches by thesaurus - C4::Heading::_search and C4::Linker::Default
already gate thesaurus-consideration on this same preference for
matching. This change gates authority-creation coding on it too, so the
behaviour introduced by this bug only applies to installs that already
opted into thesaurus-aware linking.

Test plan:
1. prove t/db_dependent/Biblio.t
   Note the new case 7 in the "codes new authorities with the source
   thesaurus" subtest: with LinkerConsiderThesaurus off, a FAST heading
   no longer codes the new authority as FAST, it keeps the
   MARCAuthorityControlField008 syspref default instead.
2. Librarian-facing regression check: with LinkerConsiderThesaurus off
   (the default), AutoLinkBiblios and AutoCreateAuthorities on, catalogue
   a 650 with ind2=7 $2=fast and save. The new authority's 008/11 should
   be whatever MARCAuthorityControlField008 says (LCSH 'a' by default),
   not 'z'.
3. Confirm the LinkerConsiderThesaurus=on cases from the earlier patches
   are unaffected: with it on, a FAST heading still codes 008/11='z' with
   040$f=fast, and a MeSH heading still codes 008/11='c'.

Sponsored-by: Heythrop Library <https://heythroplibrary.co.uk/>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
2026-09-25 12:08:50 +00:00
.github/workflows
…
C4 Bug 31925: Only code auto-created authorities with the source thesaurus when LinkerConsiderThesaurus is on 2026-09-25 12:08:50 +00:00
Koha Bug 31925: Don't override 008/11 when the heading's thesaurus wasn't identified 2026-09-25 12:08:49 +00:00
acqui Bug 30144: (QA follow-up) Only show servicing instructions when EDIFACT is available 2026-09-09 12:07:23 +00:00
admin Bug 43561: Redirect to local use sysprefs instead of 'not found' 2026-09-25 12:08:43 +00:00
api Bug 42679: (QA follow-up) Remove search tag that belongs to bug 42508 2026-09-11 16:05:57 +00:00
authorities Bug 21453: Copy data to the correct subfields when linking authorities with authorities 2026-04-23 09:24:58 -06:00
basket
…
bin
…
bookings
…
catalogue Bug 41318: Rename AmazonLocale to AmazonLocaleTld 2026-09-10 14:25:34 +00:00
cataloguing Bug 42512: Pass already checked/cleaned MARC::Record to Metadata Extractor 2026-07-16 10:54:18 +00:00
circ Bug 42310: (follow-up) Move Koha::Calendar tree under Koha::Library::Calendar 2026-09-15 16:14:02 +00:00
clubs
…
course_reserves
…
debian Bug 41920: Limit number of concurrent reports that can be run simultaneously for an instance of Koha 2026-09-15 14:45:08 +00:00
docs Bug 42726: Add 26.11 release team 2026-06-02 15:07:16 +00:00
erm
…
errors
…
etc Bug 41920: Limit number of concurrent reports that can be run simultaneously for an instance of Koha 2026-09-15 14:45:08 +00:00
ill Bug 37762: Circulation: Hook to checkouts/checkins 2026-05-08 12:25:43 -06:00
installer Bug 43336: DBRev 26.06.00.028 2026-09-21 16:07:50 +00:00
koha-tmpl Bug 43288: Fix change amount missing from printed fee receipts 2026-09-25 12:08:41 +00:00
labels Bug 42764: Fix spelling errors across the codebase 2026-06-03 16:09:04 +00:00
lib Bug 41521: Silent perlcritic warnings 2026-03-24 09:55:54 +01:00
members Bug 31391: Implement UseRecalls choices on staff interface 2026-09-14 14:15:52 +00:00
misc Bug 36549: (QA follow-up) Restore sleep 2026-09-24 15:48:32 +00:00
offline_circ Bug 40492: Improvements to offline circ actions table 2026-07-28 14:32:44 +00:00
opac Bug 43519: Direct links to article request form still work when the feature is disabled 2026-09-24 15:48:25 +00:00
patron_lists
…
patroncards Bug 42747: (QA follow-up) Parameterize query, dedupe, and log rejections 2026-08-11 12:39:40 +00:00
plugins
…
pos Bug 40445: (QA follow-up) Show cashup summary modal when completing from registers.pl 2026-07-27 12:12:41 +00:00
preservation Bug 35267: Apply preferences to preview and mailing 2026-04-17 09:18:06 -06:00
recalls Bug 31391: Allow cancel recall if UseRecalls enabled, remove unnecessary vars 2026-09-14 14:15:56 +00:00
reports Bug 43296: (follow-up) Fix perltidy 2026-09-21 11:56:43 +00:00
reserve Bug 42385: Use Koha::Policy::Circulation everywhere 2026-09-21 11:11:30 +00:00
reviews
…
rotating_collections
…
serials Bug 43239: Preserve item item type if previousitemtype column is undefined 2026-08-12 15:49:49 +00:00
services
…
sip2
…
skel
…
suggestion Bug 42919: Retain suggestion form values when duplicate warning is shown 2026-07-16 17:05:13 +00:00
svc Bug 42385: Remove _GetCircControlBranch 2026-09-21 11:11:32 +00:00
t Bug 31925: Only code auto-created authorities with the source thesaurus when LinkerConsiderThesaurus is on 2026-09-25 12:08:50 +00:00
tags Bug 42254: (QA follow-up) Remove unused var, fixing a FIXME 2026-04-28 15:48:24 -06:00
tools Bug 34632: (QA follow-up) Use Koha::Uploader for patron import files 2026-09-11 16:06:05 +00:00
virtualshelves Bug 42567: Remove C4::Koha::GetNormalizedEAN in favor of MetadataExtractor 2026-08-20 15:34:10 +00:00
xt Bug 42330: (QA follow-up) Fix file permissions on new test and tidy 2026-09-04 11:23:24 +00:00
.codespell-ignore Bug 42764: Fix false positives caused by POD letter-code formatting 2026-06-03 16:09:05 +00:00
.editorconfig
…
.git-blame-ignore-revs
…
.gitignore Bug 26355: Add a Vue island for the self-renewal modal 2026-05-01 09:30:00 -06:00
.htaccess
…
.mailmap Bug 43513: Add .mailmap entries for Lawrence O'Regan-Lloyd 2026-09-24 15:48:29 +00:00
.nvmrc Bug 42353: Store the node version in .nvmrc 2026-04-15 09:14:53 -06:00
.perlcriticrc
…
.perltidyrc
…
.prettierrc.js
…
.proverc.dist
…
.stylelintrc.json
…
INSTALL
…
Koha.pm Bug 43336: DBRev 26.06.00.028 2026-09-21 16:07:50 +00:00
LICENSE
…
MANIFEST.SKIP
…
Makefile.PL Bug 43401: (QA follow-up) tweak rspack.config.js comment and fix Makefile.PL 2026-09-11 15:06:54 +00:00
README
…
README.md
…
README.robots
…
SECURITY.md
…
about.pl Bug 42453: Remove warning 2026-06-29 15:39:07 +00:00
app.psgi Bug 38365: Integrate CSP middleware into Plack apps 2026-03-16 11:57:12 +01:00
build-resources.PL
…
changelanguage.pl
…
cpanfile Bug 41717: Bump PDF::Reuse and PDF::Reuse::Barcode versions 2026-07-28 14:32:22 +00:00
cypress.config.ts Bug 42772: Cypress.env => cy.env 2026-07-20 12:45:01 +00:00
eslint.config.mjs
…
fix-perl-path.PL
…
gulpfile.js Bug 42356: Silence Sass if-function deprecation warning 2026-04-17 09:18:15 -06:00
help.pl
…
kohaversion.pl
…
mainpage.pl
…
package.json Bug 43091: Clean the OPAC Vue dist directory in js:clean 2026-08-03 13:00:37 +00:00
rewrite-config.PL
…
rspack.config.js Bug 43401: (QA follow-up) tweak rspack.config.js comment and fix Makefile.PL 2026-09-11 15:06:54 +00:00
tsconfig.json
…
yarn.lock Bug 42772: Adjust yarn.lock 2026-07-20 12:45:02 +00:00

README.md

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit https://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

https://koha-community.org/

Koha Logo