@@ -, +, @@ Fill a 7..$3 field with a ppn (032581270 for example). Fill the 009 field with an integer --- C4/Biblio.pm | 6 ++ etc/zebradb/marc_defs/unimarc/biblios/record.abs | 7 ++ installer/data/mysql/updatedatabase.pl | 16 ++++ .../en/modules/admin/preferences/web_services.pref | 7 ++ koha-tmpl/opac-tmpl/prog/en/css/opac.css | 10 +++ koha-tmpl/opac-tmpl/prog/en/includes/greybox.inc | 7 ++ koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt | 10 ++- koha-tmpl/opac-tmpl/prog/en/modules/opac-idref.tt | 63 ++++++++++++++ opac/opac-detail.pl | 13 +++ opac/opac-idref.pl | 91 ++++++++++++++++++++ 10 files changed, 229 insertions(+), 1 deletion(-) create mode 100644 koha-tmpl/opac-tmpl/prog/en/includes/greybox.inc create mode 100644 koha-tmpl/opac-tmpl/prog/en/modules/opac-idref.tt create mode 100755 opac/opac-idref.pl --- a/C4/Biblio.pm +++ a/C4/Biblio.pm @@ -1928,9 +1928,14 @@ sub GetMarcAuthors { } # other subfields + my $unimarc3; for my $authors_subfield (@subfields) { next if ( $authors_subfield->[0] eq '9' ); + # unimarc3 contains the $3 of the author for UNIMARC. + # For french academic libraries, it's the "ppn", and it's required for idref webservice + $unimarc3 = $authors_subfield->[1] if $marcflavour eq 'UNIMARC' and $authors_subfield->[0] =~ /3/; + # don't load unimarc subfields 3, 5 next if ( $marcflavour eq 'UNIMARC' and ( $authors_subfield->[0] =~ /3|5/ ) ); @@ -1966,6 +1971,7 @@ sub GetMarcAuthors { push @marcauthors, { MARCAUTHOR_SUBFIELDS_LOOP => \@subfields_loop, authoritylink => $subfield9, + unimarc3 => $unimarc3 }; } return \@marcauthors; --- a/etc/zebradb/marc_defs/unimarc/biblios/record.abs +++ a/etc/zebradb/marc_defs/unimarc/biblios/record.abs @@ -151,14 +151,21 @@ melm 701 Author,Personal-name,Author:p,Personal-name:p,Personal-name:p melm 702$9 Koha-Auth-Number,Koha-Auth-Number:n melm 702 Author,Personal-name,Author:p,Personal-name:p,Personal-name:p +melm 700$3 Identified-standard +melm 701$3 Identified-standard +melm 702$3 Identified-standard + # collective Author melm 710$9 Koha-Auth-Number,Koha-Auth-Number:n melm 710 Author,Author-name-corporate,Author-name-conference,Corporate-name,Conference-name,Author:p,Author-name-corporate:p,Author-name-conference:p,Corporate-name:p,Conference-name:p +melm 710$3 Identified-standard melm 711$9 Koha-Auth-Number,Koha-Auth-Number:n melm 711 Author,Author-name-corporate,Author-name-conference,Corporate-name,Conference-name,Author:p,Author-name-corporate:p,Author-name-conference:p,Corporate-name:p,Conference-name:p +melm 711$3 Identified-standard melm 712$9 Koha-Auth-Number,Koha-Auth-Number:n melm 712 Author,Author-name-corporate,Author-name-conference,Corporate-name,Conference-name,Author:p,Author-name-corporate:p,Author-name-conference:p,Corporate-name:p,Conference-name:p +melm 712$3 Identified-standard # trademark Author : 716 melm 716$9 Koha-Auth-Number,Koha-Auth-Number:n --- a/installer/data/mysql/updatedatabase.pl +++ a/installer/data/mysql/updatedatabase.pl @@ -7953,6 +7953,22 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { SetVersion($DBversion); } + + + +$DBversion = "3.15.00.XXX"; +if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { + $dbh->do(q{ + INSERT INTO systempreferences (variable,value,explanation,options,type) + VALUES('IdRef','0','Disable/enable the IdRef webservice from the OPAC detail page.',NULL,'YesNo') + }); + print "Upgrade to $DBversion done (Bug 8992: Add system preference IdRef))\n"; + SetVersion($DBversion); +} + + + + =head1 FUNCTIONS =head2 TableExists($table) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/web_services.pref +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/web_services.pref @@ -44,3 +44,10 @@ Web services: - pref: SvcMaxReportRows class: integer - rows of a report requested via the reports web service. + IdRef: + - + - pref: IdRef + choices: + yes: Enable + no: Disable + - the IdRef webservice from the opac detail page --- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css +++ a/koha-tmpl/opac-tmpl/prog/en/css/opac.css @@ -3074,3 +3074,13 @@ padding: 0.1em 0; width: 35%; font-size: 111%; } + +/* IDREF */ +#idref h2.role { + background-color: #DDDEEE; + cursor: pointer; +} + +#idref table { + margin: 0; +} --- a/koha-tmpl/opac-tmpl/prog/en/includes/greybox.inc +++ a/koha-tmpl/opac-tmpl/prog/en/includes/greybox.inc @@ -0,0 +1,7 @@ + + + + + --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt +++ a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt @@ -30,6 +30,7 @@ [% END %] [% IF ( OpacStarRatings != 'disable' ) %] [% END %] +[% INCLUDE greybox.inc %] [% IF ( OpacHighlightedWords ) %][% END %] [% IF ( bidi ) %] @@ -558,7 +559,11 @@ YAHOO.util.Event.onContentReady("furtherm", function () { [% XSLTBloc %] [% ELSE %]