$Id: Changes,v 1.47 2008-02-05 02:56:30 mike Exp $

Revision history for Perl extension Keystone::Resolver.

1.16  Tue Feb  5 02:57:05 GMT 2008
	- Remove advisory dependency on Apache module from
	  Makefile.PL, as the true dependency is now on EITHER Apache
	  or Apache2, and there is no way to specify that in the
	  PREREQ_PM clause.
	- Modification to how the sample database is built result in a
	  more flexible configuration.
	- Both the resolver itself and the Admin UI issue more a
	  polite, informative message if the Resource Database is not
	  there.
	- Documentation tweaks arising from merge of Apache2 CVS
	  branch back into head.
	- README describes public CVS archive, Debian installation
	  procedure and service-names in the default resource
	  database.

1.15  Mon Jan 28 12:26:37 GMT 2008
	- Fix error in Apache2 debian-package configuration file:
	  mod_rewrite's log was written into /var/log/apache rather
	  than /var/log/apache2, which causes Apache2 to refuse to
	  start if Apache 1.x is not also installed.
	- Comments in Makefile.PL indicate what Debian packages
	  contain each of the prerequisite Perl modules.

1.14  Mon Jan 28 10:49:04 GMT 2008
	- Fix the resolver-site's index page to correctly state the
	  baseURL.  (No functional changes.)

1.13  Thu Jan 24 18:07:56 GMT 2008
	- Small changes to Web configuration to allow Apache 1.x and
	  Apache 2.x installations to co-exist, and to ensure that a
	  Debian install can live side-by-side with a development
	  version.  (Yes, this means that you can -- and I do -- run
	  four instances of the resolver on a single computer.)

1.12  Thu Jan 17 15:50:00 GMT 2008
	- Support for running under both Apache 1.3/mod_perl and
	  Apache 2.0/mod_perl2.
	- Add utility function apache_request() and mod_perl_version()
	  to Keystone::Resolver::Utils to support Apache-version
	  independence.

1.11  Mon Dec 17 11:57:16 GMT 2007
	- Fix bug #1967, which prevented the creation of certain types
	  of record, including Service and User.

1.10  Thu Dec 13 17:27:15 GMT 2007
	- Hardwired username/password pairs for read-only and
	  read-write pairs removed from code.  These are now obtained
	  from the KRuser, KRpw, KRrwuser and KRrwpw environment
	  variables.
	- Set KRuser et al. in web/conf/apache1.3/debian.conf
	- Set KRuser et al. in t/regression.t
	- Fixes to the admin system's new-record-creation and editing
	  system.

1.09  Mon Dec  3 09:46:22 GMT 2007
	- Add documentation to bin/kr-recipe.
	- Remove the obsolete PHP-based Web Admin UI from
	  web/htdocs/dbadmin/
	- Much better Debian packaging.

1.08  Fri Nov 23 18:23:00 GMT 2007
	- Debian packaging.  Currently encompasses the Perl part of
	  the application only (libraries and driver scripts).  A
	  separate Debian package will follow for the Web Admin UI and
	  the main HTTP entry point.

1.07  Fri Sep 21 10:00:40 BST 2007
	- The "deny" boolean field of rule object (both service-type
	  and service rules) is re-cast as an enumeration called
	  "action", with values "include" and "exclude".  This is
	  clearer exposition, and better represents the code.  The
	  underlying database field is still called "deny" and still
	  uses the boolean values 0 and 1, so no database changes are
	  necessary.

1.06  Thu Sep 20 18:50:54 BST 2007
	- Correct implementation of rules: both at the Service-Type
	  and Service levels, and both "include" and "exclude" rules.
	- Default options for the resolver object may now be set from
	  the environment (though they will be overridden by opt_*
	  keys in the OpenURL being resolved).  The KR_OPTIONS
	  environment variable is consulted: it consists of zero or
	  more assignments, separated by commas, each of the form
	  <option>=<value>: for example, "loglevel=32,xml=1".  This is
	  useful when running tests from the command-line.

1.05  Thu Sep 13 11:00:25 BST 2007
	- Genre class includes backlink field "metadata_formats",
	  which is included in its full display.
	- Provides class includes backlink field "services", which is
	  included in its full display.
	- Add "browse" links for each object type as well as "search"
	  in the Admin UI menu-panel.
	- The example form web/htdocs/mod_perl/form2.html now includes
	  a link to the Admin UI.
	- ... and the home page of the Admin UI links to the form.

1.04  Thu Sep 13 00:50:30 BST 2007
	- Change all occurrences of "media format" into "metadata
	  format": the gormer was a mistake.
	- Add links in admin UI to create new records as well as
	  editing existing ones.
	- Extend database with rules for selecting service-types and
	  individual services based on values of fields in the OpenURL
	  itself -- for example, when rfc.dctype=audiobook, omit
	  online bookstores.
	- Add database classes and Web UI for managing both kinds of
	  rules.
	- Better data-dictionary support for Domain (add name),
	  Service (do not display ID field) and User (make
	  summary-list name a link to full record).
	- Web UI can now handle editing booleans and links (using
	  dropdowns, which will not scale well when using large
	  lists).  This works ONLY FOR -TO-ONE LINKS and not for
	  -to-many links.

