Created attachment 39360 [details] Detail report (3) is what you get and (4) is what it should be File in cause is: /usr/share/koha/lib/C4/Ris.pm RIS in unimarc flavour is still deficient, because the variable $intype is out of scope outside --> sub marc2ris { } , so every other code that references to it render useless in an unimarc flavour where you need to join several fields to output correct information for AU, PY or PB. In attached image (3) is what you get in the export file, but (4) is what it should be to be totally correct... For live example data goto: https://opac.fct.unl.pt/cgi-bin/koha/opac-detail.pl?biblionumber=20049&query_desc=kw%252Cwrdl%253A%252020049 Thank you in antecipation for an early reply. Victor do Rosário Especialista de Informática Divisão de Documentação e Cultura FCT/UNL
Created attachment 39366 [details] [review] Bug 14245: Problems with RIS export in unimarc Variable $itype is used an all C4/Ris.pm to switch between marc falvors, but is local and not passed along as argument. As a quick solution, is defined as global To test: 1) On UNIMARC setup, export a record as RIS, check that author (and other fields) are displayed incorrectly 2) Apply the patch 3) Export again, improved results 4) Run t/Ris.t There are other problems in this script, needs maintenance (e.g. no Modern::Perl friendly)
Victor, any chance to get your signoff on this patch?
I already tested it and it works OK!
Created attachment 42572 [details] [review] Bug 14245: Problems with RIS export in unimarc Variable $itype is used an all C4/Ris.pm to switch between marc falvors, but is local and not passed along as argument. As a quick solution, is defined as global To test: 1) On UNIMARC setup, export a record as RIS, check that author (and other fields) are displayed incorrectly 2) Apply the patch 3) Export again, improved results 4) Run t/Ris.t There are other problems in this script, needs maintenance (e.g. no Modern::Perl friendly) Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 42586 [details] [review] Bug 14245: Problems with RIS export in unimarc Variable $itype is used an all C4/Ris.pm to switch between marc falvors, but is local and not passed along as argument. As a quick solution, is defined as global To test: 1) On UNIMARC setup, export a record as RIS, check that author (and other fields) are displayed incorrectly 2) Apply the patch 3) Export again, improved results 4) Run t/Ris.t There are other problems in this script, needs maintenance (e.g. no Modern::Perl friendly) Signed-off-by: Victor do Rosário <jvr@fct.unl.pt> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 42608 [details] [review] Bug 14245: (QA followup) already global The original patch correctly unmasks the global variable (by removing the 'my' on the marc2ris function, but wrongly introduces a new global variable. Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
Patch pushed to master. Thanks Bernardo!
pushed to 3.18.x, will be in 3.18.11. Also looks like it was pushed to 3.20.x, and included in 3.20.04