Moodle plugins directory: ODS OAI-PMH | Moodle.org
ODS OAI-PMH
Course administrators can define if their course is shared, what are the licensing terms and Moodle plugins which data should be shared. ODS OAI-PMH supports all Moodle 2.x default modules, but also tries to support all other unknown modules. For unknown modules description for each item/module is decided using advanced heuristic algorithm.
In order to maintain the reliability of the Moodle server all data is cached, and server administrator can also define what harvesters are allowed to access the data. It is also possible to define length of caching for all data.
This is transient OAI-PMH provider, which means that all deleted data, is retained in the cache log.
All data items are provided with unique URL for direct access to the item. Access to the item is regulated by Moodle permission settings. This module does not allow access to the content, but only shares metadata information about all items that are allowed by the course administrator or Moodle administrator to be harvested.
Please resolve these formal issues so that the plugin code can be fully reviewed and approved by my human colleagues.
From the code review perspective, I would like to encourage you to try and avoid creating custom functions in the global PHP scope without the valid frankenstyle prefix. This is strongly discouraged in order to prevent collisions with (current and/or future) core code or some other plugin. See http://docs.moodle.org/dev/Coding_style#Functions_and_Methods for details. It was not that crucial in this particular situation as these functions are executed in quite isolated environment. But it's always better to either use proper (frankenstyle) prefix or encapsulated the functions as methods of a class (that itself has valid name).
With the hope you will address this in a future version of the plugin, you are cleared to land. Welcome to the Plugins directory!