public
Description: My personal fork of ruby-oai for bug fixes
Homepage: http://rubyforge.org/projects/oai/
Clone URL: git://github.com/infused/oai.git
oai /
name age message
file Changes Tue Jun 05 00:32:58 -0700 2007 Updated Changes for release of 0.0.6, plus smal... [wilig]
file README Loading commit data...
file Rakefile Mon Feb 11 18:16:56 -0800 2008 Fixes for harvest shell date parsing bug due to... [wilig]
directory bin/
directory branches/ Tue Nov 20 06:47:21 -0800 2007 i hope this works git-svn-id: svn://rubyforge.... [esummers]
directory examples/
directory lib/
directory tags/
directory test/
directory tools/
directory trunk/
README
= ruby-oai

== DESCRIPTION

ruby-oai is a Open Archives Protocol for Metadata Harvesting (OAI-PMH[http://openarchives.org]) 
library for Ruby. If you're not familiar with OAI-PMH[http://openarchives.org] it is the most used 
protocol for sharing metadata between digital library repositories.

The OAI-PMH[http://openarchives.org] spec defines six verbs (Identify, ListIdentifiers, ListRecords, 
GetRecords, ListSets, ListMetadataFormat) used for discovery and sharing of
metadata.

The ruby-oai gem includes a client library, a server/provider library and
a interactive harvesting shell.

=== client

The OAI client library is used for harvesting metadata from repositories. 
For example to initiate a ListRecords request to pubmed you can:

  require 'oai'
  client = OAI::Client.new 'http://www.pubmedcentral.gov/oai/oai.cgi'
  for record in client.list_records
    puts record.metadata
  end

See OAI::Client for more details

=== provider

The OAI provider library handles serving local content to other clients.

Setting up a simple provider:

  class MyProvider < Oai::Provider
    repository_name 'My little OAI provider'
    repository_url  'http://localhost/provider'
    record_prefix 'oai:localhost'
    admin_email 'root@localhost'   # String or Array
    source_model MyModel.new       # Subclass of OAI::Provider::Model
  end

See OAI::Provider for more details

=== interactive harvester

The OAI-PMH[http://openarchives.org] client shell allows OAI Harvesting to be configured in
an interactive manner.  Typing 'oai' on the command line starts the
shell.

After initial configuration, the shell can be used to manage harvesting
operations.

See OAI::Harvester::Shell for more details

== INSTALLATION

Normally the best way to install oai is from rubyforge using the gem
command line tool:

  % gem install oai

If you're reading this you've presumably got the tarball or zip distribution.
So you'll need to:

  % rake package
  % gem install pkg/oai-x.y.z.gem 

Where x.y.z is the version of the gem that was generated.

== TODO

* consolidate response classes used by provider and client
* automatic validation of metadata schemas
* email the authors with your suggestions

== AUTHORS

- Ed Summers <ehs@pobox.com>
- William Groppe <will.groppe@gmail.com>