Maintained by Picture of Sinisa & Vlatka V&S Sinisa & Vlatka V&S
This Moodle block plugin serves as Data Provider for OAI-PMH 2.0 Harvester. Plugin enables Moodle administrator to define global settings for Data Provider as well as default metadata sharing for courses.
5 sites
1 fans

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.

Potential privacy issues

This plugin, if manually configured, shares metadata about the course content. Course content is not shared, but title and description of each item in course content can be shared. Both Moodle administrator and course administrator can define what metadata for which courses is shared.


Screenshot #0
Screenshot #1
Screenshot #2


Picture of Sinisa & Vlatka V&S
Sinisa & Vlatka V&S (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS


  • Picture of Plugins bot
    Mon, 2 Jun 2014, 3:47 AM
    Thanks for sharing this plugin with the Moodle community. Some formal issues were detected and reported by our automated plugin checker tool. Please review all the plugin checker results and fix the issues mentioned, if possible. These changes are typically pretty easy to make but if you have any questions just let us know.

    Please resolve these formal issues so that the plugin code can be fully reviewed and approved by my human colleagues.
  • Picture of David Mudrák
    Thu, 3 Jul 2014, 4:13 AM
    Thanks for sharing plugin with the community. I was able to test the functionality of it. The only issue I had were PHP noticed thrown at lines 712 and 713 of getData.php that might be caused by the local setup. You may wish to review that part though and especially check it in IPv6 environments. These PHP notices break the generated XML.

    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 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!

Commenting temporarily disabled