45 lines
2.0 KiB
Plaintext
45 lines
2.0 KiB
Plaintext
OAI-PMH (Package Metadata Harvesting) 2.0 Data Provider
|
|
|
|
Overview
|
|
|
|
This project is derived from the original work of Jianfeng Li
|
|
from "The Plant Accelerator" for the "University of Adelaide".
|
|
|
|
In the original docs (you can see them on git log),
|
|
Jianfeng Li he was inspired by PHP OAI Data Provider developed
|
|
by Heinrich Stamerjohanns at University of Oldenburg.
|
|
His implementation is at http://physnet.uni-oldenburg.de/oai/.
|
|
|
|
Almost all the code was rewritten in my attempt to understand
|
|
both the OAI-PMH protocol and the original code itself.
|
|
|
|
The code changed so much that i removed the original documentation.
|
|
|
|
There is some unit tests that were written based on the official
|
|
protocol documentation at http://www.openarchives.org/OAI/openarchivesprotocol.html#ErrorConditions
|
|
and also on the Open Archives Initiative - Repository Explorer at http://re.cs.uct.ac.za/
|
|
|
|
This version of the server relies on callbacks to get the needed data
|
|
to generate the XML responses. The file oai2.php is a sample server
|
|
instantiation to allow unit tests (OAI2ServerTest.php) to be run by
|
|
PHP Unit. It has "hard-coded" data to pass the tests and validates
|
|
that the server correctly reads correctly-formatted data.
|
|
It is your responsibility to provide callbacks that provides
|
|
correctly formatted data in all cases.
|
|
|
|
Tokens are managed using files.
|
|
|
|
XML Responses are created using the DOMDocument PHP interfaces.
|
|
|
|
Package Structure:
|
|
|
|
code-coverage-report : Generated by PHPUnit for the last commit
|
|
COPYRIGHT.txt : GNU General Public License
|
|
index.html : A simpl web interface to oai2.php sample server
|
|
oai2exception.php : A class with all error codes for OAI-PMH 2.0 Protocol
|
|
oai2.php : A sample server instatiation (unit tests rely on this file)
|
|
oai2server.php : The request handling (with input validations) and part of response generation
|
|
OAI2ServerTest.php : The unit tests
|
|
oai2xml.php : A class responsible to generate the XML Responses
|
|
README.tx : This file
|