I have forked Views OAI-PMH.

The fork was mainly motivated by the need to support a more complex metadata format, namely the Metadata Object Description Schema (MODS). While trying to implement the format, I encountered various issues which gradually led me to refactor/rewrite most of the module. The changes outlined below should give a good idea of the problems I wanted to solve.

  • Simpler architecture. Just two Views plugins (instead of 10): a display plugin and a style plugin.
  • No more global variables. Lazy loading of metadata format definitions.
  • Proper hooks for other modules to provide their own metadata formats.
  • Mapping now uses its own settings data structure instead of hijacking a view's field labels.
  • Attributes are no longer global to all elements. The same attribute may now appear with different values, on different tags within the same record.
  • More robust XML building, using PHP's DOMDocument class.
  • Logic out of the theming layer.
  • Now impossible to disable the oai_dc metadata format, which is required by the OAI-PMH standard.
  • New support for the Metadata Object Description Schema (MODS) format.
  • Properly output the view's URL instead of the site's base URL in <request> tags.
  • All errors are now detected and reported in the response, as required by the OAI-PMH standard, instead of stopping short after the first error. Also removed duplicate error messages and made record identifier checks more strict.

That is too much change for a patch, and drupal.org doesn't allow the creation of a new sandbox project with the same name as an existing project. So for now the module has been published on GitHub. Comments welcome!

I'd be glad to move it over here, if the maintainers feel like adopting that fork.

Comments

David Lesieur’s picture

One important thing to consider, however, is that the fork breaks views that were built with the original versions of Views OAI-PMH. There is no automatic upgrade path, the existing OAI-PMH views will need to be edited manually.

gkaas’s picture

Thanks David, I was looking for MODS support for this module. I have to incorporate a DIDL document in the OAI response as well. I'll have to take a closer look at your fork, but hopefully I'm able to do this using the module hooks...

steinmb’s picture

Version: 7.x-2.x-dev » 7.x-3.x-dev
Status: Needs review » Fixed

All commits from github is now part of the 7.x-3.x branch. For further details see #2966767: 7.x-3.x vs the whiskyechobravo/views_oai_pmh fork

steinmb’s picture

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.