oai_driver-1.1.1

A set of EPrints 3 plug-ins to export OAI DIDL according to the DRIVER v1.1.1 spec and DARE v2.3 (with DAI)
(http://www.driver-repository.eu/)

31-01-2008, Arnoud Jippes, University of Twente: http://www.utwente.nl/

As the EU DRIVER and the Dutch DAREnet project are related, the current OAI DIDL (and DC)
specs are very similar. Only the dc:type definition differ and the DARE DIDL v2.3 spec
includes an extra miniMODS part with the Dutch DAIs (Digital Author ID). As the specs 
are a work in progress, so are these plugins.

1.1, 	31-01-2008: release
1.1.1, 	20-02-2008: Update to DRIVER 1.1.1, added mimetype guessing for non-main files
	and refactored to more OO. Now needs MIME::Types (> cpan install MIME::Types)

* Files included:

./README.oai_driver (this file)
./perl_lib/EPrints/Plugin/Export/OAI_DRIVER_Export.pm (base classes)
./perl_lib/EPrints/Plugin/Export/OAI_DRIVER_DC.pm (DRIVER DC plug-in, 'extends' OAI_DRIVER_Export)
./perl_lib/EPrints/Plugin/Export/OAI_DRIVER_DIDL.pm (DRIVER DIDL plug-in, extends OAI_DRIVER_Export)
./perl_lib/EPrints/Plugin/Export/OAI_DARE_DC.pm (DARE DC export, extends OAI_DRIVER_DC)
./perl_lib/EPrints/Plugin/Export/OAI_DARE_DIDL.pm (DARE DIDL plug-in, extends OAI_DRIVER_DIDL)

* Installing:

This version needs MIME::Types (> cpan install MIME::Types)

Unpack the tarball in your EPrints root, then the export plugins can be found in the
EPrints export menu and you can add them as a OAI metadataprefix:

File: /archives/ARCHIVEID/cfg/cfg.d/oai.pl

$oai->{v2}->{output_plugins} = { 
	"didl" => "OAI_DRIVER_DIDL",
	 };

You might want to point oai_dc to OAI_DRIVER_DC if you want to comply with DRIVER.

OAI_DRIVER_Export.pm uses MIME::Types to guess mimetypes for non main files, since they do
not have a mimetype stored in EPrints..

* Configuring:

- You probably need to change the dc:types mapping in OAI_DRIVER_Export.pm (and OAI_DARE_DC.pm for DARE)
- If you define a base URN in a config file, the plugins will use it:
  $c->{base_urn} = 'URN:NBN:NL:UI:123-';
- If you define a base PURL in a config file, the plugins will use it:
  $c->{base_purl} = "http://purl.org/yourpurl".$c->{urlpath}."/";
- You can delete the DARE plugins if you are not Dutch.  

* Configuring for DARE_DIDL (Dutch project):

- Add the DAI field to /cfg.d/eprint_fields.pl for creators:
{
	'name' => 'creators',
	
	'type' => 'compound',
	'fields' => [
	{
		'sub_name' => 'dai',
		'type' => 'text',
		'input_cols' => 10,
		'allow_null' => 1,
	}
}                          }
  
  To add fields to a live archive, see http://files.eprints.org/277/
  Though not used for oai export, you might want to add the dai field to editors and supervisors as well..
  See my METIS-DARE extention (http://files.eprints.org/324/) for eprints_fields and dai autocomplete example)

See also:

http://www.driver-repository.eu/
http://www.darenet.nl/en/
http://www.driver-support.eu/documents/DRIVER_guidelines_annexes_1_1_1.pdf
https://www.surfgroepen.nl/sites/SURFshare (needs login account)

TODO:

- Fine tune based on the upcoming DRIVER validator report (the DARE version is validated)
