118 lines
8.4 KiB
HTML
118 lines
8.4 KiB
HTML
<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<title>OAI PHP: Main Page</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javaScript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body onload='searchBox.OnSelectItem(0);'>
|
|
<!-- Generated by Doxygen 1.6.3 -->
|
|
<script type="text/javascript"><!--
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
--></script>
|
|
<div class="navigation" id="top">
|
|
<div class="tabs">
|
|
<ul>
|
|
<li class="current"><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<img id="MSearchSelect" src="search/search.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="contents">
|
|
<h1></h1><h2><a class="anchor" id="intro_sec">
|
|
Introduction</a></h2>
|
|
<p>This is an implementation for an OAI-PMH 2.0 Data Provider (sometimes, repository is used exchangeablly) written in PHP.</p>
|
|
<p>This implementation completely complies to OAI-PMH 2.0, including the support of on-the-fly output compression which may significantly reduce the amount of data being transfered.</p>
|
|
<p>This package has been inspired by PHP OAI Data Provider developed by Heinrich Stamerjohanns at University of Oldenburg. Some of the functions and algorithms used in this code were transplanted from his implementation at <a href="http://physnet.uni-oldenburg.de/oai/.">http://physnet.uni-oldenburg.de/oai/.</a></p>
|
|
<p>Database support is supported through PDO (PHP Data Objects included in the PHP distribution), so almost any popular SQL-database can be used without any change in the code. Only thing need to do is to configure database connection and define a suitable data structure.</p>
|
|
<p>The repository can be quite easily configured by just editing <a class="el" href="oaidp-config_8php.html" title="Configuration file of current data provider.">oaidp-config.php</a>, most possible values and options are explained.</p>
|
|
<h2><a class="anchor" id="req_sec">
|
|
Requirements</a></h2>
|
|
<ul>
|
|
<li>A running web server + PHP version 5.0 or above.</li>
|
|
<li>A databse can be connected by PDO.</li>
|
|
</ul>
|
|
<h2><a class="anchor" id="install_sec">
|
|
Installation</a></h2>
|
|
<ul>
|
|
<li>Copy the the files in source package to a location under your document root of your web server. The directory structure should be preserved.</li>
|
|
<li>Change to that directory (e.g. cd /var/www/html/oai).</li>
|
|
<li>Allow your webserver to write to the token directory. The default token directory is /tmp which does not need any attention.</li>
|
|
<li>Edit <a class="el" href="oaidp-config_8php.html" title="Configuration file of current data provider.">oaidp-config.php</a>. Almost all possible options are explained. It is assumed that basic elements of a record are stored in one simple table. You can find sql examples of table definition in doc folder. If your data is organized differently, you have to adjust the <em>Query</em> functions to reflect it and even develop your own code.</li>
|
|
<li>Check your oai site through a web browser. e.g. : <div class="fragment"><pre class="fragment"> http:<span class="comment">//localhost/oai/ </span>
|
|
</pre></div></li>
|
|
<li>SELinux needs special treatments for database connection and other permission.</li>
|
|
</ul>
|
|
<h2><a class="anchor" id="struct_sec">
|
|
Structure</a></h2>
|
|
<p>The system includes files for individual functionality and utility classes and functions to get it work.</p>
|
|
<ul>
|
|
<li>Controller<ul>
|
|
<li><a class="el" href="oai2_8php.html" title="OAI Data Provider command processor.">oai2.php</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Individual functionalities:<ul>
|
|
<li><a class="el" href="identify_8php.html" title="Response to Verb Identify.">identify.php</a>: identifies the data provider. Responses to <b>Identify</b>.</li>
|
|
<li><a class="el" href="listmetadataformats_8php.html" title="Response to Verb ListMetadataFormats.">listmetadataformats.php</a>: lists supported metadata formats, e.g. dc or rif-cs. Responses to <b>ListMetadataFormats</b>.</li>
|
|
<li><a class="el" href="listsets_8php.html" title="Response to Verb ListSets.">listsets.php</a>: lists supported sets, e.g. Activity, Collection or Party. Responses to <b>ListSets</b>.</li>
|
|
<li><a class="el" href="listrecords_8php.html" title="Response to Verb ListRecords.">listrecords.php</a>: lists a group of records without details. Responses to <b>ListRecords</b>. It also serves to <b>ListIdentifiers</b> which only returns identifiers.</li>
|
|
<li><a class="el" href="getrecord_8php.html" title="Response to Verb GetRecord.">getrecord.php</a>: gets an individual record. Responses to <b>GetRecord</b>.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Utility classes<ul>
|
|
<li><a class="el" href="xml__creater_8php.html" title="functions and class related to generating XML response file.">xml_creater.php</a> which includes classess <a class="el" href="classANDS__XML.html">ANDS_XML</a>, <a class="el" href="classANDS__Error__XML.html">ANDS_Error_XML</a>, <a class="el" href="classANDS__Response__XML.html">ANDS_Response_XML</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Utility functions<ul>
|
|
<li><a class="el" href="oaidp-util_8php.html" title="Utilities for the OAI Data Provider.">oaidp-util.php</a></li>
|
|
<li>Support to different metadataformats in your own systems. Two examples provided with the package are: <a class="el" href="record__dc_8php.html" title="Definition of Dublin Core handler.">record_dc.php</a> and <a class="el" href="record__rif_8php.html" title="Definition of RIF-CS handler.">record_rif.php</a>. They are helpers and need information from the real records. They need to be devloped for your particular system.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Configurations<ul>
|
|
<li><a class="el" href="oaidp-config_8php.html" title="Configuration file of current data provider.">oaidp-config.php</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<dl class="author"><dt><b>Author:</b></dt><dd>Jianfeng Li </dd></dl>
|
|
<dl class="version"><dt><b>Version:</b></dt><dd>1.1 </dd></dl>
|
|
<dl class="date"><dt><b>Date:</b></dt><dd>2010-2011 </dd></dl>
|
|
</div>
|
|
<!--- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a></div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jun 16 12:49:22 2011 for OAI PHP by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
|
|
</body>
|
|
</html>
|