From 9ba06789cd2811df50eb199524f27c7fa10295ce Mon Sep 17 00:00:00 2001 From: Joy Nelson Date: Sat, 26 Oct 2013 00:14:48 -0400 Subject: [PATCH] Bug 11066: RIS and Bibtex Exports RDA compatible RIS and Bibtex exports from staff side and OPAC edited to allow for additional publisher RDA tag (264). Script will look first for 264 then fallback to 260 when pulling publisher data from marc21 record. Test Plan: 1. Create RDA and non RDA record 2. In OPAC, export both as RIS and Bibtex - verify publisher information is exported 3. On staff side, export records as RIS and Bibtex, verify publisher information is exported. --- C4/Record.pm | 6 +++--- C4/Ris.pm | 9 +++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/C4/Record.pm b/C4/Record.pm index 7277f2c..c9b438d 100644 --- a/C4/Record.pm +++ b/C4/Record.pm @@ -702,13 +702,13 @@ sub marc2bibtex { author => $author, title => $record->subfield("245", "a") || "", editor => $record->subfield("260", "f") || "", - publisher => $record->subfield("260", "b") || "", - year => $record->subfield("260", "c") || $record->subfield("260", "g") || "", + publisher => $record->subfield("264", "b") || $record->subfield("260", "b") || "", + year => $record->subfield("264", "c") || $record->subfield("260", "c") || $record->subfield("260", "g") || "", # Optional # unimarc to marc21 specification says not to convert 200$v to marc21 series => $record->subfield("490", "a") || "", - address => $record->subfield("260", "a") || "", + address => $record->subfield("264", "a") || $record->subfield("260", "a") || "", edition => $record->subfield("250", "a") || "", note => $record->subfield("500", "a") || "", url => $record->subfield("856", "u") || "" diff --git a/C4/Ris.pm b/C4/Ris.pm index ce32ea9..dc97c74 100644 --- a/C4/Ris.pm +++ b/C4/Ris.pm @@ -209,7 +209,12 @@ sub marc2ris { &print_pubinfo($record->field('210')); } else { ## marc21, ukmarc - &print_pubinfo($record->field('260')); + if ($record->field('264')) { + &print_pubinfo($record->field('264')); + } + else { + &print_pubinfo($record->field('260')); + } } ## 6XX fields contain KW candidates. We add all of them to a @@ -642,7 +647,7 @@ sub print_pubinfo { my($pubinfofield) = @_; if (!$pubinfofield) { - print "no publication information found (260)\r\n" if $marcprint; + print "no publication information found (260/264)\r\n" if $marcprint; warn("no publication information found") if $marcprint; } else { -- 1.7.2.5