PHPackages                             fccn/oai-pmh-core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. fccn/oai-pmh-core

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

fccn/oai-pmh-core
=================

Implementation of the core functionalities for an OAI-PMH 2.0 Data Provider written in PHP

1.5(8y ago)0791MITPHPPHP &gt;=5.5.0

Since Jan 24Pushed 8y ago2 watchersCompare

[ Source](https://github.com/fccn/oai-pmh-core)[ Packagist](https://packagist.org/packages/fccn/oai-pmh-core)[ RSS](/packages/fccn-oai-pmh-core/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)DependenciesVersions (2)Used By (0)

OAI-PMH metadata provider core
==============================

[](#oai-pmh-metadata-provider-core)

Implementation of the core functionalities for an OAI-PMH 2.0 Data Provider written in PHP

About
-----

[](#about)

The core functionalities by themselves do not provide metadata. They need to be used along with a client application in order to provide OAI-PHM data from a specific collection. Check the [oai-pmh-demo-client](https://github.com/fccn/oai-pmh-demo-client) project to see how to create a client.

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.

The core functionalities are an adaptation of PHP OAI Data Provider developed by Jianfeng Li from University of Adelaide.

### Metadata formats

[](#metadata-formats)

The following metadata formats are currently supported:

- DublinCore
- Learning Object Metadata

### Metadata sources

[](#metadata-sources)

The metadata can be obtained from several types of sources. Each source can be included in the core as a plugin. The currently supported sources are:

- PDO (PHP Data Objects included in the PHP distribution): allows almost any popular SQL-database to be used without any change in the code. Only thing need to do is to configure database connection and define a suitable data structure in the client configuration file.

Structure
---------

[](#structure)

The project has the following structure:

- **html**: HTML page and stylesheets with information about this project
- **src**: source files for the core functionalities
    - **libs**: utility classes
        - **xml\_creater.php**: prepare the XML response
        - **oaidp-util.php**: general utilities for oai responses
        - **phprop.php**: configuration loader
    - **schemas**: - metadata formats conversions
    - **sources**: - source plugins
        - **pdo**: - implementations of verb responses for database sources using PDO
    - **verbs**: - generic implementations of OAI-PMH requests
        - **identify.php**: identifies the data provider. Responses to *Identify*.
        - **listmetadataformats.php**: lists supported metadata formats, e.g. dc or rif-cs. Responses to *ListMetadataFormats*.
        - **listsets.php**: lists supported sets, e.g. Activity, Collection or Party. Responses to *ListSets*.
        - **listrecords.php**: lists a group of records without details. Responses to *ListRecords*. It also serves to *ListIdentifiers* which only returns identifiers.
        - **getrecord.php**: gets an individual record. Responses to *GetRecord*.

Installation and configuration
------------------------------

[](#installation-and-configuration)

To build a OAI-PMH 2.0 Data Provider you need to build a customized client application. You can include this library on your client project using composer:

```
composer require fccn/oai-pmh-core

```

After that, you need to manually load the library and call the *execute\_request()* function with the path to the client configuration file as in the example below:

```
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../vendor/fccn/oai-pmh-core/src/main.php';

//execute request
Fccn\Oaipmh\execute_request([path-to-config-ini-file]);
```

Please check the [oai-pmh-demo-client](https://github.com/fccn/oai-pmh-demo-client) project to learn more on how to build a client application.

Contributing
------------

[](#contributing)

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.

Versioning
----------

[](#versioning)

We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/fccn/oai-pmh-core/tags).

### v1.0

[](#v10)

- initial working version of the core-oai-pmh project (not available on github)
- support for DublinCore and Learning Object Metadata formats

### v1.5

[](#v15)

- attributed namespace to all classes
- improved README file and info pages
- fixed some bugs on LOM metadata aggregation
- added support for composer
- import project to github

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3031d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6efba5d9e65dd75d8c1abb0fc271d6516d58df27c558da0e14ef1ed0a8b1cf35?d=identicon)[pcosta](/maintainers/pcosta)

---

Tags

OAI-PMHlomDublinCoreLearning Object Metadatafccn

### Embed Badge

![Health badge](/badges/fccn-oai-pmh-core/health.svg)

```
[![Health](https://phpackages.com/badges/fccn-oai-pmh-core/health.svg)](https://phpackages.com/packages/fccn-oai-pmh-core)
```

###  Alternatives

[caseyamcl/phpoaipmh

A PHP OAI-PMH 2.0 Harvester library

77184.4k4](/packages/caseyamcl-phpoaipmh)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
