Bugzilla – Attachment 29295 Details for
Bug 12357
Enhancements to RIS and BibTeX exporting
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 12357 [2] - Add ability to use record level itemtype for RIS export type
Bug-12357-2---Add-ability-to-use-record-level-item.patch (text/plain), 5.37 KB, created by
Kyle M Hall (khall)
on 2014-06-26 17:31:40 UTC
(
hide
)
Description:
Bug 12357 [2] - Add ability to use record level itemtype for RIS export type
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2014-06-26 17:31:40 UTC
Size:
5.37 KB
patch
obsolete
>From 2c4c87f28004980e1bdcd4dcf84ae215d30aedf8 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Tue, 3 Jun 2014 09:29:53 -0400 >Subject: [PATCH] Bug 12357 [2] - Add ability to use record level itemtype for RIS export type > >Some libraries would like to be able to add arbitrary fields to both the >RIS and BibTeX citation formats that a record can be saved as from the >staff intranet and public catalog. In addition, they would like to be >able to override the default record type and use Koha's itemtype as the >record type for those formats as well. > >Test Plan: >1) Apply this patch >2) Run updatedatabase >3) Enable the new system preference RisUseItemtypeAsType >4) Choose a record that has a set biblio level itemtype >5) Save this record as RIS >6) View the record, note the TY field is your record's itemtype code >--- > C4/Ris.pm | 18 ++++++++++++++++-- > installer/data/mysql/sysprefs.sql | 1 + > installer/data/mysql/updatedatabase.pl | 6 ++++++ > .../en/modules/admin/preferences/cataloguing.pref | 6 ++++++ > 4 files changed, 29 insertions(+), 2 deletions(-) > >diff --git a/C4/Ris.pm b/C4/Ris.pm >index 539d622..9e9a275 100644 >--- a/C4/Ris.pm >+++ b/C4/Ris.pm >@@ -64,6 +64,8 @@ package C4::Ris; > > use vars qw($VERSION @ISA @EXPORT); > >+use C4::Biblio qw(GetMarcSubfieldStructureFromKohaField); >+ > # set the version for version checking > $VERSION = 3.07.00.049; > >@@ -117,8 +119,20 @@ sub marc2ris { > ## else: other MARC formats do not specify the character encoding > ## we assume it's *not* UTF-8 > >- ## start RIS dataset >- &print_typetag($leader); >+ ## start RIS dataset >+ if ( C4::Context->preference('RisUseItemtypeAsType') ) { >+ my $s = GetMarcSubfieldStructureFromKohaField('biblioitems.itemtype'); >+ my $type = $record->subfield( $s->{tagfield}, $s->{tagsubfield} ); >+ if ($type) { >+ print "TY - $type\r\n"; >+ } >+ else { >+ &print_typetag($leader); >+ } >+ } >+ else { >+ &print_typetag($leader); >+ } > > ## retrieve all author fields and collect them in a list > my @author_fields; >diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql >index 772be70..04ddbd0 100644 >--- a/installer/data/mysql/sysprefs.sql >+++ b/installer/data/mysql/sysprefs.sql >@@ -342,6 +342,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` > ('ReturnToShelvingCart','0','','If set, when any item is \'checked in\', it\'s location code will be changed to CART.','YesNo'), > ('reviewson','1','','If ON, enables patron reviews of bibliographic records in the OPAC','YesNo'), > ('RisExportAdditionalFields', '', NULL , 'Define additional RIS tags to export from MARC records in YAML format as an associative array with either a marc tag/subfield combination as the value, or a list of tag/subfield combinations.', 'textarea'), >+('RisUseItemtypeAsType', '0', NULL , 'Use biblio.itemtype for RIS export type if set', 'YesNo'), > ('RoutingListAddReserves','1','','If ON the patrons on routing lists are automatically added to holds on the issue.','YesNo'), > ('RoutingListNote','To change this note edit <a href=\"/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=RoutingListNote#jumped\">RoutlingListNote</a> system preference.','70|10','Define a note to be shown on all routing lists','Textarea'), > ('RoutingSerials','1',NULL,'If ON, serials routing is enabled','YesNo'), >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index 1bd038b..90f852b 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -8566,6 +8566,12 @@ if ( CheckVersion($DBversion) ) { > INSERT INTO systempreferences (variable,value,options,explanation,type) > VALUES ('RisExportAdditionalFields', '', NULL , 'Define additional RIS tags to export from MARC records in YAML format as an associative array with either a marc tag/subfield combination as the value, or a list of tag/subfield combinations.', 'textarea') > }); >+ >+ $dbh->do(q{ >+ INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES >+ ('RisUseItemtypeAsType', '0', NULL , 'Use biblio.itemtype for RIS export type if set', 'YesNo') >+ }); >+ > print "Upgrade to $DBversion done (Bug XXX - Add ability to export arbitrary MARC fields for RIS and BibTex)\n"; > SetVersion($DBversion); > } >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref >index 49be897..a946fd8 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref >@@ -209,3 +209,9 @@ Cataloging: > - "To specificy multiple marc tags/subfields as targets for a repeating RIS tag, use the following format: RIS_TAG: [TAG2$SUBFIELD1, TAG2$SUBFIELD2] ( e.g. XY: [501$a, 505$g] )" > - "<br/>" > - "All values of repeating tags and subfields will be printed with the given RIS tag." >+ - >+ - pref: RisUseItemtypeAsType >+ choices: >+ yes: "Do" >+ no: "Do not" >+ - use the record level itemtype code for the TY field if it is set. If it is not set, the default TY field handler will be used. >-- >1.7.2.5
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 12357
:
28646
|
28647
|
28648
|
28649
|
28650
|
29291
|
29292
|
29293
|
29294
|
29295
|
29296
|
29297
|
31677
|
31678
|
31679
|
31680
|
33123
|
33124
|
33125
|
33126
|
35485
|
35487
|
35489
|
35826
|
35827
|
35828
|
38602
|
38604
|
39469
|
39471
|
39773
|
39774
|
39775
|
39776
|
39803
|
39804
|
39805
|
39806