1.03  Thu Jul 12 12:44:30 BST 2007
	- _makeURI() now understands fallback fieldnames: for example,
	  the sequence %{jtitle/btitle/title} will use jtitle if that
	  is defined, otherwise %btitle if that is defined, otherwise
	  plain title.
	- Added a test-script for _makeURI().
	- Added a new log-level, WARNING.
	- Changed OpenURL::warn() to use $this->log(WARNING).

1.02  Tue Jul 10 12:45:06 BST 2007
	- Admin UI work continues.
	- Add service for linking into MasterKey.
	- Add service for linking into Reindex.
	- Add various hacks in identifier plugins to cope with the
	  nasty COinS OpenURLs generated by WorldCat.

1.01  Fri May 25 09:35:08 BST 2007
	- Add configuration-file fragment for Apache 2.0.x.
	- Changed the format of the XML document generated internally
	  as part of the resolution process (and available to the user
	  by providing the opt_xml query argument as part of the
	  OpenURL).  The new format places the text of each candidate
	  result as CDATA rather than an attribute value, opening the
	  way for more complex values.
	- Updated the XML DTD for the results format to reflect this
	  format change: etc/constraint/results-1.0.dtd
	- Updated the various XSLT stylesheets in etc/xslt to work on
	  the new form of the results XML.
	- Updated the test regression-test's known-good output to
	  match the new XML format.
	- Recipe rendering by Keystone::Resolver::OpenURL::_makeURI()
	  now accepts additional optional pre-special flag "_" which
	  results in the interpolated value being stripped of spaces.
	- Add new command-line utility bin/kr-recipe to test recipe
	  rendering.
	- Correct handling of character sets.
	- Add admin UI: this affects Apache configuration, the core
	  library, many HTML::Mason components, etc.  Not complete
	  yet.

1.00  Fri Jan 26 17:18:37 GMT 2007
	- original version; created by h2xs 1.23 with options
		-X --name=Keystone::Resolver --compat-version=5.8.0 --omit-constant --skip-exporter --skip-ppport
	- Actually, the core of the code is much older than this, but
	  Release 1.0 constitutes a complete repackaging and
	  reorganisation, based on this h2xs invocation.  This allows
	  us to take advantage of the Perl packaging conventions to
	  make the entire distribution, as well as a generally cleaner
	  project layout.  Prior releases were as a Perl module just
	  called "Resolver" (which for that reason would not have been
	  eligible as a CPAN module -- a two-level name is required).
	  Earlier entries in this file describe that old structure.

Revision history for Perl extension Resolver.

0.03  (NOT RELEASED)
	- "make test" now works on Red Hat 9, despite that platform's
	  inability to load DBD::mysql non-lazily, i.e. when
	  PERL_DL_NONLAZY is set.  This is done by hackery in
	  Makefile.PL to prevent PERL_DL_NONLAZY from being set, which
	  is not really a good solution.
	- Move citation generation, full-text reference generation and
	  abstract generation from Resolver::OpenURL into their own
	  plugins.
	- Refine service plugin interface so that the result can be
	  success, no-op, error or non-fatal error.
	- New test-case that checks for unknown journal titles being
	  properly diagnosed.
	- Add ability to request a single service rather than the
	  usual menu using svc_dat=indexdata:<service-type>:<tag>.
	  Add new test-case "feature-single" that exercises this.
	- Add ability for an OpenURL object to render itself as a
	  version 1.0 OpenURL string.  Among other uses, this
	  functions as a v0.1-to-v1.0 converter.
	- Add support for generating Endnote-style citations.
	- Add ability for a ServiceType or individual Service plugin
	  to specify the MIME-type of its result.
	- Result sets consisting of a single, explicitly requested,
	  result are now returned from Resolver::OpenURL::resolve() as
	  self-contained objects of the specified MIME-type rather
	  than embedded in a larger XML or HTML document.  This allows
	  the resolver to generate binary objects such as Endnote
	  citations for download.

0.02  Fri Jul 30 02:23:34 2004
	- First nailed-down version.  This is not yet ready for public
	  release, but it does follow CPAN-like conventions, and
	  passes its own test-suite using the standard sequence "perl
	  Makefile.PL && make && make test", so I am treating this as
	  a baseline from which to describe future changes.

0.01  Wed Jul 28 16:00:52 2004
	- original version; created by h2xs 1.22 with options
		-A -X -b 5.6.0 Resolver
	  In fact, this Perl-module superstructure was retro-fitted to
	  a project that had already undergone a great deal of
	  development prior to the h2xs-ization.