Archived / Obsolete Documentation

Documentation in this space is no longer accurate.
Looking for official DSpace documentation? See all documentation

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Introduction

The contribution referenced at https://jira.duraspace.org/browse/DS-2877 contains search features for the submission system, allowing submitters to search ScienceDirect and retrieve metadata, abstracts, DOI-links and embargo metadata on the article level. This integration is based on the framework from https://jira.duraspace.org/browse/DS-2876.
In addition to the search and retrieval per article, a similar feature is available for a batch import of multiple ScienceDirect records at once.

A new embargo based file upload step has been created. If the item can be found in ScienceDirect, the default value (public, restricted or under embargo) of the permission is determined automatically, but can of course still be adjusted where needed.

Items with a ScienceDirect identifier will contain a link to the ScienceDirect page for the item. If the current user has access to the record in ScienceDirect, this will also be indicated in the URL and displayed to the user (to ensure the user won't need to open the page to verify if they have full-text access).

Items with a ScienceDirect identifier can include a link to an embedded article PDF, downloaded directly from ScienceDirect. This is an optional feature of this program.

All of the above features can of course be enabled or disabled easily, to ensure only the relevant features are displayed.

API keys can be obtained from integrationsupport@elsevier.com after acceptance of the terms and conditions of the program (no cost applicable).

Enabling or Disabling the features

Live import

The live import should be enabled in the dspace/config/item-submission.xml. The step below should be included prior to the Describe metadata steps:

<step>
<heading>submit.progressbar.liveimport</heading>
<processing-class>com.atmire.submit.step.LiveImportStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPStartSubmissionLookupStep</jspui-binding>
<xmlui-binding>com.atmire.app.xmlui.aspect.submission.submit.LiveImportStep</xmlui-binding>
<workflow-editable>true</workflow-editable>
</step>

File permissions in the upload step

The automatic suggestion of the file permissions should be enabled in the dspace/config/item-submission.xml. The step below should replace the default upload step:

<step>
<heading>submit.progressbar.upload</heading>
<processing-class>com.atmire.dspace.submit.step.ElsevierUploadStep</processing-class>
<xmlui-binding>com.atmire.dspace.app.xmlui.aspect.submission.submit.ElsevierUploadStep</xmlui-binding>
<workflow-editable>true</workflow-editable>
</step>

Link to the ScienceDirect page

The display of the link to the ScienceDirect page can be enabled in the theme. The automatic verification whether the user is entitled to download the file can be enabled in dspace/config/modules/elsevier-sciencedirect.cfg using the parameter:

entitlement.check.enabled

Embedding the article PDF

The display of the embedded article PDF can be enabled in dspace/config/modules/elsevier-sciencedirect.cfg using the parameter:

embed.display

Plugin for the Search API

Configuration

The basic API configuration can be found in file dspace/config/modules/elsevier-sciencedirect.cfg. This file contains the API key and the API urls.

 

api.key = 7f8c0…
api.article.url=http://api.elsevier.com/content/article
api.entitlement.url=http://api.elsevier.com/content/article/entitlement
api.scidir.url=http://api.elsevier.com/content/search/scidir

Mapping

The file dspace/config/spring/api/scidir-service.xml contains the spring configuration for the beans used by the Elsevier service.

Part of this configuration is the mapping of Science Direct fields to dspace metadata fields.

Configuring the mapping

Each DSpace metadata field that will be used for the mapping must first be configured as a spring bean of class com.atmire.import_citations.configuration.metadatamapping.MetadataField.

<bean id="dc.title" class="com.atmire.import_citations.configuration.metadatamapping.MetadataField">
<constructor-arg value="dc.title"/>
</bean>

Hereafter this metadata field can be used to create a mapping. To add a mapping for the "dc.title" field declared above, a new spring bean configuration of class com.atmire.import_citations.configuration.metadatamapping.SimpleXpathMetadatumContributor needs to be added. This bean expects 2 property values:

 

  • field: A reference to the configured spring bean of the DSpace metadata field. e.g. the "dc.title" bean declared above.
  • query: The xpath expression used to select the Elsevier value from the XML returned by the Elsevier API. The root for the xpath query is the "entry" element.

 

<bean id="titleContrib" class="com.atmire.import_citations.configuration.metadatamapping.SimpleXpathMetadatumContributor">
<property name="field" ref="dc.title"/>
<property name="query" value="dc:title"/>
</bean>

This is a (shortened) example of the XML of an entry returned by the elsevier API:

<entry>
<dc:title>
Integrating phenotypic small-molecule profiling and human genetics: the next phase in drug discovery
</dc:title>
<authors>
<author>
<given-name>Cory M.</given-name>
<surname>Johannessen</surname>
</author>
</authors>
</entry>

Because the given-name and surname of an author are contained in one metadata field value in DSpace, multiple Elsevier fields can also be combined into one value. To implement a combined mapping first create a "SimpleXpathMetadatumContributor" as explained above for each part of the field.

<bean id="lastNameContrib" class="com.atmire.import_citations.configuration.metadatamapping.SimpleXpathMetadatumContributor">
<property name="field" ref="dc.contributor.author"/>
<property name="query" value="x:authors/x:author/x:surname"/>
</bean>
<bean id="firstNameContrib" class="com.atmire.import_citations.configuration.metadatamapping.SimpleXpathMetadatumContributor">
<property name="field" ref="dc.contributor.author"/>
<property name="query" value="x:authors/x:author/x:given-name"/>
</bean>

Note that for elements without namespace, namespace "x" is appended. This is the default namespace. The namespace configuration can be found in map "FullprefixMapping" in the same spring configuration file.

Then create a new list in the spring configuration containing references to all "SimpleXpathMetadatumContributor" beans that need to be combined.

<util:list id="combinedauthorList" value-type="com.atmire.import_citations.configuration.metadatamapping.MetadataContributor" list-class="java.util.LinkedList">
<ref bean="lastNameContrib"/>
<ref bean="firstNameContrib"/>
</util:list>

Finally create a spring bean configuration of class com.atmire.import_citations.configuration.metadatamapping.CombinedMetadatumContributor. This bean expects 3 values:

  • field: A reference to the configured spring bean of the DSpace metadata field. e.g. the "dc.title" bean declared above.
  • metadatumContributors: A reference to the list containing all the single Elsevier field mappings that need to be combined. 
  • separator: These characters will be added between each Elsevier field value when they are combined into one field.

 

<bean id="authorContrib" class="com.atmire.import_citations.configuration.metadatamapping.CombinedMetadatumContributor">
<property name="separator" value=", "/>
<property name="metadatumContributors" ref="combinedauthorList"/>
<property name="field" ref="dc.contributor.author"/>
</bean>

Each contributor must also be added to the "scidirMetadataFieldMap" map in the same spring configuration file. Each entry of this map maps a metadata field bean to a contributor. For the contributors created above this results in the following configuration:

<util:map id="scidirMetadataFieldMap" key-type="com.atmire.import_citations.MetadataField"
value-type="com.atmire.import_citations.MetadataContributor">
<entry key-ref="dc.title" value-ref="titleContrib"/>
<entry key-ref="dc.contributor.author" value-ref="authorContrib"/>
</util:map>

Note that the single field mappings used for the combined author mapping are not added to this list.

Live import

The first submission step is the Elsevier import step. This step allows the user to import a publication from Elsevier.

This step can be skipped by clicking on "Next" at the bottom of the page without importing a publication.

To search for a publication to import fill in at least one of the 4 search fields and click on "Search". A new window will appear containing the search results. To import a publication click on the "Import" button next to it.

Publications that are already imported are shown with a gray background.

When the publication is imported its title and authors are shown at the bottom of the Elsevier import step:

Note that importing a publication removes any fields that were already added to the item.

Configuration

To enable the Elsevier import step add the step to the submission-process in dspace/config/item-submission.xml.

<step>
<heading>submit.progressbar.liveimport</heading>
<processing-class>com.atmire.submit.step.LiveImportStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPStartSubmissionLookupStep</jspui-binding>
<xmlui-binding>com.atmire.app.xmlui.aspect.submission.submit.LiveImportStep</xmlui-binding>
<workflow-editable>true</workflow-editable>
</step>

Batch import

Import multiple publications from Elsevier using the batch import.

The batch import page can be found by clicking on "Elsevier Import" in the administrative menu, or by browsing to {dspace-url}/liveimport.

Start by filling in at least one of the 4 search fields to query the Elsevier API for publications, then click on "Search".

A list of the publications returned by the Elsevier API will be shown. Next to each publication is a checkbox which can be clicked to select the publication for import. Under the publications list a counter shows how many publications are already selected for import. This counter is updated each time the user browses through the publications.

When "Next" is clicked the user is taken to the import page. At the top of this page all publications that are selected for import are listed.

One of the "Select action" options must be chosen to specify what will happen to the imported items:

  • Send imported items to workspace: The items are added to the users "Unfinished submissions" on the submission page.
  • Send imported items to workflow: The items are added to the workflow to be reviewed by the reviewers of the collection the item is added to. 
  • Archive imported items: The items are archived immediately.

A collection to which the items are added must be selected from the "Select collection" dropdown. Click on "Import" to start the import.

File Upload Step

The file upload step has been altered to allow people to select the accessibility of files, it can be restricted from users, placed under embargo so it's not available until a specified date, or simply be made regularly available.

Plugin for the Entitlements check

The check for entitlement can be configured in the ${dspace.dir}/config/modules/elsevier-sciencedirect.cfg.

 

api.key = 7f8c0…
api.article.url=http://api.elsevier.com/content/article
api.entitlement.url=http://api.elsevier.com/content/article/entitlement
api.scidir.url=http://api.elsevier.com/content/search/scidir
entitlement.check.enabled=true
metadata.field.pii = elsevier.identifier.pii
metadata.field.doi = dc.identifier

This check is used to determine if the user should be allowed to view the published version of the document.

If the document is accessible then the user will be able to view it embedded in the browser (see "Embedding of the PDFs").

If the document is not accessible then the user will be redirected to the document page on elsevier so he can view what the access options are.

* If the DOI starts with 'DOI:', then that part will be parsed off.

Embedding of the PDFs

The PDF is collected via the pii and shown in an embedded reader.

Can be defined in the ${dspace.dir}/config/modules/elsevier-sciencedirect.cfg:

embed.display=true
embed.display.width=700
embed.display.height=500

If width or height are set to '0', they default to the values shown here (700 and 500 respectively).

Apart from the settings mentioned above, the embed also requires the api key from the entitlement config (mentioned above).

A link is shown on the item page which links to a page with an embedded PDF viewer (from the browser).

For Mirage based themes the position of the link to the publisher version of the document can be configured in ${dspace.dir}/config/modules/elsevier-sciencedirect.cfg.

Set "embed.link.position" to "top" to render the link above the file section, or set it to "bottom" to render the link under the file section.

embed.link.position = top



  • No labels