Page History
...
General Framework
Introduction
This documentation explains the features and the usage of the "live importer" framework.
Enabling the framework can be achieved by uncommenting the following step in item-submission.xml
.
Implementation specific or additional configuration can be found in their related documentation, if any.
Please refer to subdivisions of this documentation for specific implementations of the framework.
...
language | xml |
---|---|
title | Enabling framework |
...
framework is used by both the REST API and User Interface to help enhance or enrich submissions. See also Importing Items via basic bibliographic formats (Endnote, BibTex, RIS, TSV, CSV) and online services (OAI, arXiv, PubMed, CrossRef, CiNii)
Features
- lookup publications from remote sources
- Support for multiple implementations
...
The framework produces an 'ImportRecord' that is completely decoupled from DSpace. It contains a set of metadata DTO's that contain the notion of schema,element and qualifier. The specific implementation is responsible for populating this set. It is then very simple to create a DSpace item from this list.
Relation with BTE
While there is some overlap between this framework and BTE, this framework supports some features that are hard to implement using the BTE. It has explicit support to deal with network failure and throttling imposed by the data source. It also has explicit support for distinguishing between network caused errors and invalid requests to the source. Furthermore the framework doesn't impose any restrictions on the format in which the data is retrieved. It uses java generics to support different source record types. A reference implementation of using XML records is provided for which a set of metadata can be generated from any xpath expression (or composite of xpath expressions). Unless 'advanced' processing is necessary (e.g. lookup of authors in an LDAP directory) this metadata mapping can be simply configured using spring. No code changes necessary. A mixture of advanced and simple (xpath) mapping is also possible.
This design is also in line with the roadmap to create a Modular Framework as detailed in https://wiki.duraspace.org/display/DSPACE/Design+-+Module+Framework+and+Registry This modular design also allows it to be completely independent of the user interface layer, be it JSPUI, XMLUI, command line or the result of the new UI projects: https://wiki.duraspace.org/display/DSPACE/Design+-+Single+UI+Project
Implementation of an import source
...
Note that the single field mappings used for the combined author mapping are not added to this list.
Framework Sources Implementations
PubMed Integration
Introduction
First read the base documentation on external importing This documentation explains the implementation of the importer framework using PubMed (http://www.ncbi.nlm.nih.gov/pubmed) as an example.
Enabling PubMed Lookup (XMLUI Only)
[dspace.dir]/config/item-submission.xml.
Uncommenting this step will permit the user to do the PubMed based lookups during their submission.Code Block | ||
---|---|---|
| ||
<!-- Find publications based on ID/DOI/Title/Author to pre-fill the submission. XMLUI ONLY.
For JSPUI version, see JSPUIStartSubmissionLookupStep under <step-definitions> above.
<step>
<heading>submit.progressbar.lookup</heading>
<processing-class>org.dspace.submit.step.XMLUIStartSubmissionLookupStep</processing-class>
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.StartSubmissionLookupStep</xmlui-binding>
<workflow-editable>true</workflow-editable>
</step>
--> |
.
Publication Lookup URL
To be able to do the lookup for our configured import-service, we need to be able to know what URL to use to check for publications. This URL the publication-lookup.url
setting defined within the [dspace.dir]/config/modules/publication-lookup.cfg
. You may choose to modify this setting or override it within your local.cfg.
This setting can be modified in one of two ways:
- You can choose to specific a single, specific URL. This will tell the lookup service to only use one location to lookup publication information. Valid URLs are any that are defined as a
baseAddress
for beans within the[src]/dspace-api/src/main/resources/spring/spring-dspace-addon-import-services.xml
Spring config file.- For example, this setting will ONLY use PubMed for lookups:
publication-lookup.url=http://eutils.ncbi.nlm.nih.gov/entrez/eutils/
- For example, this setting will ONLY use PubMed for lookups:
- By default,
publication-lookup.url
is set to an asterisk ('*'). This default value will attempt to lookup the publication using ALL configured importServices in the[src]/dspace-api/src/main/resources/spring/spring-dspace-addon-import-services.xml
Spring config file
PubMed Metadata Mapping
The PubMed metadata mappings are defined in the [dspace.dir]/config/spring/api/pubmed-integration.xml
Spring configuration file. These metadata mappings can be tweaked as desired. The format of this file is described in the "Metadata mapping" section above
PubMed specific classes Config
These classes are simply implementations based of the base classes defined in importer/external. They add characteristic behavior for services/mapping for the PubMed specific data.
Metadata mapping classes
- "PubmedFieldMapping". An implementation of AbstractMetadataFieldMapping, linking to the bean that serves as the entry point of other metadata mapping
- "PubmedDateMetadatumContributor"/"PubmedLanguageMetadatumContributor". Pubmed specific implementations of the "MetadataContributor" interface
Service classes
...