Skip to main content

MOAI, A Open Access Server Platform for Institutional Repositories

Project description

MOAI, an Open Access Server Platform for Institutional Repositories

MOAI is a platform for aggregating content from different sources, and publishing it through the Open Archive Initiatives protocol for metadata harvesting. It’s been built for academic institutional repositories dealing with relational metadata and asset files.

What does it do?

The MOAI software can aggregate content from different sources, transform it and store it in a database. The contents of this database can then be published in many separate OAI feeds, each with its own configuration.

The MOAI software has a very flexible system for combining records into sets, and can use these sets in the feed configuration. It also comes with a simple yet flexible authentication scheme that can be easily customized. Besides providing authentication for the feeds, the authentication also controls the access to the assets.


MOAI has been specifically developed for universities, and contains a lot of hard-earned wisdom. The software has been in production use since 2007, and new features have been continually added. In late 2008, the software was completely refactored and packaged under the name “MOAI”. You can read more about this on the MOAI History page.

MOAI is a standalone system, so it can be used in combination with any repository software that comes with an OAI feed such as Fedora Commons, EPrints or DSpace. It can also be used directly with an SQL database or just a folder of XML files.

The MOAI project takes the philosophy that every repository is different and unique, and that an institutional repository is a living thing. It is therefore never finished. Metadata is always changes, improving, and evolves. We think this is healthy.

Because of this viewpoint, the MOAI software makes it as easy as possible to add or modify parts of your repository (OAI) services stack. It tries to do this without sacrificing power, and encouraging the re-use of components.


MOAI has some interesting features not found in most OAI servers. Besides serving OAI, it can also harvest OAI. This makes it possible for MOAI to work as a pipe, where the OAI data can be reconfigured, cached, and enriched while it passes through the MOAI processing.

More specifically MOAI has the ability to:

  • Harvest data from different kinds of sources

  • Serve many OAI feeds from one MOAI server, each with their own configuration

  • Turn metadata values into OAI sets on the fly, creating new collections

  • Use OAI sets to filter records shown in a feed, configurable for each feed

  • Work easily with relational data (e.g. if an author changes, the publication should also change)

  • Simple and robust authentication through integration with the Apache webserver

  • Serve assets via Apache while still using configurable authentication rules

In the coming period we will be adding more features and updating this page accordingly.

MOAI Changes

MOAI 1.0.7 (2009-16-11)


  • Changed DIP namespace in didl metadata extension

  • Fixed bug in ListMetadataFormats verb

  • Uses pyoai 2.4.1, which when specifying a date (not a datetime) for the until parameter, defaults to 23:59:59 instead of 00:00:00.

MOAI 1.0.6 (2009-08-12)


  • Fixed metadataPrefix value in didl:Resource URL. This was using didl instead of nl_didl

MOAI 1.0.5 (2009-08-12)

  • Unicode bug in Fedora provider

  • Added support for mods:location/url Make url prefered identifier in oai_dc:identifier instead of uri

  • Update method of Content Objects can now return False to prevent further processing of the object. The object will be logged as ignored

MOAI 1.0.4 (2009-07-15)


  • Fixed misspelled mimeType attribute in DIDL metadata prefix

MOAI 1.0.3 (2009-06-23)


  • Bug in ListMetadataFormats when using nl_didl prefix

  • Added simple dc example profile

MOAI 1.0.2 (2009-05-20)


  • Location in mod_python config is dynamicly extracted from Metro Server class.

MOAI 1.0.1 (2009-05-19)


  • Fixed URL error in didl metadata prefix

  • Seperated darenet specific didl extensions in nl_didl prefix

MOAI 1.0 (2009-05-04)


  • Improved documentation

  • Added description to Identify header

  • More complete mods name roles

  • Require newer pyoai version that gives better error responses when wrong datatime values are used in OAI requests

MOAI 0.9.x (2009-02-01)


  • Added Apache mod_python backend

  • Added basic authentication for fedora provider

  • Made fedora provider datastream argument optional, if not specified the whole foxml file is returned

  • Ported SQLite database backend from EUR RePub

  • Renamed MetaDataPrefix classes to MetaDataFormat

  • Added configurable plugin system

  • Added documentation website (more info in README.txt)

  • Made Fedora provider not write all files in same directory


  • OAI ListRecords with from and until dateparams where not inclusive in SQLite engine

  • OAI ListSets did not return dynamic sets (added test)

  • OAI GetRecord returning the same record (added test)

MOAI 0.9 (2008-11-18)

  • Initial development borrowing code and ideas from RepubXML, a repository environment build for the Erasmus Univiersity Rotterdam

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MOAI-1.0.7.tar.gz (34.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page