Bugzilla – Attachment 160480 Details for
Bug 29440
Refactor/clean up bulkmarcimport.pl
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 29440: defer biblio autolinking until records are indexed
Bug-29440-defer-biblio-autolinking-until-records-a.patch (text/plain), 4.27 KB, created by
Martin Renvoize (ashimema)
on 2024-01-03 16:25:13 UTC
(
hide
)
Description:
Bug 29440: defer biblio autolinking until records are indexed
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2024-01-03 16:25:13 UTC
Size:
4.27 KB
patch
obsolete
>From 78661545897f2d0d6026a3c63c7c598b8f1cd710 Mon Sep 17 00:00:00 2001 >From: David Gustafsson <david.gustafsson@ub.gu.se> >Date: Wed, 21 Sep 2022 17:43:32 +0200 >Subject: [PATCH] Bug 29440: defer biblio autolinking until records are indexed >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >Signed-off-by: MichaĆ Kula <148193449+mkibp@users.noreply.github.com> >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> >--- > C4/Biblio.pm | 16 +++++++++++++--- > misc/migration_tools/bulkmarcimport.pl | 9 ++++++++- > 2 files changed, 21 insertions(+), 4 deletions(-) > >diff --git a/C4/Biblio.pm b/C4/Biblio.pm >index 27d91bc112f..da8c7ff263a 100644 >--- a/C4/Biblio.pm >+++ b/C4/Biblio.pm >@@ -191,9 +191,17 @@ The C<$options> argument is a hashref with additional parameters: > > =over 4 > >-=item B<defer_marc_save>: used when ModBiblioMarc is handled by the caller >+=item B<defer_marc_save> >+Used when ModBiblioMarc is handled by the caller > >-=item B<skip_record_index>: used when the indexing scheduling will be handled by the caller >+=item B<skip_record_index> >+Used when the indexing scheduling will be handled by the caller >+ >+=item C<disable_autolink> >+ >+Unless C<disable_autolink> is passed AddBiblio will link record headings >+to authorities based on settings in the system preferences. This flag allows >+us to not link records when the authority linker is saving modifications. > > =back > >@@ -205,6 +213,7 @@ sub AddBiblio { > $options //= {}; > my $skip_record_index = $options->{'skip_record_index'} // 0; > my $defer_marc_save = $options->{defer_marc_save} // 0; >+ my $disable_autolink = $options->{disable_autolink} // 0; > > if (!$record) { > carp('AddBiblio called with undefined record'); >@@ -284,7 +293,7 @@ sub AddBiblio { > # update MARC subfield that stores biblioitems.cn_sort > _koha_marc_update_biblioitem_cn_sort( $record, $olddata, $frameworkcode ); > >- if (C4::Context->preference('AutoLinkBiblios')) { >+ if (!$disable_autolink && C4::Context->preference('BiblioAddsAuthorities')) { > BiblioAutoLink( $record, $frameworkcode ); > } > >@@ -590,6 +599,7 @@ sub BiblioAutoLink { > my $record = shift; > my $frameworkcode = shift; > my $verbose = shift; >+ > if (!$record) { > carp('Undefined record passed to BiblioAutoLink'); > return 0; >diff --git a/misc/migration_tools/bulkmarcimport.pl b/misc/migration_tools/bulkmarcimport.pl >index b9e961c9115..dc2374c6a71 100755 >--- a/misc/migration_tools/bulkmarcimport.pl >+++ b/misc/migration_tools/bulkmarcimport.pl >@@ -19,6 +19,7 @@ use C4::Biblio qw( > ModBiblioMarc > GetFrameworkCode > GetMarcBiblio >+ BiblioAutoLink > ); > use C4::Koha; > use C4::Charset qw( MarcToUTF8Record SetUTF8Flag ); >@@ -125,6 +126,7 @@ if ($all) { > > my $using_elastic_search = (C4::Context->preference('SearchEngine') eq 'Elasticsearch'); > my $modify_biblio_marc_options = { >+ disable_autolink => $using_elastic_search, > defer_search_engine_indexing => $using_elastic_search, > overlay_context => { source => 'bulkmarcimport' } > }; >@@ -541,7 +543,7 @@ RECORD: foreach my $record (@{$marc_records}) { > } > } > elsif ($insert) { >- eval { ($record_id, $biblioitemnumber) = AddBiblio($record, $framework, { defer_marc_save => 1 }) }; >+ eval { ($record_id, $biblioitemnumber) = AddBiblio($record, $framework, { disable_autolink => 1, defer_marc_save => 1 }) }; > if ($@) { > warn "ERROR: Insert biblio $originalid failed: $@\n"; > printlog( { id => $originalid, op => "insert", status => "ERROR" } ) if ($logfile); >@@ -645,6 +647,11 @@ RECORD: foreach my $record (@{$marc_records}) { > $schema->txn_begin; > if ($indexer) { > $indexer->update_index(\@search_engine_record_ids, \@search_engine_records); >+ if (C4::Context->preference('BiblioAddsAuthorities')) { >+ foreach my $record (@search_engine_records) { >+ BiblioAutoLink($record, $framework); >+ } >+ } > @search_engine_record_ids = (); > @search_engine_records = (); > } >-- >2.43.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 29440
:
127479
|
127480
|
127481
|
127485
|
127486
|
127508
|
127509
|
127651
|
127652
|
127791
|
127792
|
127795
|
127796
|
127959
|
127960
|
127961
|
127963
|
128086
|
128087
|
128362
|
128890
|
128891
|
131176
|
131177
|
131180
|
131181
|
132942
|
140822
|
140823
|
140903
|
140904
|
140905
|
140906
|
140924
|
140925
|
140926
|
140927
|
140928
|
140987
|
140988
|
140989
|
143375
|
151293
|
151294
|
151295
|
151296
|
151297
|
151298
|
151299
|
151300
|
151301
|
157798
|
160148
|
160149
|
160150
|
160151
|
160152
|
160153
|
160154
|
160155
|
160156
|
160157
|
160477
|
160478
|
160479
| 160480 |
160481
|
160482
|
160483
|
160484
|
160485
|
160486
|
160487