From: Dan Scott Date: Thu, 3 Mar 2011 05:26:52 +0000 (-0500) Subject: Revert "Draw SRU search indexes from config.metabib_search_alias" X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=21ac8678de9d2ae0a9c39768ef38dd1dd94e64d7;p=working%2FEvergreen.git Revert "Draw SRU search indexes from config.metabib_search_alias" This reverts commit 5d2354f69e6a71b9151cf71098e02a7574298ff9. --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/SuperCat.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/SuperCat.pm index 658a34d346..425d098239 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/SuperCat.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/SuperCat.pm @@ -346,7 +346,7 @@ Returns the XML representation of the requested bibliographic record's holdings params => [ { name => 'label', - desc => 'The target call number label', + desc => 'The target call number lable', type => 'string' }, { name => 'org_unit', desc => 'The org unit shortname (or "-" or undef for global) to browse', @@ -469,7 +469,7 @@ Returns the XML representation of the requested bibliographic record's holdings params => [ { name => 'label', - desc => 'The target call number label', + desc => 'The target call number lable', type => 'string' }, { name => 'org_unit', desc => 'The org unit shortname (or "-" or undef for global) to browse', @@ -2841,41 +2841,6 @@ Returns the ISBN list for the metarecord of the requested isbn } ); -sub return_bib_search_aliases { - my %aliases; - - my $_storage = OpenSRF::AppSession->create( 'open-ils.cstore' ); - - my $cmsa = $_storage->request( - 'open-ils.cstore.direct.config.metabib_search_alias.search.atomic', - { alias => { like => '%.%'} } - )->gather(1); - - foreach my $alias (@$cmsa) { - my ($qualifier, $name) = $alias->alias =~ m/^(.+?)\.(.+)$/; - push(@{$aliases{$qualifier}}, $name); - } - - return \%aliases; -} - -__PACKAGE__->register_method( - method => 'return_bib_search_aliases', - api_name => 'open-ils.supercat.biblio.search_aliases', - api_level => 1, - argc => 0, - signature => - { desc => <<" DESC", -Returns the set of qualified search aliases in the system - DESC - params => [ ], - 'return' => - { desc => 'Hash of qualified search aliases', - type => 'object' } - } -); - - package OpenILS::Application::SuperCat::unAPI; use base qw/OpenILS::Application::SuperCat/; diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat.pm index 92cab95cd5..f473ee82eb 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat.pm @@ -34,7 +34,7 @@ my $log = 'OpenSRF::Utils::Logger'; my $U = 'OpenILS::Application::AppUtils'; # set the bootstrap config when this module is loaded -my ($bootstrap, $supercat, $actor, $parser, $search, $xslt, $cn_browse_xslt, %browse_types, %qualifier_map); +my ($bootstrap, $supercat, $actor, $parser, $search, $xslt, $cn_browse_xslt, %browse_types); $browse_types{call_number}{xml} = sub { my $tree = shift; @@ -143,10 +143,6 @@ sub child_init { $cn_browse_xslt = $xslt->parse_stylesheet( $cn_browse_xslt ); - %qualifier_map = %{$supercat - ->request("open-ils.supercat.biblio.search_aliases") - ->gather(1)}; - my $list = $supercat ->request("open-ils.supercat.record.formats") ->gather(1); @@ -1605,6 +1601,91 @@ sub item_age_browse { return Apache2::Const::OK; } +our %qualifier_map = ( + + # Some EG qualifiers + 'eg.site' => 'site', + 'eg.sort' => 'sort', + 'eg.direction' => 'dir', + 'eg.available' => 'available', + + # Title class: + 'eg.title' => 'title', + 'dc.title' => 'title', + 'bib.titleabbreviated' => 'title|abbreviated', + 'bib.titleuniform' => 'title|uniform', + 'bib.titletranslated' => 'title|translated', + 'bib.titlealternative' => 'title', + 'bib.titleseries' => 'series', + 'eg.series' => 'title', + + # Author/Name class: + 'eg.author' => 'author', + 'eg.name' => 'author', + 'creator' => 'author', + 'dc.creator' => 'author', + 'dc.contributer' => 'author', + 'dc.publisher' => 'keyword', + 'bib.name' => 'author', + 'bib.namepersonal' => 'author|personal', + 'bib.namepersonalfamily'=> 'author|personal', + 'bib.namepersonalgiven' => 'author|personal', + 'bib.namecorporate' => 'author|corporate', + 'bib.nameconference' => 'author|conference', + + # Subject class: + 'eg.subject' => 'subject', + 'dc.subject' => 'subject', + 'bib.subjectplace' => 'subject|geographic', + 'bib.subjecttitle' => 'keyword', + 'bib.subjectname' => 'subject|name', + 'bib.subjectoccupation' => 'keyword', + + # Keyword class: + 'eg.keyword' => 'keyword', + 'srw.serverchoice' => 'keyword', + + # Identifiers: + 'dc.identifier' => 'keyword', + + # Dates: + 'bib.dateissued' => undef, + 'bib.datecreated' => undef, + 'bib.datevalid' => undef, + 'bib.datemodified' => undef, + 'bib.datecopyright' => undef, + + # Resource Type: + 'dc.type' => undef, + + # Format: + 'dc.format' => undef, + + # Genre: + 'bib.genre' => 'keyword', + + # Target Audience: + 'bib.audience' => undef, + + # Place of Origin: + 'bib.originplace' => undef, + + # Language + 'dc.language' => 'lang', + + # Edition + 'bib.edition' => 'keyword', + + # Part: + 'bib.volume' => 'keyword', + 'bib.issue' => 'keyword', + 'bib.startpage' => 'keyword', + 'bib.endpage' => 'keyword', + + # Issuance: + 'bib.issuance' => 'keyword', +); + our %qualifier_ids = ( eg => 'http://open-ils.org/spec/SRU/context-set/evergreen/v1', dc => 'info:srw/cql-context-set/1/dc-v1.1', @@ -2020,7 +2101,8 @@ sub return_sru_explain { $e->findnodes('/z:explain/z:indexInfo')->shift->appendChild( $set_node ); - for my $index ( @{$qualifier_map{$name}} ) { + for my $index ( keys %{ $qualifier_map->{$name} } ) { + my $desc = $qualifier_map->{$name}{$index}[1] || $index; my $name_node = $doc->createElementNS( 'http://explain.z3950.org/dtd/2.0/', 'name' ); @@ -2033,10 +2115,10 @@ sub return_sru_explain { $index_node->appendChild( $title_node ); $index_node->appendChild( $map_node ); - $index_node->setAttribute( id => "$name.$index" ); - $title_node->appendText( $index); + $index_node->setAttribute( id => $name . '.' . $index ); + $title_node->appendText( $desc ); $name_node->setAttribute( set => $name ); - $name_node->appendText($index); + $name_node->appendText($index ); $e->findnodes('/z:explain/z:indexInfo')->shift->appendChild( $index_node ); }