Ariel J. Lira created DS-1386:
---------------------------------
Summary: Unable to customize OAI 2.0 description in Identify
responses
Key: DS-1386
URL: https://jira.duraspace.org/browse/DS-1386
Project: DSpace
Issue Type: Bug
Components: OAI-PMH
Affects Versions: 3.0
Reporter: Ariel J. Lira
OAI 1.0 configuration (config/oaicat.properties) provides the following
properties to customize the response to a Identify verb:
# Custom Identify response values
Identify.repositoryName=SeDiCI - Universidad Nacional de La Plata
[email protected]
Identify.earliestDatestamp=2003-11-20T00:00:00Z
Identify.deletedRecord=persistent
Identify.description.[0-9]*=<description><eprints
xmlns="http://www.openarchives.org/OAI/1.1/eprints"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/1.1/eprints
http://www.openarchives.org/OAI/1.1/eprints.xsd"> \
...\
</eprints></description>
Although in Oai 2.0 all these fields are automatically generated with good
default values, they and can't be overwritten. Usually, a repository
administrator needs to define at least
one or more descriptions with: oai-identifier, rightsManifest, eprints,
friends, or any xml fragment
(http://www.openarchives.org/OAI/2.0/guidelines.htm, Section 3.1), and perhaps
one or more adminEmails (other than ${mail.admin} )
This configuration may be defined A) for each Xoai context (openAire, driver,
request) or B) globally.
A) Could be accomplished by changing
com.lyncode.xoai.dataprovider.xml.xoaiconfig.Configuration$Context to allow a
new Description element in each context in xoai.xml . (I don't know exactly how
to do it, I'm not familiar with jaxb)
B) should be simpler because it could require plain old string properties in
oai.cfg and a couple of changes:
- add in com.lyncode.xoai.dataprovider.OAIDataProvider
private IdentifyType build(ExportManager manager, IdentifyType ident)
throws OAIException
{
...
for (String desc : _identify.getDescriptions()){
DescriptionType descType =
_factory.createDescriptionType();
descType.setAny(desc);
ident.getDescription().add(descType);
}
...
}
- Add getDescriptions() to interface AbstractIdentify
- implement getDescriptions() in DSpaceIdentify to retrieve a set of
description properties.
I don't know if it would be better for others repositories to define different
descriptions for each context or share them across all contexts. In our
repository, we just need to use the same descriptions globally, for all
contexts.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel