Unmerged features
Please note that the functionalities here described are not yet fully merged in the official branch and they partially live in the openaire_cris branch. This is specifically true for the compliance with the OpenAIRE Guidelines for CRIS Manager and for the out-of-box configuration
DSpace-CRIS provides a strong out-of-box integration with OpenAIRE.
There are three are of integration:
- OpenAIRE Guidelines compliance for Literature Repository, DataArchive and CRIS System
- OpenAIRE Project API
- OpenAIRE’s Usage Statistic service
OpenAIRE Guidelines
OAI-PMH pecularity in DSpace-CRIS
Please be aware that DSpace-CRIS introduces some extra feature to the OAI-PMH Server as described in the latest paragraph of this section that are used to implement the OpenAIRE guidelines
Literature Repository
DSpace-CRIS has the same level of compatibility than the basic DSpace with the Literature Repository Guidelines v3
DataArchive
DSpace-CRIS ships with a custom OAI context implementing the OpenAIRE guidelines for DataArchive already updated to implement the DataCite metadata version 4
The default context is available at ${dspace.url}/oai/openairedata
<Context baseurl="openairedata" name="OpenAIRE Data Repository Context"> <!-- OpenAIRE filter --> <Filter ref="openaireDataFilter"/> <!-- Just an alias, in fact it returns all items within the driver context --> <Set ref="openaireDataSet"/> <!-- Metadata Formats --> <Format ref="oaidc"/> <!-- set the reference at the new format called datacite41_openaire --> <Format ref="datacite41_openaire"/> <Description> This contexts complies with Data Archive OpenAIRE rules. </Description> </Context>
CRIS System
DSpace-CRIS ships with a custom OAI context implementing the OpenAIRE guidelines for CRIS Manager v1.1.1
The default context is available at ${dspace.url}/oai/openairecris
<Context baseurl="openairecris" name="OpenAIRE Context for CRIS System"> <!-- Date format, field prefixes, etc are ensured by the transformer --> <Transformer ref="openairecrisTransformer"/> <Filter ref="openAireCRISFilter"/> <!-- Just an alias, in fact it returns all items within the driver context --> <Set ref="openairePublicationsCrisSet"/> <Set ref="openaireProductsCrisSet"/> <Set ref="openairePatentsCrisSet"/> <Set ref="openairePersonsCrisSet"/> <Set ref="openaireOrgunitsCrisSet"/> <Set ref="openaireProjectsCrisSet"/> <Set ref="openaireEventsCrisSet"/> <Set ref="openaireEquipmentsCrisSet"/> <!-- Metadata Formats --> <Format ref="oaidc"/> <Format ref="oai_cerif"/> <Description> This contexts complies with OpenAIRE rules for CRIS system v 1.1.1 </Description> </Context>
The mapping is configured in the dspace/config/crosswalks/oai/metadataFormats/oai_cerif.xsl file
OAI-PMH pecularity in DSpace-CRIS
DSpace-CRIS extends the functionalities of the OAI-PMH Server on three area:
- the index script identifies object to include in the OAI core (or to update) querying the search SOLR core. This mean that DSpace-CRIS must be indexed (discovery) before to run the XOAI script. It is possible to configure a custom query to limit the amount of objects to index in addition to the standard capability to limit the OAI objects to expose over a specific OAI Context.
- the XOAI document embed information from the 1st level linked objects, i.e. data about person that have authored a publication or organisations that have funded a project
- nested metadata are stored in the XOAI document ensuring the possibility to read them as a whole group so to associate for instance the affiliation used in a publication with the specific author
The XOAI script has an additional option -t that allow to specify which type of entity is indexed: item, rp, project, ou, other, all.
The item.compile of the XOAI document embed the information of the linked object where available (i.e. when the authority points to a CRIS object) just after the metadata inside an <element name="authority" /> tag keeping the right sequence
<metadata xmlns="http://www.lyncode.com/xoai" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.lyncode.com/xoai http://www.lyncode.com/xsd/xoai.xsd"> <element name="dc"> <element name="contributor"> <element name="author"> <element name="en_US"> <field name="value">Cadili, Francesco</field> <field name="authority">rp00003</field> <field name="confidence">600</field> <element name="authority"> <element name="crisrp"> <element name="fullName"> <element name="none"> <element name="none"> <field name="value">Cadili, Francesco</field> </element> </element> </element> <element name="dept"> <element name="none"> <element name="none"> <field name="value">Department of ...</field> <field name="authority">ou00001</field> <field name="confidence">600</field> </element> </element> </element> ... </element> <field name="value">Unknown, Author</field> <field name="value">Another Internal, Author</field> <field name="authority">rp00005</field> <field name="confidence">600</field> <element name="authority"> .......
OpenAIRE Project API
A choiceAuthority is provided out of box in DSpace-CRIS to query the OpenAIRE project database via API to link a publication, dataset or patent with a project.
The openAIRE Project authority is configured out-of-box for the dc.relation metadata
##### Authority Control Settings ##### plugin.named.org.dspace.content.authority.ChoiceAuthority = \ org.dspace.app.cris.integration.ORCIDAuthority = RPAuthority,\ org.dspace.content.authority.ItemAuthority = PublicationAuthority,\ org.dspace.content.authority.ItemAuthority = DataSetAuthority,\ org.dspace.app.cris.integration.OpenAIREProjectAuthority = ProjectAuthority,\... # dc.relation, Publication / Product / Patent choices.plugin.dc.relation = ProjectAuthority choices.presentation.dc.relation = suggest authority.controlled.dc.relation = true
Once the publication is approved the retrieved project is imported locally in a CRIS Project mapping the OpenAIRE information to the key attribute of the CRIS project entity.
<bean id="org.dspace.app.cris.integration.authority.AuthoritiesFillerConfig" class="org.dspace.app.cris.integration.authority.AuthoritiesFillerConfig"> <property name="fillers"> <map> <entry key="orcid"> <bean class="org.dspace.app.cris.integration.authority.ORCIDImportFiller" parent="fullitemMetadataConfiguration" /> </entry> <entry key="openAireProject"> <ref bean="openAIREProjectImportFiller" /> </entry> ... </bean> ... <bean id="openAIREProjectImportFiller" class="org.dspace.app.cris.integration.authority.OpenAIREProjectImportFiller" parent="fullitemMetadataConfiguration"> <property name="searchService" ref="org.dspace.discovery.SearchService" /> <property name="openAIREProjectService" ref="org.dspace.authority.openaireproject.OpenAIREProjectService" /> <property name="customMapping"> <bean class="java.util.HashMap" /> </property> </bean>
OpenAIRE’s Usage Statistic service
The OpenAIRE plugin for DSpace has been integrated out-of-box in DSpace-CRIS and some compatibility issues have been solved so that no extra installation is required.
To send usage statistics to OpenAIRE is sufficient to configure the relevant parameter in the build.properties
### OpenAIRE Piwik Tracker ### oapiwik.piwik.siteID = oapiwik.piwik.tokenAuth = oapiwik.piwik.enabled =