Go to file
Sebastian Meyer bb0fbe39fa Add method for appending XML fragments 2017-05-12 18:13:26 +02:00
data Add data directory 2017-05-05 18:14:52 +02:00
LICENSE.txt Restructure and update meta files 2017-05-12 18:12:31 +02:00
README.md Restructure and update meta files 2017-05-12 18:12:31 +02:00
index.html Restructure and update meta files 2017-05-12 18:12:31 +02:00
oai2.php only error codes defined by the OAI-PMH protocol 2013-05-14 23:27:55 -03:00
oai2exception.php Rework error codes 2017-05-12 18:12:49 +02:00
oai2server.php Adicionando um servidor de exemplo para o Moodle. 2013-05-20 16:07:54 -03:00
oai2xml.php Add method for appending XML fragments 2017-05-12 18:13:26 +02:00

README.md

Simple OAI-PMH 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.