Download this gist and create a symbolic link
$ ln -s catmandu.yml config.yml
This is necessary for the dancer app. In this case Catmandu and Dancer are using the same configuration file.
store: | |
oai: | |
package: Elasticsearch | |
options: | |
index_name: oai | |
bags: | |
publication: | |
cql_mapping: | |
default_index: basic | |
indexes: | |
_id: | |
op: | |
'any': true | |
'all': true | |
'=': true | |
'exact': true | |
field: '_id' | |
basic: | |
op: | |
'any': true | |
'all': true | |
'=': true | |
'<>': true | |
field: '_all' | |
description: "index with common fields..." | |
datestamp: | |
op: | |
'=': true | |
'<': true | |
'<=': true | |
'>=': true | |
'>': true | |
'exact': true | |
field: '_datestamp' | |
index_mappings: | |
publication: | |
properties: | |
_datestamp: {type: date, format: date_time_no_millis} | |
plugins: | |
'Catmandu::OAI': | |
store: oai | |
bag: publication | |
datestamp_field: datestamp | |
repositoryName: "My OAI DataProvider" | |
uri_base: "http://oai.service.com/oai" | |
adminEmail: [email protected] | |
earliestDatestamp: "1970-01-01T00:00:01Z" | |
deletedRecord: persistent | |
repositoryIdentifier: oai.service.com | |
cql_filter: "datestamp>2014-12-01T00:00:00Z" | |
limit: 200 | |
delimiter: ":" | |
sampleIdentifier: "oai:oai.service.com:1585315" | |
metadata_formats: | |
- | |
metadataPrefix: oai_dc | |
schema: "http://www.openarchives.org/OAI/2.0/oai_dc.xsd" | |
metadataNamespace: "http://www.openarchives.org/OAI/2.0/oai_dc/" | |
template: oai_dc.tt | |
fix: | |
- nothing() | |
sets: | |
- | |
setSpec: openaccess | |
setName: Open Access | |
cql: 'oa=1' |
#!/usr/bin/env perl | |
use Dancer; | |
use Catmandu; | |
use Dancer::Plugin::Catmandu::OAI; | |
Catmandu->load; | |
Catmandu->config; | |
oai_provider '/oai'; | |
dance; |
<oai_dc:dc xmlns="http://www.openarchives.org/OAI/2.0/oai_dc/" | |
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" | |
xmlns:dc="http://purl.org/dc/elements/1.1/" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> | |
[%- FOREACH var IN ['title' 'creator' 'subject' 'description' 'publisher' 'contributor' 'date' 'type' 'format' 'identifier' 'source' 'language' 'relation' 'coverage' 'rights'] %] | |
[%- FOREACH val IN $var %] | |
<dc:[% var %]>[% val | html %]</dc:[% var %]> | |
[%- END %] | |
[%- END %] | |
</oai_dc:dc> |