The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.17 - 2008-02-07

  • Fix character-set handling AGAIN :-) The resolver library was correcting accepting any specified character encoding and correctly outputting UTF-8 with the necessary XML and HTML specifications to sayt that's what it was doing, but the top level resolver script was telling Perl to do UTF-8 encoding on output. (Why didn't that cause problems when running under Apache 1/mod_perl 1? Because of the character-set faries.)
  • Generalise rewrite rule so that /resolve/<dbname> URLs are correctly interpreted. This provides an easy means for running against alternative resource databases.
  • Fix sorting in Admin UI such that it works through successive pages of results.
  • When editing an object in the web-based Admin UI, drop-down option lists that are populated from the database (e.g. the service-types that a service can belong to) are now sorted.
  • Fix a bug in editable_fields(), which was omitting from its output those fields used as links to non-dependent sets (e.g. the set of services implementing a service-type) rather than dependent sets (e.g. the one service-type to which a service belongs). The result of that bug was that, for example, the raw numeric service_type_id was included on the service editing page as well as the service-type name. No more.
  • The resolver now responds more politely if an attempt is made to access a virtual site not supported by the database, and points the user at a new README file that explains the situation.
  • The service_type table now includes a new "plugin" field which can be used to explicitly specify the name of the Perl plugin to use to implement services of that type, if the required plugin is not named the same as the tag of the service-type. This allows multiple service-types to share the same plugin. (When this field is empty, the plugin named after the service-type's tag is used, as before. Thus the new field is only an override mechanism, and the new arrangement is backwards compatible.)
  • A database patch script is made available to support the new service_type.plugin field: see db/updates/
  • When building URIs from recipes, the resolver now, correctly, accepts the first of several slash-separated candidate fields whose value is defined and non-empty, whereas before it would accept defined but empty values.

Documentation

test Keystone Resolver's "recipe"-based result formatting

Modules

an OpenURL resolver
an OpenURL Framework (Z39.88) ContextObject
Resource Database for an OpenURL v1.0 resolver
a Descriptor in an OpenURL v1.0 ContextObject
logging levels for Keystone Resolver
an OpenURL that can be resolved
a result, with its type, resolved from an OpenURL
run tests for the Keystone Resolver library
Simple utility functions for Keystone Resolver

Provides

in lib/Keystone/ContentURL/Elsevier.pm
in lib/Keystone/Resolver/Admin.pm
in lib/Keystone/Resolver/DB/Domain.pm
in lib/Keystone/Resolver/DB/Genre.pm
in lib/Keystone/Resolver/DB/MetadataFormat.pm
in lib/Keystone/Resolver/DB/Object.pm
in lib/Keystone/Resolver/DB/Provider.pm
in lib/Keystone/Resolver/DB/Rule.pm
in lib/Keystone/Resolver/DB/Serial.pm
in lib/Keystone/Resolver/DB/Service.pm
in lib/Keystone/Resolver/DB/ServiceRule.pm
in lib/Keystone/Resolver/DB/ServiceType.pm
in lib/Keystone/Resolver/DB/ServiceTypeRule.pm
in lib/Keystone/Resolver/DB/Session.pm
in lib/Keystone/Resolver/DB/Site.pm
in lib/Keystone/Resolver/DB/User.pm
in lib/Keystone/Resolver/ResultSet.pm
in lib/Keystone/Resolver/plugins/Citation/APP.pm
in lib/Keystone/Resolver/plugins/Citation/Endnote.pm
in lib/Keystone/Resolver/plugins/Citation/JVP.pm
in lib/Keystone/Resolver/plugins/Citation/author.pm
in lib/Keystone/Resolver/plugins/ID/http.pm
in lib/Keystone/Resolver/plugins/ID/info.pm
in lib/Keystone/Resolver/plugins/ID/info/doi.pm
in lib/Keystone/Resolver/plugins/ID/info/oclcnum.pm
in lib/Keystone/Resolver/plugins/ID/info/pmid.pm
in lib/Keystone/Resolver/plugins/ID/mailto.pm
in lib/Keystone/Resolver/plugins/ID/urn.pm
in lib/Keystone/Resolver/plugins/ID/urn/isbn.pm
in lib/Keystone/Resolver/plugins/Service/APP.pm
in lib/Keystone/Resolver/plugins/Service/Elsevier.pm
in lib/Keystone/Resolver/plugins/Service/Gale.pm
in lib/Keystone/Resolver/plugins/Service/Infotrac.pm
in lib/Keystone/Resolver/plugins/Service/Science.pm
in lib/Keystone/Resolver/plugins/Service/ScienceAbstracts.pm
in lib/Keystone/Resolver/plugins/ServiceType/abstract.pm
in lib/Keystone/Resolver/plugins/ServiceType/authorsearch.pm
in lib/Keystone/Resolver/plugins/ServiceType/bookstore.pm
in lib/Keystone/Resolver/plugins/ServiceType/citation.pm
in lib/Keystone/Resolver/plugins/ServiceType/citeref.pm
in lib/Keystone/Resolver/plugins/ServiceType/fulltext.pm
in lib/Keystone/Resolver/plugins/ServiceType/websearch.pm

Examples