OAI-Harvester
view release on metacpan or search on metacpan
Revision history for Perl extension Net::OAI::Harvester
1.20 Mon, Jan 25 00:20:05 CET 2016
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! INCOMPATIBLE CHANGE introduced with version 1.20 !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Up to version 1.15 the metadataHandler was inconsistently fed with input:
- GetRecord exposed the almost complete XML response to the Handler
(including start_document/end_document events)
- ListRecords exposed the (OAI)record element (header, metadata and
optional about containers) but did not propagate start_document or
end_document events.
In both cases the events for the header tags itself and for the optional
setSpec subelements had not been forwarded
Version 1.20 introduces a modified behavior for metadataHandler and an
additional recordHandler:
- a metadataHandler will see only the (single) subelement of the OAI metadata
element (so for an deleted record it might never be invoced at all)
- a recordHandler will see the OAI record element and its subelements
Therefore a metadataHandler will now be confined to the metadata fragment(s)
of the response, and the new recordHandler approximates the old behavior of
ListRecords, however OAI-PMH:identifier and OAI-PMH:datestamp will now be
properly encapsulated within their OAI-PMH:header element.
Additionally, two new methods responseDate() and request() allow access
to the corresponding top-level OAI-PMH elements in all response types.
A SAX filter of class Net::OAI::Record::DocumentHelper may be used to inject
start_document and end_document events into the chain if they are needed.
As a temporary measure, you may set $Net::OAI::Harvester::OLDmetadataHandler =1
to change the behavior of handlers passed as "metadataHandler" into that of
a recordHandler.
1.16_12 Tue, Jan 12 00:20:05 CET 2016
- dealing with CPANTS Kwalitee issues, esp. version number mess
- new filter class Net::OAI::Record::DocumentHelper for tweaking
1.16_11 Tue, Jan 12 00:20:05 CET 2016
- minor cleanup
1.16_10 Mon, Jan 11 01:29:46 CET 2016
- renamed alldata() method for accessing recordHandler results
to recorddata()
- better propagation of namespace prefix mapping events
- Net::OAI::NamespaceFilter with a result() method
- Net::OAI::NamespaceFilter tested with XML::SAX::Writer
- AUTHOR formatting
1.16_09 Sun, Feb 14 17:29:39 CET 2014
- Net::OAI::NamespaceFilter as kind of generic metadata handler
- Queries are now constructed basing on a copy of the Harvester's baseURL
- pass parameters to URI->query_form() more reproducably,
(esp. "verb" should now always be first to accommodate some
allegedly broken repositories)
- temporary? tests for correctness of LWP operations
1.16_07 Tue, Apr 30 01:26:40 CEST 2013
- added new methods: response(), responseDate(), error()
- Smoke still tests failed on 'Bad Host' tests (wrong error codes
induced by HTTP proxies?)
- aligned behavior of metadataHandler for listRecords() and
getRecord()
- introducing alternative recordHandler for listRecords() and
getRecord()
- removed erroneous resumptionToken handling for identify()
1.16_04 Fri Dec 7 09:49:03 CET 2012
- consider HTTP proxies in design of t/003.error.t
- 'Bad Host' tests failing b/c error code 500 is not the expected
code 404 (due to some recent change in LWP)?
1.16_01 Mon Apr 2 23:14:35 CEST 2012
- Modules were not namespace aware.
- Add HTTPRetryAfter() method (catches HTTP Retry-After header)
- Check responses for Content-Type and charset before parsing
- Net::OAI::Header handed up (empty) header elements and other stuff
to the request's metadataHandler
- SKIP tests when HTTP errors are encountered
1.15 Thu Feb 02 16:29:31 CEST 2011
- one repository used for tests changed identifiers
1.14b Wed May 18 16:29:31 CEST 2011
- Explicit fallback to XML::SAX::PurePerl if we don't get a parser
(we know that XML::SAX::PurePerl has the required features and
does exist): Warn about probably broken XML::SAX installation and
issues with ParserDetails.ini [Fix mainly motivated by reputation
management: Far too many smoke tests failing because of automated
(=> no ParserDetails.ini => broken) installs of XML::SAX]
1.14a Tue May 17 18:50:03 CEST 2011
- Record::OAI_DC: asString() now returns the string and does not print
any more
- Dependencies: XML::SAX::Base 1.04 (as per XML-SAX since 0.11
and opposed to the standalone version on CPAN) is really a necessary
prerequisite! (Thanks to Dave Sheroman for testing this out)
1.14 Mon May 16 22:57:24 CEST 2011
- Installation: Makefile.PL and Build.PL failed if XML::SAX::Expat
was installed and XML::SAX not (probably a border case only with
"standalone" versions of XML::SAX::Base)
- Changed messages: ExpatXS should give the mentioned "performance
boost"
- Tests: Check if XML::SAX::ParserFactory delivered a parser
introduce NOH_ParserPackage environment variable
1.13 Fri May 9 17:34:15 WEDT 2008 (Thomas Berger <THB at cpan dot org>)
- ListMetadataFormats: namespaces() glued previous names with current;
new methods: namespaces_byprefix() and schemas_byprefix()
- added HTTPError() method for access to underlying HTTP::Response
object (in case of HTTP errors only)
NOTE: file() now will yield undef in this case (was: name of
non-existing file)
- baseURL() had trailing garbage when called after a request
- enforce tempfile cleanup by adding UNLINK=>1 to all tempfile() calls
- Base.pm: avoid tempfile pollution on Win32 when using xml() method
- Module::Build support
- Tests: Fixed broken nsdl repository URL
1.12 Tue Aug 7 21:48:50 EDT 2007
- modified t/055.listallrecords.t to not iterate over records
that are known to cause problems for XML::SAX::PurePerl
1.11 Fri Jul 27 11:47:21 EDT 2007
- added oai-dump to MANIFEST
1.1 Fri Jul 27 09:16:35 EDT 2007
- added the ability to dump xml files to a directory
- trapped xml parsing errors are now always printed to STDERR
( run in 1.600 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )