Bug 26195: Add a way to specify authorised values should be expanded [OAI]
This patch introduces a new configuration entry for OAI so the resulting records include authorised value descriptions instead of codes. This is off by default. To test: 1. Create a yaml file with the extended OAI configuration 2. Visit http://kohadev.myDNSname.org:8080/cgi-bin/koha/oai.pl 3. Browse some records => SUCCESS: The fields tied to AV show codes. 4. Update your configuration with 'expanded_avs: 1' for one of the defined format like in: --- format: marc21: metadataPrefix: marc21 metadataNamespace: http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim schema: http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd include_items: 0 marcxml: metadataPrefix: marcxml metadataNamespace: http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim schema: http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd include_items: 1 expanded_avs: 1 5. restart_all 6. Repead 3 => SUCCESS: AV descriptions are returned! 7. Sign off :-D Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
57e95681d4
commit
a4d285a9c4
|
|
@ -36,6 +36,7 @@ use YAML::XS;
|
|||
use CGI qw/:standard -oldstyle_urls/;
|
||||
use C4::Context;
|
||||
use C4::Biblio qw( GetMarcBiblio );
|
||||
use C4::XSLT qw( transformMARCXML4XSLT );
|
||||
use Koha::XSLT::Base;
|
||||
|
||||
=head1 NAME
|
||||
|
|
@ -82,10 +83,11 @@ mode. A configuration file koha-oai.conf can look like that:
|
|||
schema: http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd
|
||||
include_items: 1
|
||||
marcxml:
|
||||
metadataPrefix: marxml
|
||||
metadataPrefix: marcxml
|
||||
metadataNamespace: http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim
|
||||
schema: http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd
|
||||
include_items: 1
|
||||
expanded_avs: 1
|
||||
oai_dc:
|
||||
metadataPrefix: oai_dc
|
||||
metadataNamespace: http://www.openarchives.org/OAI/2.0/oai_dc/
|
||||
|
|
@ -166,16 +168,25 @@ sub DESTROY {
|
|||
|
||||
|
||||
sub get_biblio_marcxml {
|
||||
my ($self, $biblionumber, $format) = @_;
|
||||
my $with_items = 0;
|
||||
my ( $self, $biblionumber, $format ) = @_;
|
||||
my $with_items = 0;
|
||||
my $expanded_avs = 0;
|
||||
if ( my $conf = $self->{conf} ) {
|
||||
$with_items = $conf->{format}->{$format}->{include_items};
|
||||
$with_items = $conf->{format}->{$format}->{include_items };
|
||||
$expanded_avs = $conf->{format}->{$format}->{expanded_avs};
|
||||
}
|
||||
my $record = GetMarcBiblio({
|
||||
biblionumber => $biblionumber,
|
||||
embed_items => $with_items,
|
||||
opac => 1 });
|
||||
$record ? $record->as_xml_record() : undef;
|
||||
|
||||
my $record = GetMarcBiblio(
|
||||
{
|
||||
biblionumber => $biblionumber,
|
||||
embed_items => $with_items,
|
||||
opac => 1
|
||||
}
|
||||
);
|
||||
$record = transformMARCXML4XSLT( $biblionumber, $record )
|
||||
if $expanded_avs;
|
||||
|
||||
return $record ? $record->as_xml_record() : undef;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue