Bugzilla – Attachment 153431 Details for
Bug 28166
Optionally add MARC fields to authority search
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 28166: Optionally add MARC fields to authority search
Bug-28166-Optionally-add-MARC-fields-to-authority-.patch (text/plain), 8.43 KB, created by
Marcel de Rooy
on 2023-07-14 07:17:28 UTC
(
hide
)
Description:
Bug 28166: Optionally add MARC fields to authority search
Filename:
MIME Type:
Creator:
Marcel de Rooy
Created:
2023-07-14 07:17:28 UTC
Size:
8.43 KB
patch
obsolete
>From 7c5aa44739165d8929e8020de254328fbf530280 Mon Sep 17 00:00:00 2001 >From: Mark Hofstetter <mark@hofstetter.at> >Date: Mon, 27 Mar 2023 12:09:32 +0200 >Subject: [PATCH] Bug 28166: Optionally add MARC fields to authority search >MIME-Version: 1.0 >Content-Type: text/plain; charset=utf-8 >Content-Transfer-Encoding: 8bit >Content-Type: text/plain; charset=utf-8 > >adds the same feature to Authority Search as in the "normal" Z39.50 search, to display >arbitrary marc fields in the search results > >1. apply patch >2. go to System preferences->Authorities preferences >3. the new option "AdditionalFieldsInZ3950ResultAuthSearch" shows up >4. enter the additional field numbers you want to see eg '001' >5. make an "Authority" search via Z39.50 >6. the new new column "Additional fields" will display >7. sign off ;-) > >Sponsored-by: Steiermärkische Landesbibliothek >Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com> >Signed-off-by: Clemens Tubach <clemens.tubach@kit.edu> > >Bug 28166: Removed comments and _add_rowdata > >Bug 28166: (follow-up) Restore custom fields for biblios > >To test: >1 - Add "245$a" to AdditionalFieldsInZ3950ResultSearch preference >2 - Cataloging -> new from z3950 >3 - Search and see results have 'additional fields' including the title >4 - Apply other patches >5 - Restart all >6 - Repeat Z39 Additional fields are now blank >7 - Apply thi patch, restart all >8 - Repeat Z39 search. Additional fields are restored > >Bug 28166: (QA follow-up) Fix rebase issue >--- > C4/Breeding.pm | 10 +++++++--- > installer/data/mysql/atomicupdate/bug_28166.pl | 17 +++++++++++++++++ > installer/data/mysql/mandatory/sysprefs.sql | 1 + > .../modules/admin/preferences/authorities.pref | 4 ++++ > .../en/modules/cataloguing/z3950_auth_search.tt | 16 ++++++++++++++++ > 5 files changed, 45 insertions(+), 3 deletions(-) > create mode 100755 installer/data/mysql/atomicupdate/bug_28166.pl > >diff --git a/C4/Breeding.pm b/C4/Breeding.pm >index 8bfa513bca..b441e4d6fb 100644 >--- a/C4/Breeding.pm >+++ b/C4/Breeding.pm >@@ -314,7 +314,8 @@ sub _handle_one_result { > $row->{server} = $servhref->{servername}; > $row->{breedingid} = $breedingid; > $row->{isbn}=_isbn_replace($row->{isbn}); >- $row = _add_custom_field_rowdata($row, $marcrecord); >+ my $pref_newtags = C4::Context->preference('AdditionalFieldsInZ3950ResultSearch'); >+ $row = _add_custom_field_rowdata($row, $marcrecord, $pref_newtags); > } > return ( $row, $error ); > } >@@ -345,8 +346,7 @@ sub _do_xslt_proc { > > sub _add_custom_field_rowdata > { >- my ( $row, $record ) = @_; >- my $pref_newtags = C4::Context->preference('AdditionalFieldsInZ3950ResultSearch'); >+ my ( $row, $record, $pref_newtags ) = @_; > my $pref_flavour = C4::Context->preference('MarcFlavour'); > > $pref_newtags =~ s/^\s+|\s+$//g; >@@ -602,6 +602,10 @@ sub Z3950SearchAuth { > $row_data{heading} = $heading; > $row_data{authid} = $authid; > $row_data{heading_code} = $heading_authtype_code; >+ $row_data{row} = _add_custom_field_rowdata( >+ { %row_data }, $marcrecord, >+ C4::Context->preference('AdditionalFieldsInZ3950ResultAuthSearch') >+ ) if C4::Context->preference('AdditionalFieldsInZ3950ResultAuthSearch'); > push( @breeding_loop, \%row_data ); > } > else { >diff --git a/installer/data/mysql/atomicupdate/bug_28166.pl b/installer/data/mysql/atomicupdate/bug_28166.pl >new file mode 100755 >index 0000000000..1939efcd5f >--- /dev/null >+++ b/installer/data/mysql/atomicupdate/bug_28166.pl >@@ -0,0 +1,17 @@ >+use Modern::Perl; >+ >+return { >+ bug_number => "28166", >+ description => "Add system preference for additional columns for Z39.50 authority search results", >+ up => sub { >+ my ($args) = @_; >+ my ($dbh, $out) = @$args{qw(dbh out)}; >+ # Do you stuffs here >+ $dbh->do(q{INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES >+('AdditionalFieldsInZ3950ResultAuthSearch', '', NULL, 'Determines which MARC field/subfields are displayed in -Additional field- column in the result of an authority Z39.50 search', 'Free') >+}); >+ # Print useful stuff here >+ # sysprefs >+ say $out "Added new system preference 'AdditionalFieldsInZ3950ResultAuthSearch'"; >+ }, >+}; >diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql >index 38a756f817..87c0736479 100644 >--- a/installer/data/mysql/mandatory/sysprefs.sql >+++ b/installer/data/mysql/mandatory/sysprefs.sql >@@ -11,6 +11,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` > ('AcqWarnOnDuplicateInvoice','0','','Warn librarians when they try to create a duplicate invoice','YesNo'), > ('ActionLogsTraceDepth', '0', '', 'Sets the maximum depth of the action logs stack trace', 'Integer'), > ('AdditionalContentsEditor','tinymce','tinymce|codemirror','Choose tool for editing News.', 'Choice'), >+('AdditionalFieldsInZ3950ResultAuthSearch', '', NULL, 'Determines which MARC field/subfields are displayed in -Additional field- column in the result of an authority Z39.50 search', 'Free'), > ('AdditionalFieldsInZ3950ResultSearch', '', NULL, 'Determines which MARC field/subfields are displayed in -Additional field- column in the result of a search Z3950', 'Free'), > ('AddressForFailedOverdueNotices', '', NULL, 'Destination email for failed overdue notices. If left empty then it will fallback to the first defined address in the following list: Library ReplyTo, Library Email, ReplytoDefault and KohaAdminEmailAddress', 'free'), > ('AddressFormat','us','us|de|fr','Choose format to display postal addresses', 'Choice'), >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref >index 787906e1cc..161d7bfdb8 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref >@@ -75,6 +75,10 @@ Authorities: > default: "Work cat." > type: textarea > class: code >+ - >+ - Display the MARC field/subfields >+ - pref: AdditionalFieldsInZ3950ResultAuthSearch >+ - " in the 'Additional fields' column of Z39.50 search results (use comma as delimiter e.g.: \"<code>001, 035$a</code>\")" > > Linker: > - >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_auth_search.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_auth_search.tt >index 487e09553a..a0cb49d701 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_auth_search.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_auth_search.tt >@@ -1,5 +1,6 @@ > [% USE raw %] > [% USE Asset %] >+[% USE Koha %] > [% SET footerjs = 1 %] > [% INCLUDE 'doc-head-open.inc' %] > [% IF ( opsearch ) %] >@@ -81,6 +82,9 @@ > <th>Server</th> > <th>Heading</th> > <th>Authority type</th> >+ [% IF Koha.Preference('AdditionalFieldsInZ3950ResultAuthSearch') %] >+ <th>Additional fields</th> >+ [% END %] > <th class="noExport">Actions</th> > </tr></thead> > <tbody>[% FOREACH breeding_loo IN breeding_loop %] >@@ -89,6 +93,18 @@ > <td>[% breeding_loo.server | html %]</td> > <td>[% breeding_loo.heading | html %]</td> > <td>[% breeding_loo.heading_code | html %]</td> >+ [% IF Koha.Preference('AdditionalFieldsInZ3950ResultAuthSearch') != '' %] >+ <td> >+ <dl> >+ [% FOREACH addnumberfield IN breeding_loo.row.addnumberfields %] >+ [% FOREACH string IN breeding_loo.row.$addnumberfield %] >+ <dt>[% addnumberfield | html %]:</dt> >+ <dd>[% string | html %]</dd> >+ [% END %] >+ [% END %] >+ </dl> >+ </td> >+ [% END %] > <td class="actions"> > <div class="btn-group dropup"> > <a class="btn btn-default btn-xs z3950actions" href="#">MARC</a><button class="btn-xs dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> >-- >2.30.2
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 28166
:
120139
|
120154
|
120155
|
148749
|
148755
|
148778
|
150590
|
150594
|
150595
|
150596
|
150601
|
153431
|
156166
|
156167
|
156550
|
156551
|
157646
|
157647